Philip Okugbe
18b5781522
feat(API): page content update and retrieval ( #1937 )
...
* feat: page content update and retrieval output
* import module
* refactor naming
* support prepend
* rename contentOperation -> operation
* dry
* add yjs utils
2026-02-12 11:13:47 -08:00
Philipinho
49ab9875ba
fix tiptap version conflicts
2026-02-11 22:47:25 -08:00
Philipinho
25f4b8c2b4
fix
2026-02-11 17:47:30 -08:00
Philipinho
4d43f86c51
update deps
2026-02-11 17:43:13 -08:00
Philip Okugbe
f170ede8da
fix(deps): override packages ( #1936 )
...
* override packages
2026-02-11 16:48:26 -08:00
Philipinho
7861b5b186
fix: add RedisModule to CollabAppModule
v0.25.3
2026-02-09 18:50:31 -08:00
Philipinho
3a9bdfbb06
fix(deps): update vite and nx
2026-02-09 18:32:09 -08:00
Philipinho
ab7999a946
v0.25.3
2026-02-09 18:27:55 -08:00
Philip Okugbe
0f02261ee6
feat: page version history improvements ( #1925 )
...
* Refactor: use queue for page history
* feat: save multiple version contributors
* display contributor avatars in history list
* fix interval
2026-02-09 18:25:35 -08:00
Philip Okugbe
aff8dba2cb
fix: diagrams SVG content length ( #1928 )
2026-02-09 18:20:09 -08:00
Olivier Lambert
f6a8247c48
fix: cursor jumps to end of text when editing a comment ( #1924 )
...
* fix: cursor jumps to end of text when editing a comment
When editing a comment mid-text, the cursor would jump to the end after
every keystroke, making it impossible to insert text at any position
other than the end.
Root cause: on each keystroke, the comment editor's onUpdate callback
updated parent state (setContent), which changed the defaultContent prop
passed back to CommentEditor. A useEffect watching defaultContent then
called commentEditor.commands.setContent(), which reset the entire
editor content and moved the cursor to the end.
Fix:
- Store in-progress edits in a ref instead of state to avoid triggering
React re-renders and the prop->effect->setContent cascade
- Read from the ref when saving the comment
- Sync the ref back into state after a successful save so the read-only
view updates immediately
- Guard the setContent useEffect to only run for read-only editors, so
websocket-driven updates from other browsers still work
Fixes #1791
Functionally tested on Firefox and Chrome: mid-text editing, saving,
cross-browser live updates via websocket.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix stale content on edit cancel
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2026-02-09 15:16:40 -08:00
Philip Okugbe
7879e1f600
fix: add execCommand fallback for clipboard ( #1927 )
...
* fix: add execCommand fallback for clipboard
2026-02-09 14:44:27 -08:00
Philip Okugbe
3cb70f0696
New translations translation.json (German) ( #1915 )
v0.25.2
2026-02-06 11:37:33 -08:00
Philipinho
fbb44df548
v0.25.2
2026-02-06 11:32:00 -08:00
Philip Okugbe
bc3ce893c4
New Crowdin updates ( #1914 )
...
* New translations translation.json (Japanese)
* New translations translation.json (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Korean)
* New translations translation.json (Dutch)
* New translations translation.json (Russian)
* New translations translation.json (Ukrainian)
* New translations translation.json (Chinese Simplified)
* New translations translation.json (Portuguese, Brazilian)
* New translations translation.json (Japanese)
* New translations translation.json (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Korean)
* New translations translation.json (Dutch)
* New translations translation.json (Russian)
* New translations translation.json (Ukrainian)
* New translations translation.json (Chinese Simplified)
* New translations translation.json (Portuguese, Brazilian)
2026-02-06 11:31:12 -08:00
Philipinho
ae96352189
sync
2026-02-06 10:37:51 -08:00
Philip Okugbe
1ad53c2581
feat(ee): public sharing controls ( #1910 )
...
* feat(ee): public sharing controls
* lint
2026-02-06 10:35:36 -08:00
Philip Okugbe
2f97a3debc
feat: DOCX import ( #1913 )
2026-02-06 10:34:51 -08:00
Philipinho
40b5346f9e
cleanup redundant param
2026-02-06 10:28:52 -08:00
Philipinho
d6b4573b79
update compose services versions
2026-02-06 10:27:34 -08:00
Philip Okugbe
4878850b25
fix: attachment bugs in safari( #1908 )
...
* use widely available arrayBuffer
* fix stream fails in safari
* fix hasFocus bug
* fix safari upload bug
* feat: add HTTP range request support for file serving
2026-02-05 07:47:03 -08:00
Philip Okugbe
5c3942c159
fix safari print ( #1907 )
2026-02-04 08:26:03 -08:00
Philipinho
e0809e7104
v0.25.1
v0.25.1
2026-02-04 07:10:13 -08:00
Philipinho
da6793ac87
downgrade tiptap version (fix menu)
2026-02-04 07:09:48 -08:00
Philip Okugbe
08e94eb3c1
update dependencies ( #1902 )
v0.25.0
2026-02-03 15:15:23 -08:00
Philipinho
5a14186f1c
fix global diff css
2026-02-03 13:47:56 -08:00
Philipinho
6a0bb8d4cb
v0.25.0
2026-02-03 13:18:03 -08:00
Philip Okugbe
fba9f4cb2b
New Crowdin updates ( #1896 )
...
* New translations translation.json (Japanese)
* New translations translation.json (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Korean)
* New translations translation.json (Dutch)
* New translations translation.json (Russian)
* New translations translation.json (Ukrainian)
* New translations translation.json (Chinese Simplified)
* New translations translation.json (Portuguese, Brazilian)
* New translations translation.json (Japanese)
* New translations translation.json (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Korean)
* New translations translation.json (Dutch)
* New translations translation.json (Russian)
* New translations translation.json (Ukrainian)
* New translations translation.json (Chinese Simplified)
* New translations translation.json (English)
* New translations translation.json (Portuguese, Brazilian)
* New translations translation.json (Japanese)
* New translations translation.json (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Korean)
* New translations translation.json (Dutch)
* New translations translation.json (Russian)
* New translations translation.json (Ukrainian)
* New translations translation.json (Chinese Simplified)
* New translations translation.json (English)
* New translations translation.json (Portuguese, Brazilian)
* New translations translation.json (Japanese)
* New translations translation.json (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Korean)
* New translations translation.json (Dutch)
* New translations translation.json (Russian)
* New translations translation.json (Ukrainian)
* New translations translation.json (Chinese Simplified)
* New translations translation.json (Portuguese, Brazilian)
2026-02-03 13:16:27 -08:00
Philipinho
d8f7c4a822
cleanup
2026-02-03 13:12:39 -08:00
Philipinho
202685b39f
fix translation
2026-02-03 13:09:56 -08:00
Philip Okugbe
fc4a428208
fix(deps): update dependencies ( #1898 )
2026-02-03 13:04:00 -08:00
Philip Okugbe
5506eb194b
feat: page history diff ( #1891 )
...
* Show actual history changes
* V2 - WIP
* feat: page history diff
* fix: exclude content from history listing
---------
Co-authored-by: Jason Norwood-Young <jason@10layer.com >
2026-02-03 11:55:20 -08:00
Philipinho
f32bb298e0
v0.25.0-beta.1
v0.25.0-beta.1
2026-01-30 23:09:01 +00:00
Pleasure1234
3178cad796
fix: handle empty replace term in search and replace functionality ( #1562 )
...
- Fix 'Empty text nodes are not allowed' error when replace field is empty
- Update both replace() and replaceAll() functions to check for empty replaceTerm
2026-01-30 22:37:22 +00:00
Philipinho
9d7f8c62c5
sync
2026-01-30 22:31:49 +00:00
Philip Okugbe
78b1c1a453
feat: switch to cursor pagination ( #1884 )
...
* add cursor pagination function
* support custom order modifier
* refactor returned object
* feat(db): migrate paginated endpoints to cursor-based pagination
* sync
* support hasPrevPage boolean
* feat(client): migrate pagination from offset to cursor-based
* support beforeCursor/prevCursor
* wrap search results in items array for API consistency
2026-01-30 19:28:54 +00:00
Philip Okugbe
96ed98619f
feat: add IPv6 support via configurable HOST binding ( #1885 )
2026-01-30 00:33:10 +00:00
Philip Okugbe
60501de992
fix: missing logs on OnApplicationBootstrap hook ( #1882 )
...
* - fix: set default Nest logger and bufferLogs to false for pino compatibility
- handle redis error event
* fix collab server logging too
2026-01-29 09:25:23 +00:00
Philip Okugbe
74e915546b
feat: collab redis extension with server affinity ( #1873 )
...
* feat(collab): better redis extension
* move types to own file
* debug logging
* fix: graceful collab shutdown
* rename default prefix
* pass wsAdapter to gateway
* expose event handler
* unique collab serverId generation
* uninstall @hocuspocus/extension-redis package
* expose more functions
* sync with latest
* cleanup
* fastify router options
* cleanup type
2026-01-27 17:05:05 +00:00
Philipinho
3523600f40
add timestamps
2026-01-27 16:49:22 +00:00
Philip Okugbe
6ccb2bb872
feat(export): add metadata file to preserve page icons and ordering on import ( #1877 )
...
* feat(export): add metadata file to preserve page icons and ordering on import
- Export includes `docmost-metadata.json`
- Import reads metadata to restore icons and sort siblings by original position
* cleanup
* bonus fixes
* handle unknown prosemirror nodes
* add docmost app version
2026-01-27 16:39:39 +00:00
Philipinho
0245a183e1
sync
2026-01-26 02:08:54 +00:00
Philip Okugbe
de5f71894a
New Crowdin updates ( #1869 )
...
* New translations translation.json (Japanese)
* New translations translation.json (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Korean)
* New translations translation.json (Dutch)
* New translations translation.json (Russian)
* New translations translation.json (Ukrainian)
* New translations translation.json (Chinese Simplified)
* New translations translation.json (Portuguese, Brazilian)
2026-01-25 12:39:19 +00:00
Philip Okugbe
351b075ebb
fix(tree): update sidebar-pages cache directly instead of refetching on page move ( #1870 )
2026-01-25 12:38:44 +00:00
Philipinho
1ca7d42203
fix switch space toggle
2026-01-25 02:49:25 +00:00
Philipinho
1e441560f6
fix production logs filter
2026-01-25 02:15:10 +00:00
Philip Okugbe
54775f537d
fix: handle malformed URLs gracefully during import/export ( #1868 )
...
* Handling malformed URLs gracefully
* Allow import of invalid URLs, but adding logging.
---------
Co-authored-by: gpapp <gergely.papp@itworks.hu >
2026-01-25 00:48:43 +00:00
Philipinho
5dbf0027bd
Add isomorphic basename utility
2026-01-25 00:08:02 +00:00
Philip Okugbe
5588ec34fb
New Crowdin updates ( #1866 )
...
* New translations translation.json (Japanese)
* New translations translation.json (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Korean)
* New translations translation.json (Dutch)
* New translations translation.json (Russian)
* New translations translation.json (Ukrainian)
* New translations translation.json (Chinese Simplified)
* New translations translation.json (Portuguese, Brazilian)
* New translations translation.json (Japanese)
* New translations translation.json (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Korean)
* New translations translation.json (Dutch)
* New translations translation.json (Russian)
* New translations translation.json (Ukrainian)
* New translations translation.json (Chinese Simplified)
* New translations translation.json (English)
* New translations translation.json (Portuguese, Brazilian)
2026-01-25 00:04:50 +00:00
Philipinho
55b8128829
Fix Google sheets regex
2026-01-24 23:35:04 +00:00