Commit graph

1120 commits

Author SHA1 Message Date
Philipinho
214a73b6a0 refactor: rename MCP oauth-only setting to enforceMcpOauth 2026-08-26 13:45:28 +01:00
Philipinho
278d318771 sync 2026-08-26 12:56:15 +01:00
Philip Okugbe
e56de8eb6c
feat(ee): MCP OAuth (#2432)
* feat: mcp oauth

* fix: small refactor

* fix: cleanup consent
2026-08-26 12:55:30 +01:00
Salihu
bda802e5df
convert only bare links to embeds (#2424) 2026-08-26 12:53:36 +01:00
Philip Okugbe
b29e130f26
fix: enhance lightbox (#2429)
* fix: close on click outside; smaller icon size

* fix: make ALT more visible
2026-08-26 02:24:02 +01:00
Philip Okugbe
56474e5b70
fix: remove client compression script (#2428) 2026-08-25 17:31:49 +01:00
Philipinho
83d7ee4460 chore: pnpm minor version 2026-08-25 04:34:11 +01:00
Philipinho
fc90fbd8c0 chore: update pnpm 2026-08-25 04:31:23 +01:00
Philip Okugbe
a0ec93506c
chore: compress and lazy load client code (#2425) 2026-08-25 03:29:56 +01:00
Philipinho
a415b86193 fix: clean up unaccent usage in index 2026-08-25 03:28:59 +01:00
Philipinho
702f8b7a41 fix: local editor cache 2026-08-25 02:54:38 +01:00
Salihu
95cef61927
fix: rework filtering behaviour (#2413)
* rework filtering behaviour

* fix classification bug
2026-08-25 02:52:24 +01:00
Salihu
7bd73f77a4
feat: lightbox media display (#2420)
* lightbox media display init

* revert uninteded changes

* load page media more accurately

* restrict lock file changes to installed packages

* revert changes in lock file

* update lockfile

* - support diagrams
- support readonly mode
- use softer backdrop
- other enhancments

---------

Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com>
2026-08-25 02:43:19 +01:00
Salihu
3a25336d3d
fix: display subpages correctly on first load (#2423) 2026-08-25 01:39:55 +01:00
Salihu
917195b2f2
feat: enhanced search filters (#2398)
* advanced search filters

* improve labelId filtering in query

* index label ids on typesense

* index label ids on typesense

* filters on AI search

* refactor: detect typesense schema drift from the declared collection schema

* feat: show secondary search filters only when applied

Created by and Labels now stay hidden until they hold a value; a Filter
button at the right end of the bar lists the hidden ones and opens the
picked filter's dropdown immediately.

* fix: keep applied search filters in the order they were added

* feat: add title-only search mode

Adds a titleOnly flag to page search: the Postgres driver matches
titles via trigram-indexed unaccented LIKE ranked by word_similarity,
and a Match filter in the search spotlight switches between everything
and title-only matching.

* refactor: make title-only search a toggle chip

* fix: drop stale results when the search content type changes

* feat: add trigram index on attachment file names

* feat: extend title-only search to attachments

The titleOnly flag now matches attachment file names via the
separator-normalized trigram expression, and the toggle chip stays
available in attachment mode as File name only.

* refactor: keep the title-only label uniform across search modes

* feat: index txt attachments for content search

* feat: pin the current user at the top of the creator filter

* refactor: dim the you suffix in the creator filter

* feat: browse label-filtered pages without a query

Selecting labels now lists their pages newest-first before any text is
typed, on both the Postgres and Typesense drivers.

* fix: match any selected label instead of requiring all

* fix: use a gray spotlight selection instead of primary blue

* feat: include search results in the spotlight tab order

* feat: show last updated time on search results

* fix: stop empty-state flicker while the search query debounces

* feat: browse creator-filtered results without a query

Selecting a creator with an empty query now lists their pages (or
attachments in attachment mode) newest-first, with the same space and
page permission filtering as typed search.

* fix: show Untitled for pages without a title in search results

* quick page sharing fix

* minor search filter fixes

---------

Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com>
2026-08-25 01:39:33 +01:00
Philip Okugbe
cd597f0161
chore: remove unused npm modules in Docke build (#2422) 2026-08-24 20:32:50 +01:00
Philip Okugbe
b7f0b063dc
feat(ee): add enterprise ai chat controls (#2421)
* feat(ee): add enterprise ai chat controls

* feat: add comment listing tool to ai chat

* fix: scope comment endpoints to workspace and skip trashed pages
2026-08-24 20:29:21 +01:00
Salihu
cd9c166927
Merge pull request #2417 from docmost/fix/checkbox-filtering
fix(ee): checkbox filtering
2026-08-23 21:21:02 +01:00
Philip Okugbe
549cf7c005
fix: skip pgvector table check when enabling AI search on turbopuffer (#2416) 2026-08-22 13:20:35 +01:00
Philip Okugbe
e14f499f3d
fix: pass tls to redis in throttle module (#2415) 2026-08-22 03:46:00 +01:00
Salihu
b814bd0f12 fix: checkbox filtering 2026-08-21 19:29:10 +01:00
Salihu
b86abd3d40 Revert "fix: checkbox filtering"
This reverts commit 3b858746e3.
2026-08-21 19:23:48 +01:00
Salihu
3b858746e3 fix: checkbox filtering 2026-08-21 19:21:14 +01:00
Philipinho
66b424a3b8 fix: preserve hash in vimeo embed url 2026-08-20 22:25:45 +01:00
Philipinho
ab43031375 fix race issue 2026-08-19 21:46:01 +01:00
Michael Lohr
8c2c49ea6d
fix: handle empty password, missing port, and TLS in Redis URL parsing (#2021)
* fix: handle empty password, missing port, and TLS in Redis URL parsing
---------

Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com>
2026-08-19 21:05:44 +01:00
Philip Okugbe
8913d20aa0
chore: package updates (#2412) 2026-08-19 19:59:00 +01:00
Philip Okugbe
232beda471
feat(ee): turbopuffer ai vector search driver (#2402)
* feat(ai): add AI_VECTOR_DRIVER and turbopuffer configuration

* feat(ai): carry workspace and target space ids on vector lifecycle events

* feat(ai): add vector driver interface and turbopuffer request helpers

* feat(ai): add pgvector driver behind the vector driver interface

* refactor(ai): route vector reads and writes through the vector driver

* feat(ai): add turbopuffer vector driver

* feat(ai): rebuild turbopuffer namespaces when the embedding model changes

* feat(ai): warm the vector namespace cache on session start

* fix(ai): harden turbopuffer misconfiguration and reset failure paths

* fix(ai): collapse blank-line runs in extracted page text

* fix(ai): skip full re-embed when ai search is re-enabled within the delete grace window

* sync

* fix(ai): store real embedding dimensions instead of serialized vector length

* fix(ai): filter search hits by the page's current space at query time

* fix(ai): retry the page moved-to-space vector patch job

* sync

* feat(ai): pre-warm the vector namespace

* fix(ai): pass AI_VECTOR_DRIVER through the client build config
2026-08-17 21:18:16 +01:00
Philip Okugbe
911c1057d6
feat(server): add global encryption module (AES-256-GCM) (#2400)
Provides an injectable EncryptionService that encrypts/decrypts strings
with AES-256-GCM using a key derived from APP_SECRET with domain
separation.
2026-08-16 12:35:37 +01:00
Philipinho
d136864ef1 sync 2026-08-16 11:46:50 +01:00
Philip Okugbe
c093c18bf3
fix(client): keep space switcher dropdown inside its popover (#2392) 2026-08-14 02:08:28 +01:00
Philip Okugbe
ea59912c7e
feat(editor): auto-detect text direction for RTL support (#2389) 2026-08-12 23:48:03 +01:00
Philipinho
db3ff54da1 fix base node 2026-08-12 16:47:32 +01:00
Philip Okugbe
9414a38215
feat: page attachments endpoint and modal (#2386)
* feat: page attachments endpoint

* feat: attachments modal
2026-08-12 14:04:33 +01:00
Philipinho
089286f6cf fix: delete pnpm cache 2026-08-12 12:33:34 +01:00
Philip Okugbe
737cd67965
feat: compare two page versions (#2385) 2026-08-12 12:31:02 +01:00
Philip Okugbe
a0b2ac6ae3
feat: footnotes (#2384)
* feat: footnotes

* feat: proper DOCX support
2026-08-12 12:30:30 +01:00
Philip Okugbe
7439da2f6e
chore: package updates (#2383)
* update

* update versions

* package updates
2026-08-10 17:56:12 +01:00
Philip Okugbe
305fd40686
fix: browser tab showing url instead of page title (#2382) 2026-08-10 17:38:03 +01:00
Philipinho
4bd51d7404 fix: self-reference parent page 2026-08-10 17:37:12 +01:00
Philip Okugbe
89378ee766
chore: package updates (#2378)
* chore: package updates

* remove stale overrides
2026-08-06 23:41:36 +01:00
Philip Okugbe
56ac42767a
fix: stale placeholder decorations on empty paragraphs (#2374) 2026-08-02 21:07:50 +01:00
Philipinho
38380211a5 fix: dedupe duplicate packages 2026-08-01 11:57:05 +01:00
Philip Okugbe
cd34594b5d
fix: placeholder bug (#2373)
* fix placeholder check

* tiptap v3.29.2

* add s3 max socket env
2026-08-01 11:45:25 +01:00
Philip Okugbe
70d2ff8685
fix: increase s3 client max socket limit (#2355) 2026-07-21 22:59:25 +01:00
Philipinho
0ba2d78660 chore: update pnpm and axios 2026-07-20 20:46:02 +01:00
Philip Okugbe
3ed505d2be
fix: toolbar flicker on navigation (#2352) 2026-07-20 20:36:03 +01:00
Philip Okugbe
a55057db37
feat: collab hocuspocus v4 upgrade (#2351)
* WIP 1

* complete v4 migration

* add flushDelay

* feat: multiplexing

* fix: survive hocuspocus v4 message timeout

* fix: searchTerm type error
2026-07-20 20:34:09 +01:00
Philip Okugbe
ce8fbb86ff
chore: upgrade to node 26 and pnpm 11 (#2342)
* chore: pnpm 11

* chore: set minimum age and allowedBuilds

* Node 26; pnpm 11

* prod package overrides

* dev package overides

* cleanup
2026-07-20 19:44:51 +01:00
Philipinho
e28df6ad88 fix 2026-07-04 14:11:44 +01:00