Philipinho
568dd4c321
fix headings
2026-03-03 14:17:51 +00:00
Philip Okugbe
5d2aad3668
New Crowdin updates ( #1978 )
...
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Japanese)
* 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 (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Japanese)
* 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 (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Japanese)
* 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 (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Japanese)
* 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 (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Japanese)
* 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 (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Japanese)
* 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 (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Japanese)
* 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 (French)
2026-03-03 00:22:51 +00:00
Philipinho
9331ac2df8
v0.70.0
2026-03-03 00:13:01 +00:00
Philipinho
9f4728e279
fix
2026-03-03 00:08:20 +00:00
Philipinho
628b08339a
UI tweaks
2026-03-02 22:56:05 +00:00
Philipinho
68842dbea2
comments view
2026-03-02 22:18:57 +00:00
Philipinho
b1510cd6d7
fix
2026-03-02 22:09:57 +00:00
Philipinho
90c190df78
fix: space members view enhancement
2026-03-02 21:33:15 +00:00
Philipinho
9881c53f00
feat: spaces and groups search
2026-03-02 20:40:38 +00:00
Philipinho
721651e2e2
feat: user deactivation
2026-03-02 19:05:10 +00:00
Philip Okugbe
a3fd79dae8
fix: spreadsheets paste ( #1982 )
2026-03-02 17:37:56 +00:00
Philipinho
ee6b98edaa
* enhance ai menu
...
* remove api prefix from mcp
2026-03-02 03:31:52 +00:00
Philipinho
cf43e2b4fe
feat: enhance embed resizer
2026-03-02 02:45:13 +00:00
Philipinho
614baf153b
fix: show resize handle if node is selected
2026-03-02 01:57:06 +00:00
Philip Okugbe
4f3577f009
feat: enhance comments ( #1980 )
...
* feat: non-inline comments support
* enhance comments
* fix types
2026-03-02 01:42:25 +00:00
Philipinho
d5e4b8bb59
fix ui
2026-03-01 20:58:04 +00:00
Philipinho
1a897faaa2
exclude events
2026-03-01 19:13:56 +00:00
Philip Okugbe
60848ea903
feat(ee): mcp ( #1976 )
...
* feat: MCP
* sync
* sync
2026-03-01 18:37:39 +00:00
Philip Okugbe
2309d1434b
feat: support cross-space page mentions ( #1979 )
2026-03-01 17:14:10 +00:00
Philip Okugbe
69d7532c6c
feat(ee): audit logs ( #1977 )
...
feat: clickhouse driver
* sync
* updates
2026-03-01 01:29:03 +00:00
Philip Okugbe
85ce0d32bf
New Crowdin updates ( #1960 )
...
* New translations translation.json (Russian)
* New translations translation.json (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Japanese)
* 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 (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Japanese)
* 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 (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Japanese)
* 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 (Dutch)
* New translations translation.json (Dutch)
* New translations translation.json (French)
* New translations translation.json (Spanish)
* New translations translation.json (German)
* New translations translation.json (Italian)
* New translations translation.json (Japanese)
* New translations translation.json (Korean)
* New translations translation.json (Russian)
* New translations translation.json (Ukrainian)
* New translations translation.json (Chinese Simplified)
* New translations translation.json (Portuguese, Brazilian)
2026-02-28 01:24:57 +00:00
Philip Okugbe
fc0997fd90
feat: editor attachment paste handling ( #1975 )
...
* reupload attachments if uploaded to a different page
* use image dimensions on paste/DnD
* tooltips withinPortal:false
* isolating attribute
2026-02-28 01:24:19 +00:00
Philipinho
df64de5306
fix focus
2026-02-27 01:38:43 +00:00
Philip Okugbe
ea44468fad
feat: editor inline status node ( #1973 )
...
* inline status node
* fix alignment
* fix
* typed storage
* fix math block popup on select all
2026-02-27 01:34:03 +00:00
Philip Okugbe
59e945562d
feat(ee): page-level access/permissions ( #1971 )
...
* Add page_hierarchy table
* feat(ee): page-level permissions
* pagination
* rename migration
fixes
* fix
* tabs
* fix theme
* cleanup
* sync
* page permissions notification
* other fixes
* sharing disbled
* fix column nodes
* toggle error handling
2026-02-26 19:49:10 +00:00
Philipinho
22f33bab7c
cleanups
2026-02-25 22:41:54 +00:00
Philipinho
e0a8521566
enhance columns
2026-02-25 22:31:01 +00:00
Olivier Lambert
5de1c8e3ed
fix: inline code input rule deletes character before opening backtick ( #1923 )
...
The upstream TipTap Code extension input rule regex /(^|[^`])`([^`]+)`(?!`)$/
uses a capture group (^|[^`]) that includes the character preceding the
opening backtick in the full match. When markInputRule processes this,
it deletes everything from the match start to the code content, which
removes that preceding character along with the backtick delimiters.
For example, typing foo(`bar` would result in foo`bar` (formatted)
instead of the expected foo(`bar` (formatted) — the ( is lost.
Fix: disable the built-in Code extension from StarterKit and register it
separately with a corrected regex that uses a lookbehind assertion
(?:^|(?<=[^`])) instead of a capture group. The lookbehind asserts the
preceding character without including it in the match, so markInputRule
only deletes the backtick delimiters.
Functionally tested on Firefox and Chrome.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-24 15:51:24 +00:00
Philip Okugbe
ef87210b3d
feat: editor UI refresh and enhancements ( #1968 )
...
* feat: new image menu
* switch to resizable side handles
* use pixels
* refactor excalidraw and drawio menu
* support image resize undo
* video resize
* callout menu refresh
* refresh table menus
* fix color scheme
* fix: patch @tiptap/core ResizableNodeView to prevent resize sticking after mouseup
* feat: columns
* notes callout
* focus on first column
* capture tab key in column
* fix print
* hide columns menu when some nodes are focused
* fix print
* fix columns
* selective placeholder
* fix blockquote
* quote
* fix callout in columns
2026-02-24 15:22:37 +00:00
Philip Okugbe
53132acb0a
fix: redirect to original page after re-authentication ( #1959 )
...
* fix: redirect to original page after re-authentication
When a session expires, the current URL is now preserved as a query
parameter on the login page. After successful login (including MFA
flows), the user is redirected back to their original page instead of
always landing on /home.
* secure
---------
Co-authored-by: Julien Fontanet <julien.fontanet@isonoe.net >
2026-02-21 00:02:23 +00:00
Philip Okugbe
0aeaa43112
feat: replace sharp with client-side icon resize ( #1951 )
2026-02-16 19:48:19 +00:00
Philip Okugbe
92d5d0b237
New Crowdin updates ( #1950 )
...
* New translations
2026-02-16 04:22:40 +00:00
Philipinho
00b5328676
fix page error boundary
2026-02-16 04:06:41 +00:00
Philipinho
2ebdc2baea
empty states
2026-02-16 00:33:16 +00:00
Philip Okugbe
621ef4f0cf
New Crowdin updates ( #1948 )
...
* New translations
2026-02-15 23:10:32 +00:00
Philipinho
618f56577d
turn into callout option
2026-02-15 22:51:23 +00:00
Philipinho
0a05ce6133
enhance editor bubble menu
2026-02-15 22:39:42 +00:00
Arek Nawo
b76f5adaad
feat(ee): AI menu ( #1912 )
...
* feat(ee): AI menu
* - Add insert below and copy option
* prebuild @editor-ext
* sanitize output
* clear existing output
* switch to menu component
* refactor directory
* separator
* refactor directory
* support more languages
* pass markdown to model
* fix: close AI menu on page change
* enhance text input and preview styling
* fix: Use absolute positioning for the AI menu
* make preview scrollable
* activation controls
* enhance bubble menu
* sync
* set width
* fix line break
* switch terminologies
* cloud
* buffer
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2026-02-14 20:58:08 -08:00
Philip Okugbe
05b3c65b0f
feat: notifications ( #1947 )
...
* feat: notifications
* feat: watchers
* improvements
* handle page move for watchers
* make watchers non-blocking
* more
2026-02-14 20:00:38 -08:00
Philipinho
55280db672
dark color theme tweaks
2026-02-14 10:35:03 -08:00
Philipinho
49ab9875ba
fix tiptap version conflicts
2026-02-11 22:47:25 -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
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
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 )
2026-02-06 11:37:33 -08:00
Philipinho
fbb44df548
v0.25.2
2026-02-06 11:32:00 -08:00