Philipinho
0c6f2299b2
Merge branch 'main' into feat/integrations
2026-08-13 01:33:47 +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
Philipinho
9bd5ddee69
fix(integration): show disconnect loader only on the affected row
2026-08-10 03:43:45 +01:00
Philipinho
9f279d191c
wip
2026-08-10 03:41:54 +01:00
Philipinho
311b511afb
fix(integration): send provider and oauth requests through configured proxy
2026-08-10 03:24:19 +01:00
Philipinho
bf56b7c2c2
chore(integration): document cache purge intent
2026-08-09 15:58:34 +01:00
Philipinho
15cbcfb78d
fix(integration): purge per-user unfurl cache on disconnect
2026-08-09 15:51:53 +01:00
Philipinho
2829491b2d
fix(integration): refresh connections list after disconnect
2026-08-09 15:50:03 +01:00
Philipinho
6eb0cf2b31
fix(integration): drop cached unfurls when disconnecting an integration
2026-08-09 15:35:37 +01:00
Philipinho
a351ecd77a
fix(editor-ext): stop persisting unfurl data on integration link nodes
2026-08-09 15:35:05 +01:00
Philipinho
99bcf3da9d
fix(integration): resolve unfurls per viewer at render time
2026-08-09 15:18:43 +01:00
Philipinho
16f7139e6f
wip
2026-08-09 15:01:52 +01:00
Philipinho
21665fc0e7
fix(integration): thread requester identity through unfurl for per-user authorization
2026-08-08 23:19:23 +01:00
Philipinho
c29249fe13
fix(slack): enforce space create permission for page creation handlers
2026-08-08 23:14:03 +01:00
Philipinho
f471335549
feat(page): add validateCanCreate space permission check
2026-08-08 23:13:58 +01:00
Philipinho
fed7d78495
wip
2026-08-08 22:25:33 +01:00
Philipinho
92b6513f39
feat(slack): audit comment replies posted from notification DMs
2026-08-08 20:50:24 +01:00
Philipinho
903151877a
feat(audit): stop excluding comment creation from audit logs
2026-08-08 20:50:24 +01:00
Philipinho
a740fb03f8
feat(slack): quote comment bodies and reply from notification DMs
2026-08-08 20:23:08 +01:00
Philipinho
59ec9ed1e6
fix(slack): use workspace-canonical urls for cloud multi-tenancy
2026-08-08 19:38:52 +01:00
Philipinho
c37e428808
feat(slack): unfurl links based on the posting user's page access
2026-08-08 18:44:21 +01:00
Philipinho
618e1ecfc3
feat(slack): trim link unfurls to title and metadata only
2026-08-08 18:10:42 +01:00
Philipinho
fe61b2e854
feat(slack): DM verification and approval notifications
2026-08-08 11:56:40 +01:00
Philipinho
edf4c52b81
feat(slack): docmost notify DM notifications
2026-08-08 03:40:44 +01:00
Philipinho
6d17224cae
feat(integration): add kind-filtered user link lookup by user id
2026-08-08 02:22:05 +01:00
Philipinho
9555537f27
feat(notification): emit notification.created event and add slack notify queue constants
2026-08-08 01:50:10 +01:00
Philipinho
139cc82326
Merge branch 'main' into feat/integrations
...
# Conflicts:
# apps/client/src/App.tsx
# apps/server/src/ee
# apps/server/src/integrations/queue/constants/queue.constants.ts
# apps/server/src/integrations/queue/queue.module.ts
# packages/editor-ext/src/index.ts
2026-08-07 01:13:39 +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
Philip Okugbe
4132dd597c
New Crowdin updates ( #2323 )
2026-07-03 11:57:07 +01:00
Philip Okugbe
8a2c457ab9
feat: kanban group editing ( #2322 )
...
* feat: support opening property menu directly on options panel
* refactor: expose group-by property from useKanbanColumns
* feat: rename kanban group by clicking column name
* feat: edit group-by property from kanban column menu
* fix: license-gate base and kanban inserts
* fix: add missing bases strings to en-US translation file
2026-07-03 11:35:26 +01:00
Philipinho
6ff7f69137
fix: file import page title
2026-06-30 02:45:07 +01:00
Philipinho
481aae5507
sync
2026-06-30 02:36:52 +01:00
Philipinho
12d68765d9
v0.95.0
2026-06-30 01:33:34 +01:00
Philipinho
27a80b57f8
sync
2026-06-30 01:32:19 +01:00
Philip Okugbe
15bdf680d9
feat: workspace default edit preference ( #2319 )
2026-06-30 01:10:51 +01:00
Philipinho
96faff7175
fix: reactive subpage list
2026-06-29 19:58:22 +01:00
Philipinho
2959504470
fix tree merge
2026-06-29 19:02:21 +01:00
Philip Okugbe
37a88d171a
New Crowdin updates ( #2318 )
2026-06-29 19:01:02 +01:00
Philip Okugbe
c86d556888
fix: templates ui fixes ( #2316 )
...
* fix: editor menus
* fix: templates creation UI gating
2026-06-29 12:32:09 +01:00
Philipinho
e8efef235c
fix: tooltip on focus
2026-06-29 00:22:59 +01:00
Philipinho
04110884b4
better zip handling
2026-06-28 23:45:38 +01:00
Philipinho
b88833277d
fix: default radius
2026-06-27 21:25:45 +01:00
Philipinho
186a0bf71b
sync
2026-06-27 00:49:39 +01:00
Philipinho
303b6a048f
fix: cleanup title
2026-06-27 00:40:19 +01:00
Philipinho
4aa4feb41f
fix: validate dto object
2026-06-27 00:15:35 +01:00
Philip Okugbe
4cf47f4538
New Crowdin updates ( #2309 )
2026-06-26 12:00:29 +01:00
Philipinho
ccf61f3f84
fix multi-select
2026-06-26 11:54:21 +01:00
Philipinho
d469558c1e
sync
2026-06-25 01:39:31 +01:00
Philipinho
fca5619eb7
fix: adjust spacing
2026-06-22 00:50:38 +01:00
Philipinho
b7f1dd3a6b
fix: spacing
2026-06-22 00:50:09 +01:00
Philipinho
5658d30484
sync
2026-06-21 03:09:40 +01:00
Philip Okugbe
89f13c3fbc
feat(ee): bases ( #2295 )
...
* feat(ee): bases
Table and kanban UI, formula engine package, and the base-embed editor extension.
* - default status
- type fix
- error helper
* fix: base trash list handling
* feat: base nodeview menu
* feat: translation
* fix number precision
* feat(base): add focused-cell atom and cell coordinate types
* feat(base): add cell focus-ring style
* feat(base): add pure next-cell navigation helper
* feat(base): keyboard navigation controller and grid wiring
* update offerings
* feat(base): cell focus ring, click-to-focus, and gridcell ARIA
* feat(base): row ARIA index and selected state
* feat(base): seed editor value on type-to-edit for free-text cells
* feat(base): make column headers keyboard-focusable as tab stops
* fix(base): remove focus outline on grid container
* fix(base): show cell focus ring only while the grid is focused
* feat(base): keyboard-navigate the row-number column for selection
* fix(base): sync header/body horizontal scroll on header focus; expand row via Space, drop expander from tab order
* fix(base): tab from long-text editor moves to next cell instead of leaving the table
* fix(base): close view popovers on Escape regardless of focus; drop redundant property switch tab stop
* fix(base): show cell focus ring only while the grid body itself is focused
* fix(base): render view-tab rename as an inline pill so the tab band height stays put
* fix(base): refer to the feature as 'base' rather than 'database'
* fix: change permissions object shape
* license file
* fix tsconfig
* fix base cache
* fix: preserve sidebar title/icon on partial page updates
* fix: skip duplicate row fetch when opening new kanban card
* fix refetch
* fix focus
* fix spacing
* fix(base): select grid cell on mousedown to avoid stale focus ring flash
The focus ring is gated on the grid having DOM focus (.bodyGrid:focus .cellFocused), but the focusedCell atom is never cleared when the grid blurs. Clicking outside hides the ring via the :focus gate while the atom still points at the old cell.
Selection was committed on click (mouseup), while the grid receives focus on mousedown. Clicking a new cell re-focused the grid before the atom updated, briefly painting the ring on the previously selected cell. Commit selection on mousedown so the atom updates in the same event that grants focus, before the browser paints.
* fix: activate New row button via keyboard (Enter/Space)
The New row control is a role=button div with no keydown handler, so Enter/Space never triggered it. It also lives inside the grid element, whose native keydown listener caught the Enter and ran cell navigation against the previously focused cell.
Add Enter/Space activation to the button, and make the grid keyboard handler ignore keydowns that originate from a focusable child rather than the grid element itself, so in-grid controls handle their own keys.
* fix(base): keep add-property popover within viewport on mobile
Opened from the row detail modal, the create-property popover anchors to the bottom Add property button and flips upward on small screens, clipping its top (name field, formula editor) off-screen with no way to scroll to it.
Bound the dropdown to the available height with the floating-ui size middleware and give it an internal scroll container. Disable react-remove-scroll isolation on the modal so the body-portaled popover can scroll on touch while the modal scroll lock stays active.
* fix(base): enable grid cell editing on touch devices
Cells could only enter edit mode via double-click or a physical keyboard,
so touch devices had no way to edit a cell. Treat a touch/pen tap as the
edit gesture, distinguishing a tap from a scroll by movement and branching
per pointer type so mouse double-click stays unchanged. Also reveal the
row expand button on hover-less devices so the row detail view stays
reachable.
* feat(editor): add base and kanban inserts to the toolbar
* feat(base): insert row below via Shift+Enter on the primary cell
* fix(base): place caret at end instead of selecting all when editing cells
* fix(base): prevent popover inputs from losing focus on mobile in row detail modal
* fix grid cells on mobile
* sync
* fix: read-only export
* feat(base): add prefixed nanoid id schemas and generators
* feat(base): enforce strict property/choice id validation
* feat(base): make property id varchar with per-base composite pk
* feat(base): pass property id as text to cell extractors
* feat(base): scope property lookups per base and generate property ids in repo
* feat(base): generate status template choice ids as nanoid
* feat(base): generate choice ids as nanoid on the client
* chore(base): seed choice ids with nanoid
* fix(base): mint kanban choice ids as nanoid
* sync
* sync
* sync
2026-06-21 03:07:14 +01:00
Philipinho
e0fdc0c178
chore: update dot ignore files
2026-06-21 02:06:39 +01:00
Philipinho
e44ce2714f
fix: safe editor
2026-06-20 23:12:32 +01:00
Philipinho
d99d321e4a
update dependencies
2026-06-20 18:24:19 +01:00
Philip Okugbe
4f202e4ab5
feat: package updates ( #2300 )
...
* package updates
* update tiptap
* fix editor crash
* fix
* update list
* fix(theme): size badges to their content
* fix mantine avatar color regression
2026-06-20 18:11:14 +01:00
Philipinho
d7fdcdec80
sync
2026-06-20 14:34:12 +01:00
Abhigyan Sinha
2dc35fa100
fix: resolve draw.io save failure on copied blocks ( #2288 ) ( #2297 )
2026-06-20 14:31:16 +01:00
Philip Okugbe
4f2fbf22d4
chore: migrate to Mantine 9 and React 19 ( #2293 )
2026-06-20 14:28:31 +01:00
Philip Okugbe
d68e241f45
feat(ee): personal spaces ( #2298 )
...
* feat(ee): personal spaces
* pref
* feat: on-demand only
* error notification
2026-06-20 14:27:41 +01:00
Philip Okugbe
510199cf04
feat(ee): docx word export ( #2294 )
...
* vendorize prosemirror-docx - wip
* feat(ee): docx word export
* sync
2026-06-20 14:23:56 +01:00
Philip Okugbe
aa5d52ad3e
feat(editor): add /time slash command to insert current time ( #2290 )
2026-06-20 14:22:54 +01:00
Mayank-2-16 and Philipinho
1867aa8bf6
fix: pdf table header alignment issue ( #2259 )
...
* fix: pdf table header alignment issue
* cleanup
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2026-06-17 14:32:48 +01:00
Felix
2ff8720832
fix: slash-menu suggestion search localization ( #2280 )
2026-06-17 14:17:13 +01:00
Philip Okugbe
6191acfa14
fix: a11y ( #2275 )
2026-06-09 22:51:55 +01:00
Peter Tripp
d86d51c27e
fix: Table jitter on edit/read toggle ( #2252 )
2026-06-03 11:31:45 +01:00
Philipinho
ef04c22aea
sync
2026-05-28 16:57:59 +01:00
Philipinho
b6760c63c4
fix: package updates
2026-05-28 16:39:47 +01:00
Philipinho
2b68879e72
0.90.1
2026-05-28 16:36:18 +01:00
Philipinho
db32910634
fix; change inline code text color
2026-05-28 16:35:37 +01:00
Philip Okugbe
33895b0607
bug fixes ( #2250 )
...
* util
* fix page position collation
* support fixed toolbar in templates editor
* date localization
* fix clipped emoji in templates editor
* fix page updated time object
* fix flickers
* fix: remove redundant breadcrumb from destination modal
2026-05-28 16:20:37 +01:00
Philipinho
830b5b4d45
fix synced block
2026-05-25 19:17:14 +01:00
Philipinho
3e3e09133b
chore(ee): bump submodule for home view re-publish on link
2026-05-23 19:03:41 +01:00
Philipinho
4c266f832a
chore(ee): bump submodule for home-search submit handler
2026-05-23 19:00:55 +01:00
Philipinho
f4bae91dd0
chore(ee): bump submodule for home-search handler
2026-05-23 18:58:22 +01:00
Philipinho
aee6781a5a
chore(ee): bump submodule for home-search modal builder
2026-05-23 18:55:56 +01:00
Philipinho
eaac79f25d
chore(ee): bump submodule for create-document submit handler
2026-05-23 18:53:44 +01:00
Philipinho
49f5aaa880
chore(ee): bump submodule for home-create-doc handler
2026-05-23 18:46:30 +01:00
Philipinho
4e5d82c847
chore(ee): bump submodule for create-document modal builder
2026-05-23 18:44:27 +01:00
Philipinho
407d86c65c
chore(ee): bump submodule for app_home_opened handler
2026-05-23 18:42:48 +01:00
Philipinho
1690691de0
chore(ee): bump submodule for slack home view block builder
2026-05-23 18:38:47 +01:00
Philipinho
4db5281c11
feat(slack): wire /docmost ask queue and bump submodule
...
- Add SLACK_ASK queue name and job constant for AI search backgrounding.
- Bump ee submodule to pick up new Slack handlers and converters.
2026-05-23 18:35:13 +01:00
Philipinho
2d74455c2b
refactor(integrations): consolidate integrations schema into baseline migration
2026-05-23 13:11:28 +01:00
Philipinho
6a870adec9
fix(integrations): partial unique index so user-link doesn't clobber workspace row
2026-05-23 13:06:47 +01:00
Philipinho
b4c917ac07
feat(integrations): defer workspace-scoped install until OAuth succeeds
2026-05-23 12:38:43 +01:00
Philipinho
91a2abd8d3
feat(integrations): route OAuth callbacks back to originating workspace host
2026-05-23 12:32:18 +01:00
Philipinho
2f313187ab
feat(integrations): one-step install for workspace-scoped providers
2026-05-23 12:22:26 +01:00
Philipinho
2c80459674
chore(ee): bump submodule for completeLink workspace check
2026-05-23 12:08:51 +01:00
Philipinho
a3897e1485
fix(integrations): don't wipe workspace bot row on per-user disconnect
2026-05-23 12:08:49 +01:00
Philipinho
305f2be527
chore(ee): bump submodule for Disconnect fix
2026-05-23 12:01:38 +01:00
Philipinho
3e86bef2b4
chore(ee): bump submodule for Slack disconnect button handler
2026-05-23 11:55:13 +01:00
Philipinho
9603ff4287
chore(ee): bump submodule for new-page modal and app_uninstalled handler
2026-05-23 05:17:20 +01:00
Philipinho
9696e06635
chore(ee): bump submodule for /docmost save and add-to-page shortcut
2026-05-23 05:10:03 +01:00
Philipinho
4c7c3ac44d
chore(ee): bump submodule for page-picker review fixes
2026-05-23 05:06:44 +01:00
Philipinho
02d20c1ab6
chore(ee): bump submodule for page-picker submit and options handlers
2026-05-23 04:57:46 +01:00
Philipinho
013fa923e0
chore(ee): bump submodule for mrkdwn converter, page writer, picker blocks
2026-05-23 04:53:14 +01:00
Philipinho
872321c58c
chore(ee): bump submodule for Slack workspace connectionScope
2026-05-23 04:35:59 +01:00
Philipinho
0ab6ae86e3
feat(integrations): add connectionScope (workspace|user) to OAuth flow
2026-05-23 04:35:59 +01:00
Philipinho
31043a9d98
chore(ee): bump submodule for SlackProvider.onConnected and SkipTransform
2026-05-23 04:17:21 +01:00
Philipinho
05bd04d87b
feat(integrations): pass integrationId and workspaceId to provider.onConnected
2026-05-23 04:17:19 +01:00
Philipinho
677b5f95e0
chore(ee): bump submodule for recents, favs, search commands
2026-05-23 03:23:22 +01:00
Philipinho
e44a0cd0e0
feat(search): add titlesOnly option to searchPage for efficient title-only searches
2026-05-23 03:22:29 +01:00
Philipinho
a3755a2469
chore(ee): bump submodule for /docmost help command
2026-05-23 03:15:25 +01:00
Philipinho
ba81f7143b
chore(ee): bump submodule for LinkSharedHandler
2026-05-23 03:11:12 +01:00
Philipinho
a14e239067
chore(ee): bump submodule for SlackUrlParser and unfurl blocks
2026-05-23 03:06:07 +01:00
Philipinho
9a225c07c3
feat(page): add canPageBeUnfurled predicate for Slack link previews
2026-05-23 03:05:05 +01:00
Philipinho
19107c3f8c
chore(ee): bump submodule for expanded Slack OAuth scopes
2026-05-23 03:02:36 +01:00
Philipinho
ddd309bf07
chore(ee): bump submodule for outbound channel-notif removal
2026-05-23 02:53:33 +01:00
Philipinho
68bc936e14
refactor(integrations): drop slackSettingsSchema and related types
2026-05-23 02:52:31 +01:00
Philipinho
03926e9f77
chore(ee): bump submodule for SlackController, processor, module wiring
2026-05-23 02:36:13 +01:00
Philipinho
6dce0e4eb5
feat(integrations): add SLACK_INBOUND queue and excluded auth paths
2026-05-23 02:35:00 +01:00
Philipinho
d68cff0ee9
chore(ee): bump submodule for handler interface and dispatchers
2026-05-23 02:30:41 +01:00
Philipinho
75c79cbe9e
feat(slack): add browser-side identity link confirmation page
2026-05-23 02:23:11 +01:00
Philipinho
32020c7c89
chore(ee): bump submodule for Slack link controller
2026-05-23 02:19:10 +01:00
Philipinho
7ff1e87a9a
chore(ee): bump submodule for SlackIdentityResolver
2026-05-23 02:17:13 +01:00
Philipinho
f3b7b1acc7
feat(integrations): add upsertUserLink for per-user identity bindings
2026-05-23 02:15:51 +01:00
Philipinho
c8df56ceb2
chore(ee): bump submodule for link-prompt blocks
2026-05-23 02:12:02 +01:00
Philipinho
d64562ae14
chore(ee): bump submodule for slack-link-state helper
2026-05-23 02:10:38 +01:00
Philipinho
c2063e6c3d
fix(env): match INTEGRATION_{TYPE}_* env-var convention for Slack signing secret
2026-05-23 02:08:07 +01:00
Philipinho
0d58b88db8
fix(integrations): don't filter per-user connections out of existing lookups
2026-05-23 02:04:47 +01:00
Philipinho
7e1bef8b7e
feat(integrations): add kind-aware helpers for workspace/user connections
2026-05-23 02:02:35 +01:00
Philipinho
d53054a267
feat(integrations): add findByTypeAndSettingsField for JSONB lookup
2026-05-23 02:01:06 +01:00
Philipinho
a1f6aa1e43
feat(integrations): pass raw token-response body to provider.onConnected
2026-05-23 01:58:26 +01:00
Philipinho
4d8a5254f9
chore(ee): bump submodule for SlackSignatureGuard comment
2026-05-23 01:57:18 +01:00
Philipinho
ff567e0cb4
chore(ee): bump submodule for SlackSignatureGuard
2026-05-23 01:51:21 +01:00
Philipinho
2cedf9ea6c
feat(env): add SLACK_SIGNING_SECRET getter on EnvironmentService
2026-05-23 01:50:46 +01:00
Philipinho
d1b46e383a
chore(ee): bump submodule for SlackApiClient review fixes
2026-05-23 01:47:41 +01:00
Philipinho
ca4207ef0a
chore(ee): bump submodule for SlackApiClient
2026-05-23 01:40:33 +01:00
Philipinho
88888e1dc7
fix(integrations): scope Slack-kind backfill, fix index where-clause types
2026-05-23 01:35:08 +01:00
Philipinho
cc17faf835
feat(integrations): add kind discriminator and nullable token to connections
2026-05-23 01:22:32 +01:00
Philipinho
392aa0aef9
remove zod
2026-05-22 23:00:14 +01:00
Philipinho
d7c4f0551e
fix: strip html styles on paste
2026-05-22 19:00:30 +01:00
Philipinho
61a91cd086
fix: remove duplicate storage key
2026-05-22 14:54:52 +01:00
Philipinho
af9e777009
merge main
2026-05-22 13:56:51 +01:00
Philipinho
f010f6a83a
fix: internal links
2026-05-21 17:01:20 +01:00
Philipinho
13a7f1372f
fix: update pdf-inspector package
2026-05-21 13:44:11 +01:00
Philip Okugbe
4295ea09f6
feat(storage): add Azure Blob Storage driver ( #2222 )
2026-05-21 12:18:58 +01:00
Philipinho
ed0501a864
fix passing wrong object
2026-05-20 19:09:22 +01:00
Philipinho
aa0c37bd68
sync
2026-05-20 18:41:23 +01:00
Philip Okugbe
a5858bc470
fix: update packages ( #2221 )
2026-05-20 18:30:15 +01:00
Philipinho
0402420fbc
fix visibility
2026-05-20 18:20:52 +01:00
Philip Okugbe
2be5e0d4ee
New Crowdin updates ( #2220 )
2026-05-20 18:20:02 +01:00
Philipinho
e02f0acc65
fix: add i18next_json type to crowdin
2026-05-20 17:34:34 +01:00
Philipinho
adb1f27767
v0.90.0
2026-05-20 16:55:23 +01:00
Philip Okugbe
92c0e36e46
fix(a11y): WCAG 2.1 AA fixes ( #2219 )
2026-05-20 16:47:25 +01:00
Olivier Lambert and Philipinho
1c166c4736
feat(editor): add alt text support for images ( #2097 )
...
* feat(editor): add alt text support for images
* feat: extend alt text support to videos and diagrams
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2026-05-20 16:45:59 +01:00
Philip Okugbe
66a754c9eb
Revert "fix: prevent browser tab fallback in editor ( #2123 )" ( #2216 )
...
This reverts commit 1d2486455f .
2026-05-19 14:07:07 +01:00
Philip Okugbe
6cf8101ab3
feat(ee): templates ( #2215 )
...
* feat(ee): templates
* fix tree
* fix
2026-05-19 02:41:52 +01:00
Philipinho
0d6538ab1a
feat: iframe configuration
2026-05-18 22:02:31 +01:00
Philip Okugbe
b7b99cb3b2
fix: code splitting and editor fixes ( #2211 )
...
* fix table
* fix code splitting
* fix: editor ready check
* fix codeblock/mermaid gap cursor
* fix callout
2026-05-15 02:46:54 +01:00
Philipinho
03c1e8c4ed
fix collab module
2026-05-14 15:06:51 +01:00
Philipinho
e41518a93d
fix type
2026-05-14 14:49:02 +01:00
Peter Tripp and Philipinho
932c1ad5b7
Better trash ( #2190 )
...
* Better trash
I recently lost a bunch of time editing and searching for pages that were actually in the Trash. Docmost intentionally tries to not link to Trashed pages, but the url of that Trashed page and any inbound links still work. This makes it clearer when a page you are interacting with is in the Trash.
- /trash
- Refactored banner into `trash-banner.tsx`
- Refactored "Restore" modal into `use-restore-page-modal.tsx`
- Page (when isDeleted)
- Add: `trash-banner.tsx`
- Add breadcrumbs: `Parent / Child / Page (Deleted)`
- Change: Deleted Pages are read-only
- Replace "Move to Trash" with "Restore" in page menu (invokes `use-restore-page-modal`)
I tried very hard to keep this simple and re-use existing translation strings wherever possible.
* cleanup
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2026-05-14 14:41:10 +01:00
Julien Fontanet
82d065669d
fix: page mode toggle no longer overwrites default preference ( #1996 )
...
The header edit/read toggle now controls only the current session's mode
without saving it as the user's preference. The saved preference (set in
profile settings) is applied once on initial load and sticks across page
navigations within the session, so navigating to a new page no longer
resets the mode mid-session.
Fixes #1693
2026-05-14 13:15:03 +01:00
Philip Okugbe
f758091b2a
perf(permissions): cache space role and page edit lookups ( #2208 )
2026-05-14 13:11:28 +01:00
Philip Okugbe
f4af4c3fc0
feat(editor): add page break node ( #2202 )
2026-05-14 03:48:13 +01:00
Philipinho
3b983a27f6
sync
2026-05-14 03:01:55 +01:00
Philip Okugbe
299a9ca3c8
fix: bug fixes ( #2201 )
...
* fix(editor): hide transclusion borders and reset spacing in read-only mode
* feat(share): add full width toggle for shared pages
* feat(share): support resizing sidebar on shared pages
* fix: auto redirect if there is only one SSO provider.
- fix tighten sso redirect
- fix share tree margin
* sync
* package overrides
2026-05-14 02:54:00 +01:00
Philip Okugbe
cea9be7926
feat: table enhancement ( #2191 )
2026-05-14 00:37:44 +01:00
Philip Okugbe
31ed0df3f7
feat(tree): replace sidebar tree (react-aborist) with custom tree implementation ( #2199 )
...
* feat(tree): replace react-arborist with custom tree implementation
* feat(tree): keyboard arrow navigation between rows
* feat(emoji-picker): focus search input on open
* refactor(emoji): switch to @slidoapp/emoji-mart fork for accessibility
* feat(tree): Home/End and typeahead keyboard navigation
* feat(tree): roving tabindex and * to expand sibling subtrees
* feat(tree): Space activation and ARIA refinements
* fix(tree): move treeitem role to focusable row + aria-current
2026-05-13 23:01:04 +01:00
Philip Okugbe
a689cca7a0
feat: page labels/tags ( #2188 )
...
* feat: labels (WIP)
* full implementation
2026-05-10 18:14:15 +01:00
Philip Okugbe
537e45bc11
feat: page details section and backlinks ( #2186 )
...
* feat: page details section and backlinks
2026-05-09 17:03:08 +01:00
Philip Okugbe
bdc369fce0
feat(editor): fixed toolbar preference ( #2185 )
...
* feat(editor): fixed toolbar preference
* remove key
* cleanup translation strings
* update axios
2026-05-09 13:27:03 +01:00
Philip Okugbe
2d8b470495
feat(editor): indentation ( #2174 )
...
* switch to default codeblock tab handling
* feat(editor): indentation
2026-05-08 21:40:37 +01:00
David Gallardo
c66c08fa78
fix: ignore emoji when deriving avatar initials ( #2167 )
2026-05-08 21:36:10 +01:00
David Gallardo and Philipinho
6046d04375
feat(editor): replace emoji picker with browse + search ( #2171 )
...
* feat(editor): show emoji name in suggestion list
Replace the fixed-column emoji grid with a vertical list that displays
each emoji alongside its :shortcode: name. This makes the picker more
discoverable—users can see and learn shortcodes without prior knowledge.
Changes:
- EmojiList: switch from SimpleGrid/ActionIcon to UnstyledButton list
rows showing emoji glyph + monospace 🆔 label
- Navigation simplified to ArrowUp/ArrowDown (list has no columns)
- Results capped at 8 items for a focused, scannable dropdown
- CSS module: rename menuBtn -> menuItem, tighten padding
* feat(editor): replace SearchIndex with name/id includes search
Port the exact search algorithm from the original extension:
- Build a flat index from @emoji-mart/data: { id, name (lowercase), native }
- Filter with name.includes(q) || id.includes(q) — predictable, no
keyword indirection
- Results capped at 5 (same as extension)
- Frequently-used emojis (sorted by usage) shown when query is empty
- Remove emoji-mart init() / SearchIndex / getEmojiDataFromNative
dependencies; index is built lazily and cached in memory
- Remove unused GRID_COLUMNS constant
* feat(editor): emoji picker with browse and search modes
When the query is empty the picker shows a category bar with 8 tabs
(people, nature, food…) and a scrollable emoji grid. Typing after ':'
switches to a compact list that shows the glyph and :shortcode: side by
side, making it easy to discover emoji names while you type.
- Category data is loaded lazily from @emoji-mart/data and cached, so
opening the picker more than once has no overhead
- Grid keyboard nav: arrow keys move by cell/row, Enter picks
- List keyboard nav: up/down through results, Enter picks
- Mouse hover syncs the keyboard selection index in both modes
- incrementEmojiUsage tracks picks so frequently used ones bubble up
in future sessions
* fix(editor): polish emoji picker copy and loading
* feat: add emoji to slash command
* Add keyboard support to emoji group navigation
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2026-05-08 21:33:43 +01:00
David Gallardo
5d8c11e741
fix: sync html lang with current user locale ( #2165 )
2026-05-08 21:15:04 +01:00
Philip Okugbe
de60aa7e61
feat: synced blocks (transclusion) ( #2163 )
...
* feat: synced blocks (transclusion)
* fix:remove name
* make placeholders smaller
* feat: enforce strict transclusion schema
* fix: scope synced blocks to workspace, gate unsync on edit permission
* fix collab module error
2026-05-08 13:23:16 +01:00
Peter Tripp
c9fa6e20b3
Add alias: /toc and /ol ( #2161 )
2026-05-08 01:20:27 +01:00
Philipinho
ec51ca7815
fix request ip
2026-05-07 22:09:32 +01:00
Philipinho
2b63137217
mail
2026-05-07 18:13:24 +01:00
Philipinho
3227bc6059
fix: a11y
2026-05-04 23:04:26 +01:00
Philip Okugbe
73dc62bca3
update react-email ( #2149 )
2026-05-04 22:26:53 +01:00
Philipinho
3c74bb3dee
update package
2026-05-04 22:09:19 +01:00
Philip Okugbe
dbe6c2d6ba
feat: A11y fixes ( #2148 )
2026-05-04 21:21:37 +01:00
Sarthak Chaturvedi
fe18f22dc6
fix: prevent code block deletion when adding inline comments in read mode ( #2146 )
2026-05-04 21:14:21 +01:00
Philipinho
fcef0c6b96
fix: S3
2026-05-04 20:57:35 +01:00
Philipinho
17f3158a3b
update aws packages
2026-05-01 20:00:20 +01:00
Philipinho
b74ca00bfd
sync
2026-05-01 14:57:32 +01:00
Philip Okugbe
c247d4c1e3
feat(ee): PDF import ( #2142 )
...
* feat: replace pdfjs-dist with firecrawl-pdf-inspector
* use modified firecrawl-pdf-inspector
* feat: pdf import
* increase single file upload size limit
* use npm package
* sync
* update package
2026-05-01 14:56:39 +01:00
Philip Okugbe
641ce142df
feat(ee): SCIM ( #1347 )
...
* SCIM - init (EE)
* accept db transaction
* sync
* Content parser support for scim+json
* patch scimmy
* sync
* return early if userIds is empty
* sync
* SCIM db table
* fixes
* scim tokens
* backfill
* feat(audit): add scim token events
* rename scim migration
* fix
* fix translation
* cleanup
2026-05-01 14:53:30 +01:00
Sarthak Chaturvedi
1d2486455f
fix: prevent browser tab fallback in editor ( #2123 )
2026-05-01 13:58:51 +01:00
Philipinho
a0aea43e25
feat(saml): allow disabling RequestedAuthnContext via env var
...
Adds SAML_DISABLE_REQUESTED_AUTHN_CONTEXT env var, passed through
to the SAML strategy's disableRequestedAuthnContext option.
Defaults to existing behavior (element sent). Set to true to omit
the element when the IdP authenticates the user with a method that
does not match (e.g. MFA, FIDO, passwordless), which would
otherwise cause AADSTS75011 with Microsoft Entra ID.
2026-05-01 11:47:03 +01:00
Philip Okugbe
09c69d7a0f
feat: properly preserve table width ( #2143 )
2026-05-01 00:49:31 +01:00
Sarthak Chaturvedi
9943e104a5
fix(i18n): Correct German column count label rendering ( #2131 )
2026-05-01 00:37:59 +01:00
Peter Tripp
b16f1e5a55
fix: ctrl-k behavior on macOS ( #2052 )
...
* Improve cmd-k / ctrl-k behavior
Use cmd-k on macOS/iOS for search and keep ctrl-k everywhere else.
Fixes a bug where ctrl-k on macOS, which cuts to the end of the line,
was also triggering the search prompt.
* comment submit: cmd-enter (mac) / ctrl-enter (win/linux)
2026-05-01 00:36:40 +01:00
Philip Okugbe
24be90b95f
fix: duplicate PDF uploads ( #2139 )
2026-04-29 10:01:47 +01:00
Olivier Lambert
3ecf27c6b0
fix(page-permission): make people-with-access list scroll past 4 entries ( #2137 )
...
The "People with access" list in the page share modal used
<ScrollArea mah={250}>, which caps the container height but does not
make the inner viewport scroll (no fixed height is given to the
viewport). Items beyond ~4 entries were rendered correctly but clipped
out of view.
Switches to <ScrollArea.Autosize mah={400}>, which is Mantine's
dedicated primitive for "grow with content up to a max, then scroll".
Closes #2135
2026-04-29 09:36:38 +01:00
Philipinho
980521f957
v0.80.1
2026-04-27 16:06:32 +01:00
Philipinho
fe44dc92a9
sync
2026-04-27 15:51:23 +01:00
Philip Okugbe
fad410ef23
chore: add undici for oidc proxy support ( #2132 )
2026-04-27 15:50:42 +01:00
Philipinho
15b8908b1a
update postcss
2026-04-27 15:23:47 +01:00
Philipinho
8e15b22d8c
package updates
2026-04-27 15:22:02 +01:00
Philipinho
ec83fc82d5
fix: refactor sanitize
2026-04-27 15:16:26 +01:00
Philipinho
a573acedd0
fix: local storage, and package overrides
2026-04-22 14:13:25 +01:00
Philipinho
dba8e315ab
override
2026-04-14 17:59:59 +01:00
Philipinho
81ae7a17a6
confirm dialog
2026-04-14 17:56:36 +01:00
Philipinho
271f855761
v0.80.0
2026-04-14 17:08:44 +01:00
Philipinho
3e6d915227
sync
2026-04-14 16:34:44 +01:00
Philip Okugbe
a6a7e4370a
feat(ee): PDF export api ( #2112 )
...
* feat(ee): server side PDF export
* feat: pdf export queue
* sync
* sync
2026-04-14 16:26:54 +01:00
Philip Okugbe
cc00e77dfb
fix: space overview favorites ( #2110 )
2026-04-14 02:58:24 +01:00
Philipinho
66c70c0e76
fix print
2026-04-14 00:40:17 +01:00
Philip Okugbe
0e8b3bbfb3
New Crowdin updates ( #2109 )
...
* 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)
2026-04-14 00:05:51 +01:00
Philip Okugbe
a3a9f35005
fix home flickers ( #2108 )
2026-04-13 23:54:03 +01:00
Philip Okugbe
4056bd0104
feat: enhancements ( #2107 )
...
* refactor
* fix
* update packages
2026-04-13 23:34:40 +01:00
Philip Okugbe
bd68e47e03
feat(ee): page verification workflow ( #2102 )
...
* feat: page verification workflow
* feat: refactor page-verification
* sync
* fix type
* fix
* fix
* notification icon
* use full word
* accept .license file
* - update templates
- update migration and notification
* fix copy
* update audit labels
* sync
* add space name
2026-04-13 20:20:34 +01:00
Philip Okugbe
d6068310b4
Merge commit from fork
...
Refactor link.ts to simplify HTML parsing and rendering logic.
2026-04-13 01:09:36 +01:00
Philipinho
e02661974e
sync
2026-04-13 00:13:18 +01:00
Philip Okugbe
1113f17a43
New Crowdin updates ( #2104 )
2026-04-12 22:46:39 +01:00
Philip Okugbe
d42091ccb1
feat: favorites ( #2103 )
...
* feat: favorites and templates(ee)
* rename migrations
* fix sidebar
* cleanup tabs
* fix
* turn off templates
* cleanup
* uuid validation
2026-04-12 22:06:25 +01:00
Philip Okugbe
57efb91bd3
feat(ee): ai chat ( #2098 )
...
* feat: ai chat
* feat: ai chat
* sync
* cleanup
* view space button
2026-04-10 19:23:47 +01:00
Philip Okugbe
da9b43681e
feat: watch space ( #2096 )
2026-04-09 00:37:51 +01:00
Philipinho
4966f9b152
fix(deps): package updates
2026-04-07 10:24:46 +01:00
Philipinho
e1bbceb9a6
fix: logs
2026-04-07 10:10:41 +01:00
Philip Okugbe
895c1817ae
feat: bug fixes ( #2084 )
...
* handle enter in inline code
* fix: duplicate comment cache
* track link nodes (backlinks)
* fix en-US translation
* fix internal a-links
* overrides
* 0.71.1
2026-04-05 13:45:36 +01:00
Philip Okugbe
642024ba9d
New Crowdin updates ( #2078 )
2026-03-31 21:14:41 +01:00
Philipinho
147d028036
v0.71.0
2026-03-31 20:42:37 +01:00
Philipinho
992691e6e0
fix module import
2026-03-31 20:41:09 +01:00
Philip Okugbe
9aaa6c731c
feat: add AI_EMBEDDING_SUPPORTS_MRL env var to decouple pgvector dimensions from model API ( #2079 )
...
Some embedding models don't accept a `dimensions` parameter. This adds
an optional env var that controls whether the dimension is sent to the
model API, while always using it for pgvector indexing. Preset models
have this handled automatically; the env var allows explicit override
for custom models.
2026-03-31 19:39:49 +01:00
Philipinho
fd91b11c6c
pin version
2026-03-31 16:06:44 +01:00
Philipinho
af8b0ddf3a
sync
2026-03-31 16:05:09 +01:00
Philip Okugbe
879aa2c3d8
feat: page update notifications ( #2074 )
...
* feat: watchers notification and email preferences
* fix: email copy
* digests
* clean up
* fix
* clean up
* move backlinks queue-up to history processor
* fix
* fix keys
* feat: group notifications
* filter
* adjust email digest window
2026-03-31 16:03:59 +01:00
Philip Okugbe
c180d0e487
feat: ratelimits ( #2073 )
...
* feat: rate limits
* ip
2026-03-30 15:38:44 +01:00
Philip Okugbe
a062f7a165
fix: enhance confluence importer ( #2072 )
...
* fix placeholder
* min resize dimensions
* fix media links
* fix
2026-03-30 13:16:40 +01:00
Philip Okugbe
cbd0dd4a0b
feat: indexes ( #2071 )
2026-03-29 20:29:12 +01:00
Philip Okugbe
2d6d829581
New translations translation.json (English) ( #2066 )
2026-03-29 16:25:45 +01:00
Philipinho
5cea30cc5c
fix markdown paste
2026-03-29 16:11:21 +01:00
Philipinho
bca85a49d6
pin marked version
2026-03-29 03:03:35 +01:00
Philipinho
c9cdfa0f17
fix
2026-03-29 02:20:56 +01:00
Philip Okugbe
412962204c
fix: editor fixes ( #2067 )
...
* autojoiner
* fix marked
* return clipboardTextSerializer as markdown
* fix clipboardTextSerializer for single lines
* cleanup two preceeding spaces in ordered lists item
* fix extra paragraph in task list
* don't zip sinple page exports
2026-03-29 02:19:09 +01:00
Olivier Lambert
a42ac3d450
fix: strip trailing whitespace-only paragraphs from pasted content ( #2050 )
2026-03-28 22:26:47 +00:00
Philipinho
642c92f779
fix select
2026-03-28 20:34:44 +00:00
Philipinho
ccb35517bb
sync
2026-03-28 20:29:31 +00:00
Philip Okugbe
cbdb37ed0a
New Crowdin updates ( #2061 )
2026-03-28 20:29:06 +00:00
Julien Fontanet
aa27d57624
fix: notification items are now real links ( #2039 )
...
Replace UnstyledButton with UnstyledButton component={Link} so each
notification renders as a real anchor element. Regular left-clicks use
SPA navigation and close the popover; Ctrl/Cmd/middle-click open the
page in a new tab. All click types mark the notification as read.
2026-03-28 20:23:21 +00:00
Philip Okugbe
3829b6cbef
feat(ee): viewer comments ( #2060 )
2026-03-28 19:32:52 +00:00
Philipinho
17da762984
overrides
2026-03-28 19:28:22 +00:00
Philipinho
859f16740b
tooltip portal
2026-03-28 19:19:00 +00:00
Philip Okugbe
7981ef462e
feat(editor): audio and PDF nodes ( #2064 )
...
* use local resizable
* feat: aduio
* support audio imports
* feat: use confluence real file names
* cleanup
* error handling
* hide notice
* add audio
* fix pulse
* Fix import and export
* unify pulse
* hide in readonly mode
* keywords
* keyword
* translations
* better sort
* feat: PDF embed
* cleanup
* remove audio menu
* open active
* hide focus on readonly mode
* increase iframe default dimension
2026-03-28 17:33:29 +00:00
Philip Okugbe
2d835da0e3
New Crowdin updates ( #2059 )
2026-03-27 22:11:19 +00:00
Philipinho
a3559b7c33
sync
2026-03-26 20:01:02 +00:00
Philip Okugbe
803f1f0b81
feat: user session management ( #2056 )
...
* user session management
* WIP
* cleanup
* license
* cleanup
* don't cache index
* rename current device property
* fix
2026-03-26 20:00:04 +00:00
Philipinho
4e8f533b91
override
2026-03-26 16:48:33 +00:00
Philipinho
7b0d8fe140
override
2026-03-26 16:46:40 +00:00
Philipinho
2f92278a9d
sync
2026-03-26 16:35:05 +00:00
Philipinho
53608eae35
clean up ws
2026-03-26 13:59:17 +00:00
Philipinho
0e4a1e7419
enum validation
2026-03-26 00:41:38 +00:00
Philipinho
9125996e97
sync
2026-03-25 10:08:36 +00:00
Philip Okugbe
fa4872e89e
fix(deps): package updates ( #2041 )
...
* update
* overrides
* override
* fix page update mutation
* fix
* cleanup
* loader
* fix excalidraw package
* override
* fix regex
2026-03-25 10:07:01 +00:00
Philipinho
6d6f3a8a8e
merge commit
2026-03-24 10:52:09 +00:00
Philip Okugbe
975b4dcaab
feat: auth pages layout ( #2042 )
...
* auth pages layout
* exclude home route from redirect
* fix margin
2026-03-22 16:40:50 +00:00
Philip Okugbe
6683c515cf
fix: make codeblock language detection performant ( #2032 )
...
* fix: make codeblock language detection performant
* lint
2026-03-17 20:40:22 +00:00
Philipinho
cc5c800238
0.70.3
2026-03-17 14:29:09 +00:00
Philipinho
cfaee93af9
fix
2026-03-17 14:28:22 +00:00
Philipinho
74eddb0638
v0.70.2
2026-03-16 13:49:50 +00:00
Philipinho
7c83a9d4f0
update dompurify
2026-03-16 13:49:20 +00:00
Philipinho
2678c4e279
fix
2026-03-16 00:32:30 +00:00
Philipinho
b0bde4b375
feat: replace link popover with dedicated bubble menu
2026-03-16 00:26:03 +00:00
Philipinho
724e37d5b7
revert
2026-03-15 23:03:32 +00:00
Philipinho
33184e9d8d
sync
2026-03-15 22:07:26 +00:00
Philip Okugbe
7520c329d0
fix notion importer ( #2027 )
...
* fix notion importer
* fix link selector on mobile
2026-03-15 22:06:40 +00:00
Philip Okugbe
d7a5fda53c
feat: better feature flags ( #2026 )
...
* feat: feature flag upgrade
* fix translations
* refactor
* fix
* fix
2026-03-15 22:05:32 +00:00
Philipinho
236a63dadc
sync
2026-03-15 17:09:29 +00:00
Philip Okugbe
89b94e5d19
feat: refactor link menu ( #2025 )
...
* link markview - WIP
* WIP
* feat: refactor links
* cleanup
2026-03-15 17:08:59 +00:00
Philip Okugbe
97c459be67
feat(cloud): add find-workspace and email verification endpoints ( #2020 )
...
* feat: add find-workspace and email verification endpoints
* sync
2026-03-14 13:36:30 +00:00
Philip Okugbe
d0ed6865cb
fix page level comment on mobile ( #2018 )
...
* add icon next to comment box
2026-03-14 01:01:24 +00:00
Philip Okugbe
65b89a1b24
fix email button ( #2017 )
2026-03-14 00:40:32 +00:00
Philip Okugbe
1fdee33206
feat(editor): add auto-save and unsaved changes protection for diagrams ( #2011 )
...
* feat(editor): add auto-save and unsaved changes protection for diagrams
* 30 seconds
2026-03-13 17:58:29 +00:00
Philip Okugbe
7b69727a30
fix shared page mention view for non-logged in users ( #2008 )
2026-03-11 19:25:27 +00:00
Philip Okugbe
66c26af34b
noop audit module ( #1994 )
2026-03-05 09:29:39 +00:00
Philip Okugbe
b4f009513e
fix: resize handle clipping ( #1990 )
2026-03-04 12:24:46 +00:00
Philipinho
fcffa3dfa0
fix media
2026-03-04 12:08:08 +00:00
Philipinho
1980b94825
0.70.1
2026-03-04 11:57:31 +00:00
Philip Okugbe
bea1637519
fix: image fallback regression ( #1989 )
...
* fix: image fallback regression
* fix image preview on upload
* fix image loading
2026-03-04 11:51:43 +00:00
Philip Okugbe
37355452e1
update release workflow
2026-03-03 20:25:39 +00:00
Philipinho
057360c6be
fix: validate import size
2026-03-03 20:00:05 +00:00
Philipinho
f12bfc1ff7
fix menu positioning
2026-03-03 18:28:55 +00:00
Olivier Lambert
f5d794220e
fix: resolve keystroke input being swallowed after link in Firefox ( #1922 )
...
* fix: resolve keystroke input being swallowed after link in Firefox
In Firefox, when the cursor is at the right boundary of a link mark,
contenteditable inserts new text inside the <a> element. ProseMirror
then rejects the DOM mutation because the link mark has inclusive: false,
causing keystrokes to be silently swallowed. Unlike Chrome, Firefox also
does not fire ProseMirror's handleTextInput callback in this state.
This adds a ProseMirror plugin that intercepts printable character
keydowns at link mark boundaries and programmatically inserts the text
without the link mark, bypassing Firefox's native contenteditable
behavior entirely.
Fixes #1773
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix: resolve keystroke input being swallowed before a link in Firefox
Extend the linkBoundaryInput plugin to also handle the left boundary
of links, where the cursor is just before a link (e.g. at the start
of a line). Firefox inserts text inside the <a> element in this case
too, causing ProseMirror to reject the mutation.
Fixes #1748
2026-03-03 17:19:03 +00:00
faruk-agentiqus
a3c1c6cccd
fix(editor): disable slash and emoji menus inside code blocks ( #1897 )
...
The slash command menu (/) and emoji menu (:) were incorrectly
triggering when typing inside code blocks, breaking keyboard
navigation and confusing users who type paths like /work or
symbols like := in their code.
Added an `allow` function to both SlashCommand and EmojiCommand
extensions that checks if the cursor is inside a code block and
disables the menu accordingly.
Closes #1730
2026-03-03 16:51:00 +00:00
MATHEUS LUIS LORSCHEITER and Copilot
4b105586a9
fix(client): ensure sidebar remains visible on shared subpages ( #1887 )
...
* fix(client): ensure sidebar remains visible on shared subpages
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-03 16:48:53 +00:00
Philip Okugbe
d2641db895
New Crowdin updates ( #1984 )
...
* 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 16:44:49 +00:00
Philipinho
1111df65cd
fix type
2026-03-03 16:22:00 +00:00
Philipinho
e455154b7d
fix
2026-03-03 16:14:35 +00:00
Philipinho
ef24b3c07d
feat: API key restriction
2026-03-03 16:07:08 +00:00
Philipinho
2352f3c5d9
sync
2026-03-03 14:44:16 +00:00
Philipinho
568dd4c321
fix headings
2026-03-03 14:17:51 +00:00
Philipinho
b6478fee84
fix imports
2026-03-03 13:57:10 +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
af92224e10
github actions
2026-03-02 21:52:58 +00:00
Philipinho
c24ff44e09
fix(deps): update dependencies
2026-03-02 21:44:24 +00:00
Philipinho
90c190df78
fix: space members view enhancement
2026-03-02 21:33:15 +00:00
Philipinho
17ec2f4ac5
lists sorting
2026-03-02 21:07:47 +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
616d9297eb
sync
2026-03-02 04:08:59 +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
Philipinho
6f1a91cc05
sync
2026-03-01 18:38:43 +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
Philipinho
dcc2bacb22
sync
2026-03-01 01:31: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
Philip Okugbe
b5803f42da
xwiki html import cleanup ( #1969 )
2026-02-24 15:53:38 +00:00
Olivier Lambert and Claude Opus 4.6
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
Philipinho
8a0217527f
token refresh, and filter inactive connections
2026-02-23 02:48:42 +00:00
Philipinho
5c3e715a10
refactor design
2026-02-23 02:33:03 +00:00
Philipinho
04f218833f
UI
2026-02-22 23:58:09 +00:00
Philipinho
4664b6ac1d
icons
2026-02-22 23:47:13 +00:00
Philipinho
602aaeb641
wip
2026-02-22 23:15:47 +00:00
Philipinho
81c6fb0d56
fix
2026-02-22 22:32:40 +00:00
Philipinho
aeb30ad096
feat: integrations
2026-02-22 20:14:33 +00:00
Philipinho
c172d3bd5e
fix
2026-02-21 00:43:49 +00:00
Philip Okugbe and Julien Fontanet
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
b4sh2 and b4sh2
d6472f0876
Merge commit from fork
...
Co-authored-by: b4sh2 <b4sh2@users.noreply.github.com >
2026-02-20 16:59:44 +00:00
Philipinho
873c963043
fix db types duplication
2026-02-19 22:34:07 +00:00
Julien Fontanet
03a70d768a
fix: allow deleting last character in headings ( #1954 )
...
The copy-link decoration widget (contentEditable="false") injected
inside headings prevented browsers from deleting the last remaining
character via Backspace or Delete keys. Only show the widget when the
heading has more than one character of content.
2026-02-18 13:48:15 +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
0ce74d34de
env validation
2026-02-16 04:11:19 +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
26b9338da5
sync
2026-02-15 23:04:18 +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
Philipinho
cb9d6be3b9
sync
2026-02-15 17:07:27 +00:00
Arek Nawo and Philipinho
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
Philipinho
41fa77b29d
sync
2026-02-14 20:03:35 -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
e0ab9d9b5e
override package
2026-02-14 10:37:11 -08:00
Philipinho
55280db672
dark color theme tweaks
2026-02-14 10:35:03 -08:00
Philipinho
32bbc6911f
override qs
2026-02-12 11:46:28 -08:00
Philipinho
5814542128
update lock file
2026-02-12 11:41:24 -08:00
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
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
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
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
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 )
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 and Jason Norwood-Young
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
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 and gpapp
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
Philip Okugbe
aa6a046aa6
feat(export): add export loading state and copy as markdown ( #1867 )
...
* feat: add loading state to export
* feat: copy as markdown
* preserve taskList comment
2026-01-24 23:30:17 +00:00
Philip Okugbe and Arek Nawo
657fdf8cb7
feat: Tiptap V3 migration ( #1854 )
...
* Tiptap3 migration - WIP
* fix collaboration
* remove unused code
* fix flicker
* disable duplicate extensions
* update tiptap version
* Switch to useEditorState
- Set shouldRerenderOnTransaction to false
* fix editable state
* add tippyoptions for reference
* merge main
* tiptap 3.6.1
* fix bubble menu
* fix converter
* fix menus
* fix collaboration caret css
* fix: Set `isInitialized` to force immediate react node view rendering
* feat: Migrate tippy.js menus to Floating UI
* feat: Update collaboration connection for HocusPocus v3
* fix: Connect/disconnect websocketProvider
* cleanup
* cleanup
* feat: Improved placeholder and upload handling for images
* feat: Improved placeholder and upload handling for videos
* refactor: Image node and view clean-up
* feat: Improved placeholder and upload handling for attachments
* fix: Video view styles
* fix: Transaction handling on asset upload
* fix: Use imageDimensionsFromStream
* feat: Multiple file upload, improved placeholders, local previews
* fix: Drag & drop, paste upload
* fix: Allow media as attachment
* * add skeleton pulse animation
* add translation strings
* fix attachment view responsiveness
* fix collab connection status display
* Tiptap v3.17.0
* fix suggestion menu exit bug
* fix search shortcut
* fix history editor css
* tiptap 3.17.1
---------
Co-authored-by: Arek Nawo <areknawo@areknawo.com >
2026-01-24 20:41:08 +00:00
Philip Okugbe
98f71c95fe
feat: stream file serving ( #1865 )
2026-01-24 17:54:56 +00:00
Philip Okugbe and gpapp
efb0a9317b
feat: allow upload of large files ( #1862 )
...
* Allow upload of large files
* feat: createByteCountingStream utility function.
---------
Co-authored-by: gpapp <gergely.papp@itworks.hu >
2026-01-22 20:00:58 +00:00
Philipinho
063ea99b66
sync
2026-01-21 18:17:48 +00:00
Philip Okugbe
aa143ad79c
refactor(db): migrate from node-postgres to postgres.js ( #1846 )
...
* refactor(db): migrate from node-postgres to postgres.js
* ignore schema param
2026-01-21 18:12:16 +00:00
Philip Okugbe
918f4508d2
feat: switch to pino for logs ( #1855 )
...
- switch to json logs in production
- add option to support http logging
2026-01-21 01:23:50 +00:00
Philipinho
5cd0ba6902
fix script
2026-01-20 22:36:19 +00:00
Philipinho
a1260188ae
fix: UI improvements
2026-01-19 21:05:34 +00:00
Philipinho
bdf02f593d
Merge branch 'feat/auto-tooltip'
2026-01-19 19:43:58 +00:00
Philipinho
e24bf5ed57
feat: auto-tooltip component
2026-01-19 19:40:06 +00:00
Philip Okugbe
f3f74c591f
fix(share): escape page title in SEO meta tags ( #1850 )
2026-01-19 19:31:28 +00:00
Philipinho
5f966a2d89
chore: add clean up command
2026-01-18 16:50:51 +00:00
Philipinho
bcb004af21
update lockfile
2026-01-16 13:22:41 +00:00
Philipinho
ac675e7d74
update dockerfile
2026-01-16 13:21:42 +00:00
Philipinho
bf89eff5e7
sync
2026-01-16 13:20:31 +00:00
Philip Okugbe
183787fa0c
fix: update dependencies ( #1843 )
2026-01-14 16:36:47 +00:00
Philipinho
15aa04a5f7
sync
2026-01-14 11:49:39 +00:00
Philipinho
79343a5d52
fix: prevent text overflow in group and space list tables
2026-01-13 16:25:42 +00:00
Philipinho
61e252918e
fix length
2026-01-13 16:13:52 +00:00
Philipinho
e98fa7f69a
sync
...
* fix form length
2026-01-13 16:13:04 +00:00
Philip Okugbe
6d148a35eb
New Crowdin updates ( #1830 )
...
* New translations translation.json (Japanese)
* New translations translation.json (Japanese)
2026-01-13 16:01:08 +00:00
Philip Okugbe
0bbc1c35de
fix: public sharing performance improvements ( #1841 )
2026-01-13 16:00:22 +00:00
Philip Okugbe
47097969a0
fix: use subquery ( #1833 )
...
- enhance file tasks list endpoint
2026-01-13 15:58:26 +00:00
Philip Okugbe
13f529e064
fix anchor scroll in same page ( #1834 )
2026-01-13 15:35:53 +00:00
Philip Okugbe
8fc8422fbc
fix: increase max length for groups and spaces ( #1840 )
2026-01-13 15:31:03 +00:00
Philipinho
732951a322
v0.24.1
2025-12-14 13:24:09 +00:00
Philipinho
2544775266
fix: switch to node slim image
2025-12-14 13:16:40 +00:00
Philipinho
d59539f197
fix ai streaming
2025-12-13 14:15:41 +00:00
Philipinho
b061df7f7d
Use new fastify router options
2025-12-13 14:15:06 +00:00
Philipinho
0fe1459864
fix: override jsonwebtoken version
2025-12-12 17:25:27 +00:00
Philipinho
6af7956889
v0.24.0
2025-12-12 17:15:59 +00:00
Philip Okugbe
3dbb957bd7
New Crowdin updates ( #1541 )
...
* 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 (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 (Russian)
* New translations translation.json (German)
* New translations translation.json (German)
* New translations translation.json (German)
* New translations translation.json (French)
* New translations translation.json (Spanish)
* 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 (Russian)
* New translations translation.json (Ukrainian)
* New translations translation.json (Ukrainian)
* New translations translation.json (Russian)
* New translations translation.json (Spanish)
* New translations translation.json (Korean)
* New translations translation.json (Korean)
* 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)
2025-12-12 17:15:19 +00:00
Philipinho
f39a4cf2d5
fix space modal spacing
2025-12-12 14:08:30 +00:00
Philipinho
724e01bd55
fix default page share state (API)
2025-12-11 20:43:26 +00:00
Philip Okugbe
6e350f6746
fix nodeview dragging ( #1775 )
2025-12-11 19:32:18 +00:00
Philip Okugbe
cb9f27da9a
fix mermaid security ( #1774 )
2025-12-11 16:44:52 +00:00
Philip Okugbe and Romik
d2629afff2
feat: anchor links ( #1765 )
...
* feat: add heading extension with unique ID support and scroll functionality
* Added unique id for heading
* remove baseUrl heading storage
* move heading to extensions package
* WIP
* support anchors in mentions
* enhance scrolling functionality
* nodeId function
* fix nanoid import
* Bring unique-id extension local
* fixes
* fix internal link scroll in public pages
* add unique id server side
* rename mention anchor to anchorId
* capture first anchorId on paste
---------
Co-authored-by: Romik <40670677+RomikMakavana@users.noreply.github.com >
2025-12-06 14:46:54 +00:00
Philip Okugbe
9139d393ef
fix: update tiptap packages ( #1755 )
...
* update tiptap version
* create empty paragraph on enter
* feat: split title text into page content on Enter
* update hocuspocus
2025-12-02 13:15:19 +00:00
Philipinho
ab96672ecd
fix
2025-12-02 13:14:03 +00:00
Philipinho
2ea3c2da58
sync
2025-12-01 14:05:59 +00:00
Philip Okugbe
9fb16bc842
feat(EE): AI vector search ( #1691 )
...
* WIP
* AI module - init
* WIP
* sync
* WIP
* refactor naming
* new columns
* sync
* sync
* fix search bug
* stream response
* WIP
* feat embeddings sync
* refine
* Add workspaceId to page events
* refine
* WIP
* add translation string
* sync
* reset ai answer on query change
* hide AI search in cloud
* capture streaming error
* sync
2025-12-01 11:50:25 +00:00
Philip Okugbe
c3b350d943
fix: zip extraction validation ( #1753 )
...
* fix: zip extraction validation
* fix
2025-12-01 11:37:59 +00:00
Philip Okugbe and sanua356
8014ba3ab7
feat: Text background highlight ( #1754 )
...
* #1196/feat: add text background highlight
* unify text color
* dark mode support
* unify text color and highlight
* dark mode support for color selector trigger
* fix see through in color selector dark mode
* fix selection highlight in dark mode
* brown color
* clean up
---------
Co-authored-by: sanua356 <sanek.pankratov356@gmail.com >
2025-12-01 11:34:35 +00:00
Philipinho
ec3a04f7c7
fix
2025-11-29 12:37:35 +00:00
Philip Okugbe
04a17c9b92
package security updates ( #1744 )
...
* package security updates
* package updates
2025-11-29 11:50:20 +00:00
Philip Okugbe
520c07a0bc
fix: generic page import hierarchy ( #1747 )
...
* fix page hierarchy
* fix
2025-11-29 11:50:02 +00:00
Philipinho
60a8ed6826
sync
2025-10-25 02:08:29 +01:00
Philip Okugbe
f5684b792e
fix duplicated page parenting ( #1692 )
2025-10-23 15:00:11 +01:00
Philipinho
042836cb6d
sync
2025-10-07 21:09:55 +01:00
Philipinho
4f1f0ba513
fix
2025-10-07 21:06:59 +01:00
Philip Okugbe
3164b6981c
feat: api keys management (EE) ( #1665 )
...
* feat: api keys (EE)
* improvements
* fix table
* fix route
* remove token suffix
* api settings
* Fix
* fix
* fix
* fix
2025-10-07 21:05:13 +01:00
Philipinho
16c1e864af
fix comment space
2025-10-07 18:44:37 +01:00
Philipinho
c9b1cad982
sync
2025-10-07 18:39:30 +01:00
Philip Okugbe
bf8cf6254f
feat: Typesense search driver (EE) ( #1664 )
...
* feat: typesense driver (EE) - WIP
* feat: typesense driver (EE) - WIP
* feat: typesense
* sync
* fix
2025-10-07 17:34:32 +01:00
Philip Okugbe
3135030376
fix editor converter ( #1647 )
2025-09-30 16:07:19 +01:00
Philip Okugbe
3fae41a5ca
fix: editor performance improvements ( #1648 )
...
* Switch to useEditorState
* change shouldRerenderOnTransaction to false
2025-09-30 14:04:01 +01:00
Philipinho
b50e25600a
sync
2025-09-28 16:44:33 +01:00
Philipinho
1f3b0c7276
cloud fix
2025-09-24 21:25:39 +01:00
Philipinho
3c4cab0d2a
v0.23.2
2025-09-18 18:00:28 +01:00
Philipinho
4de25a8b94
invalidate queries on space deletion
2025-09-18 15:52:53 +01:00
Philipinho
cf5bbb10df
fix import html processing
2025-09-18 15:34:13 +01:00
Philipinho
ac17521717
sync
2025-09-18 13:24:16 +01:00
Philip Okugbe
9ac180f719
fix: enhance page import ( #1570 )
...
* change import process
* fix processor
* fix page name in notion import
* preserve confluence table bg color
* sync
2025-09-17 23:50:27 +01:00
Philipinho
46669fea56
(cloud) disable page sharing in trial mode
2025-09-17 23:36:13 +01:00
Pleasure1234
fe6ecdf1f1
fix: update combobox props in SpaceSelect component ( #1564 )
...
Added 'keepMounted: false' and 'dropdownPadding: 0' to comboboxProps for improved dropdown behavior and appearance in the SpaceSelect sidebar component.
2025-09-17 13:36:12 +01:00
Philipinho
04ae1d7270
Allow lastColumnResizable in table
2025-09-15 22:34:29 +01:00
Philip Okugbe
1280f96f37
feat: implement space and workspace icons ( #1558 )
...
* feat: implement space and workspace icons
- Create reusable AvatarUploader component supporting avatars, space icons, and workspace icons
- Add Sharp package for server-side image resizing and optimization
- Create reusable AvatarUploader component supporting avatars, space icons, and workspace icons
- Support removing icons
* add workspace logo support
- add upload loader
- add white background to transparent image
- other fixes and enhancements
* dark mode
* fixes
* cleanup
2025-09-15 21:11:37 +01:00
Philipinho
61d1cf88a7
fix: reset file inputs after import
2025-09-15 12:52:31 +01:00
Philipinho
f413720e15
- sync
...
- reinstantiate S3 client to fix file upload errors during import
- delete import zip file after use
2025-09-14 03:00:23 +01:00
Philipinho
8e16ad952a
v0.23.1
2025-09-13 03:15:53 +01:00
Philip Okugbe
7ada3cb1f9
fix: page import task ( #1551 )
...
* fix import
* - fix notion importer
- support notion page icon import
- fix horizontal rule css
- rename service file
* sync
* 3 mins delay
2025-09-13 03:14:59 +01:00
Philipinho
47c54174b3
sync
2025-09-11 00:50:15 +01:00
Philipinho
dc0650289d
sync
2025-09-04 15:07:01 -07:00
Philipinho
091e790b83
fix attachment search in cloud
2025-09-04 14:22:40 -07:00
Philipinho
ae24ea29ba
v0.23.0
2025-09-04 13:42:59 -07:00
Philipinho
9df6061e1a
lock file
2025-09-04 13:42:33 -07:00
Philipinho
31053e2b20
update mermaid
2025-09-04 13:41:55 -07:00
Philipinho
eb8e8507ea
use debug
2025-09-04 13:27:15 -07:00
Philipinho
c99bfb8ef1
make print better
2025-09-04 13:22:43 -07:00
Philipinho
26ea04e2a3
sync
2025-09-04 12:25:53 -07:00
Philipinho
6cc58c57f5
sync
2025-09-04 12:16:30 -07:00
Philipinho
7d2ff346fa
UI fixes
2025-09-04 11:35:04 -07:00
Philipinho
b08d37fbf0
fix
2025-09-04 10:57:17 -07:00
Philipinho
d43ee77617
remove debug log
2025-09-04 09:40:17 -07:00
Philipinho
5d91eb4f5f
feat: queue imported attachments for indexing
2025-09-04 09:38:30 -07:00
Quinten Van Damme
3e9f6b11cc
Remove version from docker-compose.yml [deprecated] ( #1011 )
2025-09-04 03:55:32 +01:00
Hoie Kim and Philipinho
db55de9406
feat: progressive web app ( #614 )
...
* feat: progressive web app
* replace icons
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-09-04 01:33:52 +01:00
Philip Okugbe
1919eba340
New Crowdin updates ( #1522 )
...
* 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)
2025-09-03 13:17:08 -07:00
Philip Okugbe
7951b2e0c6
New Crowdin updates ( #1509 )
...
* 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)
2025-09-03 18:28:30 +01:00
Philipinho
73b78f625d
more translations
2025-09-03 10:11:19 -07:00
Philipinho
cf7534de3d
fix version display
2025-09-03 09:37:29 -07:00
Philipinho
adec36d544
fix: adjust margins
...
- use default browser highlight background
2025-09-02 21:45:38 -07:00
Philipinho
f9e10805f0
sync
2025-09-02 21:38:14 -07:00
Eshwar Tangirala
00e499b3e5
Fixing extra page bug on print ( #1478 )
2025-09-03 05:25:48 +01:00
Sarthak Mittal
5ee6e46535
checkbox aligned to text ( #1486 )
2025-09-03 05:23:28 +01:00
Philip Okugbe
1f797c3d27
fix: confluence drawio import ( #1518 )
...
* POC
* WIP - working
* WIP
* WIP
* sync
* fix drawio preview image
2025-09-03 05:19:09 +01:00
Philip Okugbe
f12866cf42
feat(EE): full-text search in attachments ( #1502 )
...
* feat(EE): fulltext search in attachments
* feat: global search
- search filters
- attachments search ui
- and more
* fix import
* fix import
* rename migration
* add GIN index
* fix table name
* sanitize
2025-09-02 05:27:01 +01:00
Philip Okugbe
dcbb65d799
feat(EE): LDAP integration ( #1515 )
...
* LDAP - WIP
* WIP
* add hasGeneratedPassword
* fix jotai atom
* - don't require password confirmation for MFA is user has auto generated password (LDAP)
- cleanups
* fix
* reorder
* update migration
* update default
* fix type error
2025-09-02 04:59:01 +01:00
Finn Dittmar
5968764508
feat: emoji callout icon ( #1323 )
2025-08-31 21:16:52 +01:00
Alexander Schaber
242fb6bb57
fix: set mermaid theme based on computed color scheme ( #1438 )
2025-08-31 20:48:59 +01:00
Philip Okugbe
74cd890bdd
feat(EE): implement SSO group sync for SAML and OIDC ( #1452 )
...
* feat: implement SSO group synchronization for SAML and OIDC
- Add group_sync column to auth_providers table
- Extract groups from SAML attributes (memberOf, groups, roles)
- Extract groups from OIDC claims (groups, roles)
- Implement case-insensitive group matching with auto-creation
- Sync user groups on each SSO login
- Ensure only one provider can have group sync enabled at a time
- Add group sync toggle to SAML and OIDC configuration forms
* rename column
2025-08-31 20:33:37 +01:00
Philipinho
509622af54
ignore type error
2025-08-31 12:20:40 -07:00
Philipinho
937386e42b
fix: hide table handles in readonly mode
2025-08-31 12:08:02 -07:00
Philipinho
60a373f488
fix: readonly editor table responsiveness
2025-08-31 12:04:27 -07:00
Philip Okugbe
73ee6ee8c3
feat: subpages (child pages) list node ( #1462 )
...
* feat: subpages list node
* disable user-select
* support subpages node list in public pages
2025-08-31 18:54:52 +01:00
Mirone
7d1e5bce0d
feat: table row/column drag and drop ( #1467 )
...
* chore: add dev container
* feat: add drag handle when hovering cell
* feat: add column drag and drop
* feat: add support for row drag and drop
* refactor: extract preview controllers
* fix: hover issue
* refactor: add handle controller
* chore: f
* chore: remove log
* chore: remove dev files
* feat: hide other drop indicators when table dnd working
* feat: add auto scroll and bug fix
* chore: f
* fix: firefox
2025-08-31 18:53:27 +01:00
Philip Okugbe
aa58e272d6
fix: exclude deleted pages ( #1494 )
2025-08-31 09:11:33 +01:00
Philipinho
08135a2fba
sync
2025-08-12 11:09:26 -07:00
Philipinho
d92a94244f
sync
2025-08-12 10:21:17 -07:00
Philipinho
5012a68d85
sync
2025-08-06 10:19:35 -07:00
Philip Okugbe
5a3377790e
feat: debug mode env variable ( #1450 )
2025-08-06 18:16:30 +01:00
Philip Okugbe
3b85f4b616
fix: enforce C collation for page position ordering to ensure consistent behavior in Postgres 17+ ( #1446 )
...
- Add explicit C collation to position ordering queries to fix incorrect page placement in PostgreSQL 17+
- Ensures consistent ASCII-based ordering regardless of database locale settings
- Fixes issue where new pages were incorrectly placed at random positions instead of bottom
2025-08-04 09:49:29 +01:00
Philipinho
cb2a0398c7
fix: invalidate trashed page from tree state
2025-08-04 00:42:13 -07:00
Philip Okugbe
95b7be61df
fix: hide trash from can view permission ( #1445 )
2025-08-04 08:35:28 +01:00
Philip Okugbe
b0c557272d
fix nested taskList in markdown export ( #1443 )
2025-08-04 08:01:18 +01:00
Philip Okugbe
dddfd48934
feat: add attachments support for single page exports ( #1440 )
...
* feat: add attachments support for single page exports
- Add includeAttachments option to page export modal and API
- Fix internal page url in single page exports in cloud
* remove redundant line
* preserve export state
2025-08-04 08:01:11 +01:00
Philipinho
aa6eec754e
fix: exclude trashed pages from position generation
2025-08-04 00:00:06 -07:00
Philip Okugbe
97a7701f5d
fix local storage copy function ( #1442 )
2025-08-04 03:20:18 +01:00
Philipinho
b97eb85d05
sync
2025-08-03 03:59:08 -07:00
Philipinho
1615e0f4ad
v0.22.2
2025-08-01 16:15:02 -07:00
Philip Okugbe
1cb2535de3
fix trash in search ( #1439 )
...
- delete share if page is trashed
2025-08-02 00:14:00 +01:00
Philipinho
83bc273cb0
cleanup
2025-08-01 07:05:25 -07:00
Philipinho
c7beaa3742
v0.22.1
2025-08-01 06:54:28 -07:00
Philipinho
4a228e5a51
fix comment replies
2025-08-01 06:51:56 -07:00
Philipinho
edff375476
sync
2025-08-01 02:54:11 -07:00
Philipinho
95016b2bfc
sync
2025-08-01 02:51:55 -07:00
Philipinho
ca83712364
cleanup
2025-08-01 02:26:14 -07:00
Philip Okugbe
39550fe906
fix: duplicate page position bug ( #1431 )
2025-07-30 18:07:06 +01:00
Philipinho
e74ecb2604
v0.22.0
2025-07-29 15:22:46 -07:00
Philipinho
992fb23160
update lock file
2025-07-29 15:04:38 -07:00
Philipinho
d58a3bba9b
update linkify
2025-07-29 14:59:50 -07:00
Philipinho
6ef47fc432
show button only if necessary
2025-07-29 14:59:23 -07:00
Philipinho
9e6765d83c
fix
2025-07-29 14:51:55 -07:00
Philipinho
ec0ed5c630
fix import
2025-07-29 14:50:59 -07:00
Philipinho
77b334ea37
reorder migration
2025-07-29 14:49:19 -07:00
Philip Okugbe
5da92a538a
feat: add unaccent support for accent-insensitive search ( #1402 )
...
- Add PostgreSQL unaccent and pg_trgm extensions
- Create immutable f_unaccent wrapper function for performance
- Update all search queries to use f_unaccent for accent-insensitive matching
- Add 1MB limit to tsvector content to prevent errors on large documents
- Update full-text search trigger to use f_unaccent
- Fix MultiSelect client-side filtering to show server results properly
2025-07-29 22:47:13 +01:00
Philipinho
f90c5a636b
cleanup comment
2025-07-29 14:30:45 -07:00
Philipinho
6db93ef0c7
upsell
2025-07-29 14:28:40 -07:00
Philip Okugbe
a3d058042f
New Crowdin updates ( #1342 )
...
* New translations translation.json (German)
* New translations translation.json (Spanish)
* New translations translation.json (Russian)
* New translations translation.json (Spanish)
* New translations translation.json (Russian)
* New translations translation.json (French)
* 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 (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 (Russian)
* New translations translation.json (French)
* 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 (Ukrainian)
* New translations translation.json (Chinese Simplified)
* New translations translation.json (Portuguese, Brazilian)
2025-07-29 21:53:16 +01:00
Philipinho
4ab9261cf5
sync
2025-07-29 13:41:07 -07:00
Philip Okugbe
ca9558b246
feat(EE): resolve comments ( #1420 )
...
* feat: resolve comment (EE)
* Add resolve to comment mark in editor (EE)
* comment ui permissions
* sticky comment state tabs (EE)
* cleanup
* feat: add space_id to comments and allow space admins to delete any comment
- Add space_id column to comments table with data migration from pages
- Add last_edited_by_id, resolved_by_id, and updated_at columns to comments
- Update comment deletion permissions to allow space admins to delete any comment
- Backfill space_id on old comments
* fix foreign keys
2025-07-29 21:36:48 +01:00
Eddy Oyieko and Philipinho
ec12e80423
feat: trash for deleted pages in space ( #325 )
...
* initial commit
* added recycle bin modal, updated api routes
* updated page service & controller, recycle bin modal
* updated page-query.ts, use-tree-mutation.ts, recycled-pages.ts
* removed quotes from openRestorePageModal prompt
* Updated page.repo.ts
* move button to space menu
* fix react issues
* opted to reload to enact changes in the client
* lint
* hide deleted pages in recents, handle restore child page
* fix null check
* WIP
* WIP
* feat: implement dedicated trash page
- Replace modal-based trash view with dedicated route `/s/:spaceSlug/trash`
- Add pagination support for deleted pages
- Other improvements
* fix translation
* trash cleanup cron
* cleanup
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-07-29 21:20:49 +01:00
Philip Okugbe
28fcb11cb4
update passport-saml ( #1418 )
2025-07-29 19:30:53 +01:00
Philip Okugbe
6b627d289c
fix xss in generic iframe embed ( #1419 )
2025-07-29 19:28:48 +01:00
Philip Okugbe
78bce0e29d
fix: validate public avatar path ( #1416 )
2025-07-28 18:17:06 +01:00
Philip Okugbe
0bd7ecb9b0
feat: enhance table cells with rich content support ( #1409 )
...
- Support multiple content types in table cells and headers: paragraphs, headings, lists (bullet/ordered/task), blockquotes, callouts, images, videos, attachments, math blocks, toggles, and code blocks
- Add custom table extension with smart Tab key handling for list indentation within tables
- Preserve default table navigation when not in lists
2025-07-28 08:22:22 +01:00
Philip Okugbe
1f815880a4
Revert "feat: set mermaid theme based on computed color scheme ( #1397 )" ( #1412 )
...
This reverts commit 32c7ecd9cf .
2025-07-26 01:34:15 +01:00
Philipinho
37b9056070
sync
2025-07-24 16:38:32 -07:00
Philip Okugbe
ad5cf1e18b
feat: add resizable embed component │ ( #1401 )
...
- Created reusable ResizableWrapper component
- Added drag-to-resize functionality for embeds
2025-07-25 00:23:14 +01:00
Alexander Schaber
32c7ecd9cf
feat: set mermaid theme based on computed color scheme ( #1397 )
...
Use Mantine's `useComputedColorScheme` hook to dynamically configure mermaid's theme.
- When the computed color scheme is "light", the theme is set to "default".
- Otherwise, it is set to "dark".
2025-07-25 00:22:27 +01:00
Philip Okugbe
b30bf61dc4
feat: home space list ( #1400 )
2025-07-25 00:21:40 +01:00
Philip Okugbe
662460252f
feat(EE): MFA implementation ( #1381 )
...
* feat(EE): MFA implementation for enterprise edition
- Add TOTP-based two-factor authentication
- Add backup codes support
- Add MFA enforcement at workspace level
- Add MFA setup and challenge UI pages
- Support MFA for login and password reset flows
- Add MFA validation for secure pages
* fix types
* remove unused object
* sync
* remove unused type
* sync
* refactor: rename MFA enabled field to is_enabled
* sync
2025-07-25 00:18:53 +01:00
Philip Okugbe
8522844673
feat: duplicate page in same space ( #1394 )
...
* fix internal links in copies pages
* feat: duplicate page in same space
* fix children
2025-07-21 21:39:57 +01:00
Philip Okugbe
f8dc9845a7
fix page tree api atom ( #1391 )
...
- The tree api atom state is not always set, which makes it impossble to create new pages since the buttons rely on it.
- this should fix it.
2025-07-21 05:02:40 +01:00
Philip Okugbe
4dfed2b2af
queue import attachments upload ( #1353 )
2025-07-19 18:00:06 +01:00
Philip Okugbe
44e592763d
feat: quick theme toggle and Mantine 8 upgrade ( #1369 )
...
* upgrade to mantine v8
* feat: quick theme toggle
2025-07-15 06:28:27 +01:00
Philip Okugbe
90488a95b1
feat: table background color, cell header and align ( #1352 )
...
* feat: add toggle header cell button to table cell menu
Added ability to toggle header cells directly from the table cell menu. This enhancement includes:
- New toggle header cell button with IconTableRow icon
- Consistent UI/UX with existing table menu patterns
- Proper internationalization support
* fix: typo in aria-label for toggle header cell button
* feat: add table cell background color picker
- Extended TableCell and TableHeader to support backgroundColor attribute
- Created TableBackgroundColor component with 21 color options
- Integrated color picker into table cell menu using Mantine UI
- Added support for both regular cells and header cells
- Updated imports to use custom TableHeader from @docmost/editor-ext
* feat: add text alignment to table cell menu
- Created TableTextAlignment component with left, center, and right alignment options
- Integrated alignment selector into table cell menu
- Shows current alignment icon in the button
- Displays checkmark next to active alignment in dropdown
* background colors
* table background color in dark mode
* add bg color name
* rename color attribute
* increase minimum table width
2025-07-15 06:27:48 +01:00
Philip Okugbe
9f39987404
fix: nested ordered-list style ( #1351 )
...
* feat: dynamic ordered-list style
* fix nested task list import
2025-07-15 02:43:59 +01:00
Philipinho
16ec218ba7
fix: deactivated user check
2025-07-14 10:28:42 -07:00
Philipinho
608783b5cf
(cloud) billing copy
2025-07-14 03:56:26 -07:00
Philipinho
5f5f1484db
throw early
2025-07-14 03:53:07 -07:00
Philip Okugbe
f4082171ec
feat: display user email below name in multi-member-select dropdown ( #1355 )
...
- Added email field to user items mapping
- Updated renderMultiSelectOption to show email in smaller, dimmed text
- Email only displays for user type options, not groups
2025-07-14 10:37:13 +01:00
fuscodev
6792a191b1
feat: Ctrl/Cmd+S: prevent 'Save As' dialog ( #1272 )
...
* init
* remove: force save
* switch from event.key to event.code by sanua356
2025-07-14 10:36:24 +01:00
Philip Okugbe
e51a93221c
more checks for collab auth token ( #1345 )
2025-07-14 10:35:03 +01:00
Philip Okugbe
e856c8eb69
(cloud) fix: updates to billing ( #1367 )
...
* billing updates (cloud)
* old billing grace period
2025-07-14 10:34:18 +01:00
Philip Okugbe
c2c165528b
fix: seamlessly update editor collab token on expiration ( #1366 )
2025-07-14 07:19:06 +01:00
Philipinho
9fa2b9636c
make sure editor is ready for editor search
2025-07-13 15:38:29 -07:00
fuscodev and Philipinho
29388636bf
feat: find and replace in editor ( #689 )
...
* feat: page find and replace
* * Refactor search and replace directory
* bugfix scroll
* Fix search and replace functionality for macOS and improve UX
- Fixed cmd+f shortcut to work on macOS (using 'Mod' key instead of 'Control')
- Added search functionality to title editor
- Fixed "Not found" message showing when search term is empty
- Fixed tooltip error when clicking replace button
- Changed replace button from icon to text for consistency
- Reduced width of search input fields for better UI
- Fixed result index after replace operation to prevent out-of-bounds error
- Added missing translation strings for search and replace dialog
- Updated tooltip to show platform-specific shortcuts (⌘F on Mac, Ctrl-F on others)
* Hide replace functionality for users with view-only permissions
- Added editable prop to SearchAndReplaceDialog component
- Pass editable state from PageEditor to SearchAndReplaceDialog
- Conditionally render replace button based on edit permissions
- Hide replace input section for view-only users
- Disable Alt+R shortcut when user lacks edit permissions
* Fix search dialog not closing properly when navigating away
- Clear all state (search text, replace text) when closing dialog
- Reset replace button visibility state on close
- Clear editor search term to remove highlights
- Ensure dialog closes properly when route changes
* fix: preserve text marks (comments, etc.) when replacing text in search and replace
- Collect all marks that span the text being replaced using nodesBetween
- Apply collected marks to the replacement text to maintain formatting
- Fixes issue where comment marks were being removed during text replacement
* ignore type error
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-07-10 04:40:07 +01:00
Philipinho
f80004817c
sync
2025-07-08 16:05:34 -07:00
Finn Dittmar
ac79a185de
fix ctrl-a for codeblocks ( #1336 )
2025-07-08 22:13:21 +01:00
Philipinho
27a9c0ebe4
sync
2025-07-07 14:55:09 -07:00
Philipinho
81ffa6f459
sync
2025-07-03 04:12:24 -07:00
Whai
5364702b69
fix: comments block on edge and older browser ( #1310 )
...
* fix: overflow on edge and older browser
2025-07-01 05:14:08 +01:00
Philipinho
232cea8cc9
sync
2025-06-27 03:20:01 -07:00
Philipinho
b9643d3584
sync
2025-06-27 03:07:51 -07:00
Philip Okugbe
9f144d35fb
posthog integration (cloud) ( #1304 )
2025-06-27 10:58:36 +01:00
Philip Okugbe
e44c170873
fix editor flickers on collab reconnection ( #1295 )
...
* fix editor flickers on reconnection
* cleanup
* adjust copy
2025-06-27 10:58:18 +01:00
Philipinho
1be39d4353
sync
2025-06-27 02:22:11 -07:00
Philipinho
36d028ef4d
sync
2025-06-24 05:53:59 -07:00
Philip Okugbe
f5a36c60e8
feat: tiered billing (cloud) ( #1294 )
...
* feat: tiered billing (cloud)
* custom tier
2025-06-24 13:22:38 +01:00
Finn Dittmar and Philipinho
d5b84ae0b8
Only allow changing the email if the correct password is provided ( #1288 )
...
* fix
* fix overwriting password
* finalize
* BadRequestException
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-06-24 09:02:55 +01:00
Philip Okugbe
e775e4dd8c
fix(editor): prevent text color removal from other list items when setting color in lists ( #1289 )
...
Only unset color when 'Default' is selected. This ensures setting color on one list item does not remove it from others.
2025-06-23 19:31:30 +01:00
Philipinho
65b01038d7
v0.21.0
2025-06-18 14:28:14 -07:00
Philipinho
e07cb57b01
sync
2025-06-18 14:25:40 -07:00
Philipinho
2b53e0a455
fix: add import size limit to static window config
2025-06-18 13:58:41 -07:00
Auxa
b9b3406b28
Fix: Prevent premature focus change in TitleEditor when pressing Enter during IME composition ( #730 )
...
* fix: Prevents key events during text composition
Stops handling title key events when composing text,
ensuring proper input behavior during IME use.
* Refines IME composition event checks
Separates IME composition control from shift key logic and adds a Safari-specific keyCode check to prevent premature focus shifts during IME input.
2025-06-18 21:33:35 +01:00
Philip Okugbe
728cac0a34
fix word counter ( #1269 )
2025-06-18 21:32:11 +01:00
Philipinho
d35e16010b
handle empty invitation
2025-06-18 13:10:32 -07:00
Philipinho
15791d4e59
sync
2025-06-18 12:50:43 -07:00
Philip Okugbe
3318e13225
fix: use JWT expiry time for cookie duration ( #1268 )
...
* Set default jwt expiry to 90 days.
2025-06-18 20:50:11 +01:00
Philipinho
080900610d
cleanup
2025-06-17 16:14:06 -07:00
fuscodev and Philipinho
d1dc6977ab
feat: edit mode preference ( #666 )
...
* lock/unlock pages
* remove using isLocked column - add default page edit state preference
* * Move state management to editors (avoids flickers on edit mode switch)
* Rename variables
* Add strings to translation file
* Memoize components in page component
* Fix title editor sending update request on editable state change
* fixed errors merging main
* Fix embed view in read-only mode
* remove unused line
* sync
* fix responsiveness on mobile
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-06-18 00:11:47 +01:00
Philip Okugbe
5f62448894
less create workspace form fields in cloud ( #1265 )
...
* sync
* less signup form fields in cloud
* min length
2025-06-17 23:56:07 +01:00
Philip Okugbe
44445fbf46
fix: enforce SSO in invitation signups ( #1258 )
2025-06-15 20:25:15 +01:00
Philip Okugbe
1c674efddd
fix: revert tiptap version ( #1255 )
2025-06-13 21:38:49 +01:00
Philip Okugbe
ccf7e34e99
feat: ukrainian language support ( #1250 )
2025-06-11 23:31:45 +01:00
Philip Okugbe
f39d48d6ee
New Crowdin updates ( #1063 )
...
* New translations translation.json
2025-06-11 23:21:01 +01:00
Philip Okugbe
f584ea84b0
chore: upgrade packages ( #1242 )
...
* upgrade tiptap editor extensions
* upgrade packages
* fix type issue
2025-06-11 23:18:39 +01:00
Chai
bc0c4d6258
fix: make link popup work on safari ( #1243 )
...
* fix: make link popup work on safari
* fix: second iteration
* chore: cleanup
* chore: format
* chore: undo unused stuff
2025-06-11 23:09:59 +01:00
Philip Okugbe and Drauggy
d8da307a61
feat: enhance excalidraw ( #1240 )
...
* WIP
* use next excalidraw version
* support local persistence for excalidraw library.
Co-authored-by: Drauggy <n.fomenko@safe-tech.ru >
---------
Co-authored-by: Drauggy <n.fomenko@safe-tech.ru >
2025-06-09 23:25:36 +01:00
Philip Okugbe
50b3f9ddd9
generic iframe embed ( #1234 )
2025-06-09 22:32:23 +01:00
Philip Okugbe
0029f84d50
feat: toggle table header row and column ( #1203 )
...
* feat: toggle table header row and column
* switch position
2025-06-09 05:39:43 +01:00
Philip Okugbe
6d024fc3de
feat: bulk page imports ( #1219 )
...
* refactor imports - WIP
* Add readstream
* WIP
* fix attachmentId render
* fix attachmentId render
* turndown video tag
* feat: add stream upload support and improve file handling
- Add stream upload functionality to storage drivers\n- Improve ZIP file extraction with better encoding handling\n- Fix attachment ID rendering issues\n- Add AWS S3 upload stream support\n- Update dependencies for better compatibility
* WIP
* notion formatter
* move embed parser to editor-ext package
* import embeds
* utility files
* cleanup
* Switch from happy-dom to cheerio
* Refine code
* WIP
* bug fixes and UI
* sync
* WIP
* sync
* keep import modal mounted
* Show modal during upload
* WIP
* WIP
2025-06-09 04:29:27 +01:00
fuscodev
ce1503af85
fix: sidebar list when changing workspace ( #1150 )
...
* init
* navigate in overview if current page is in deleted node
* fix: implement pagination in sidebar-pages queries
* fix: appendNodeChildren()
Preserve deeper children if they exist and remove node if deleted
2025-06-08 03:27:09 +01:00
Philipinho
69447fc375
Merge branch 'main' of https://github.com/docmost/docmost
2025-05-21 08:43:56 -07:00
Philipinho
858ff9da06
sync
2025-05-20 09:27:30 -07:00
sanua356
343b2976c2
#1186/chore: add support language abap syntax highlight ( #1188 )
2025-05-19 20:05:31 +01:00
Philip Okugbe
7491224d0f
hide shared page branding in EE ( #1193 )
...
* hide shared page branding in EE
* Hide branding in business plan
2025-05-17 19:17:34 +01:00
Philip Okugbe
4a0b4040ed
Add second plan ( #1187 )
2025-05-17 19:03:01 +01:00
fuscodev and Philipinho
e3ba817723
feat: comment editor emoji picker and ctrl+enter action ( #1121 )
...
* commenteditor-emoji-picker
* capture Mac command key
* remove tooltip
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-05-16 20:01:27 +01:00
fuscodev
b0491d5da4
feat: create new page from mention ( #1153 )
...
* init
* create page in relative parent root
2025-05-16 19:15:11 +01:00
极地
1c200dbd0f
fix(table-hover): adjust row height to prevent unexpected scrollbar on hover ( #1124 )
...
fix: Hover table style height error causing scrollbar to appear #1108
2025-05-16 16:26:05 +01:00
fuscodev
fb7e4a7956
fix: copy/move select ( #1174 )
2025-05-16 16:24:31 +01:00
fuscodev
1413033568
feat: realtime comments ( #1144 )
...
* init
* fix: close bubblemenu after comment and wait before scroll
* scroll to comment when click
* highlight comment animation
2025-05-16 16:18:23 +01:00
fuscodev
00f4588c21
fix title update ( #1154 )
2025-05-16 16:11:29 +01:00
fuscodev
3a75251e75
fix alignment in shared page ( #1123 )
2025-05-16 16:00:47 +01:00
Philipinho
c6bca6a602
fix deprecated kysely usage
2025-05-09 16:44:33 +01:00
edo0
55d1a2c932
Fix typo in enforce-sso.tsx ( #1145 )
2025-05-09 11:11:02 +01:00
Philipinho
bc3cb2d63f
fix: increase random subdomain suffix
2025-05-07 15:10:58 +01:00
Philipinho
7adbf85030
v0.20.4
2025-04-30 14:44:58 +01:00
Philip Okugbe
de7982fe30
feat: copy page to different space ( #1118 )
...
* Add copy page to space endpoint
* copy storage function
* copy function
* feat: copy attachments too
* Copy page - WIP
* fix type
* sync
* cleanup
2025-04-30 14:43:16 +01:00
Philipinho
0402f7efb5
sync
2025-04-30 14:33:01 +01:00
Philipinho
8327251ab6
fix typo
2025-04-29 23:30:12 +01:00
Philip Okugbe
e8847bd9cd
fix: handle unhandled exceptions ( #1116 )
...
* Handle unhandled exceptions
* cleanup
2025-04-29 23:29:00 +01:00
Philipinho
9bbd62e0f0
v0.20.3
2025-04-24 23:22:53 +01:00
Philipinho
0289c5cb09
Reduce markdown checkbox space
2025-04-24 23:19:39 +01:00
Philip Okugbe
7993532111
fix page export ( #1081 )
2025-04-24 23:18:54 +01:00
Philipinho
31e5c0c660
v0.20.2
2025-04-24 17:57:14 +01:00
Philipinho
33c314d4e8
remove clickoutside hook
2025-04-24 17:56:54 +01:00
Philipinho
08f223899a
cloud trial refactor
2025-04-23 16:07:58 +01:00
Philipinho
c528f7e858
v0.20.1
2025-04-23 14:34:28 +01:00
Philip Okugbe
c26a851d52
feat: enhance public sharing ( #1057 )
...
* fix tree nodes sort
* remove comment mark in shares
* remove clickoutside hook for now
* feat: search in shared pages
* fix user-select
* use Link
* render page icons
2025-04-23 14:32:35 +01:00
Philipinho
de5f90309c
v0.20.0
2025-04-22 22:49:45 +01:00
Philipinho
0ec3ff2965
Add empty placeholder text
2025-04-22 22:48:12 +01:00
Philipinho
acffeacdbc
fix TOC
2025-04-22 22:47:34 +01:00
Philip Okugbe
00d92a3690
New Crowdin updates ( #1008 )
...
* New translations translation.json (Russian)
* New translations translation.json (Russian)
* New translations translation.json (Chinese Simplified)
* New translations translation.json (Spanish)
* 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 (Chinese Simplified)
* New translations translation.json (English)
* New translations translation.json (Portuguese, Brazilian)
2025-04-22 20:57:07 +01:00
Diego Ochoa and Philipinho
3430f715ec
feat: remember and restore previous route when exiting settings ( #1046 )
...
Improves user experience by allowing users to return to the previous
page after visiting the Settings section.
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-04-22 20:47:57 +01:00
Philip Okugbe
6c422011ac
feat: public page sharing ( #1012 )
...
* Share - WIP
* - public attachment links
- WIP
* WIP
* WIP
* Share - WIP
* WIP
* WIP
* include userRole in space object
* WIP
* Server render shared page meta tags
* disable user select
* Close Navbar on outside click on mobile
* update shared page spaceId
* WIP
* fix
* close sidebar on click
* close sidebar
* defaults
* update copy
* Store share key in lowercase
* refactor page breadcrumbs
* Change copy
* add link ref
* open link button
* add meta og:title
* add twitter tags
* WIP
* make shares/info endpoint public
* fix
* * add /p/ segment to share urls
* minore fixes
* change mobile breadcrumb icon
2025-04-22 20:37:32 +01:00
Philipinho
3e8824435d
update vite and axios
2025-04-22 20:28:27 +01:00
Philip Okugbe
37a1804db9
Revert "switch to vite rolldown ( #1048 )" ( #1050 )
...
This reverts commit 1a1b2c8682 .
2025-04-22 20:00:36 +01:00
Philip Okugbe
882f3093bd
search space members by email ( #1049 )
2025-04-22 19:37:06 +01:00
Philip Okugbe
1a1b2c8682
switch to vite rolldown ( #1048 )
...
* switch to vite rolldown
* update
2025-04-22 15:52:44 +01:00
Philip Okugbe
10b67929ea
Update README.md
2025-04-21 21:50:21 +01:00
Philip Okugbe
5c957fda8d
fix: nested tree open state
2025-04-21 19:24:25 +01:00
Philip Okugbe
862f6d4820
use non-esm nanoid version ( #1040 )
2025-04-19 19:45:09 +01:00
Philipinho
de57d05199
0.10.2
2025-04-15 12:48:40 +01:00
Philipinho
89ec990232
sync ee
2025-04-15 12:46:28 +01:00
Philipinho
49d0f1cc9a
Add click handler
2025-04-11 13:41:43 +01:00
Philipinho
268001ae26
v0.10.1
2025-04-11 13:23:42 +01:00
Philip Okugbe
27fa45a769
fix local attachment paths in exports ( #1013 )
2025-04-11 13:18:44 +01:00
Philipinho
f9711918a3
fix comment editor padding
2025-04-11 12:32:54 +01:00
Philipinho
29bb52db0c
v0.10.0
2025-04-09 19:14:51 +01:00
Philipinho
f2241db5ee
remove beta message
2025-04-09 19:14:33 +01:00
Philipinho
58d1855a36
fix hash check
2025-04-09 19:03:27 +01:00
Philipinho
7fe3c5f177
* time ago hook
2025-04-09 18:47:39 +01:00
Philipinho
5fd477d074
collapse by default in node-edit mode
2025-04-09 15:46:29 +01:00
Philip Okugbe
4aa5d7e326
hide history action menu for can-view role ( #1001 )
2025-04-09 15:42:29 +01:00
Philipinho
7f7f2bccd0
fix toggle node in non-edit mode
2025-04-09 15:37:18 +01:00
Philip Okugbe
a9f370660b
New Crowdin updates ( #1005 )
...
* 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 (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 (Chinese Simplified)
* New translations translation.json (Portuguese, Brazilian)
2025-04-08 17:28:33 +01:00
Philipinho
117c7049ff
fix
2025-04-08 17:15:09 +01:00
Philipinho
cd10365f71
new translations
2025-04-08 17:10:48 +01:00
Philip Okugbe
ee30d9d0f2
New Crowdin updates ( #1003 )
...
* New translations translation.json (French)
* New translations translation.json (Italian)
* New translations translation.json (Japanese)
* New translations translation.json (Korean)
* New translations translation.json (Russian)
* New translations translation.json (Chinese Simplified)
* New translations translation.json (English)
* New translations translation.json (Portuguese, Brazilian)
2025-04-08 17:10:08 +01:00
Philipinho
276ececbf2
cleanup
2025-04-08 17:06:32 +01:00
Philipinho
fa194a497c
cleanup
2025-04-08 17:04:43 +01:00
Philip Okugbe
1eaba6e77f
fix: bug fixes ( #1000 )
...
* sort by groups first
* add scroll area
* fix group members pagination
* move pagination to the right
2025-04-08 13:34:00 +01:00
Philipinho
651e5f6153
null check
2025-04-08 11:59:47 +01:00
Philip Okugbe
7431804a46
feat: delete workspace member ( #987 )
...
* add delete user endpoint (server)
* delete user (UI)
* prevent token generation
* more checks
2025-04-07 19:26:03 +01:00
Philipinho
3559358d14
fix pagination issue where user is not part of any space
2025-04-07 19:09:02 +01:00
Philipinho
06270ff747
- fixes
...
- allow mail from address override
- queue cloud emails
2025-04-07 19:07:10 +01:00
sanua356 and Philipinho
233536314f
feat: add Table of contents ( #981 )
...
* chore: add table of contents module
* refactor
* lint
* null check
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-04-05 19:03:42 +01:00
Philip Okugbe and plekhanov
17ce3bab8a
feat: move page between spaces ( #988 )
...
* feat: Move the page to another space
- The ability to move a page to another space has been added
* feat: Move the page to another space
* feat: Move the page to another space
- Correction of the visibility attribute of elements that extend beyond the boundaries of the space selection modal window
* feat: Move the page to another space
- Added removal of query keys when moving pages
* feat: Move the page to another space
- Fix locales
* feat: Move the page to another space
* feat: Move the page to another space
- Fix docker compose
* feat: Move the page to another space
* feat: Move the page to another space
- Some refactor
* feat: Move the page to another space
- Attachments update
* feat: Move the page to another space
- The function of searching for attachments by page ID and updating attachments has been combined
* feat: Move the page to another space
- Fix variable name
* feat: Move the page to another space
- Move current space to parameter of component SpaceSelectionModal
* refactor ui
---------
Co-authored-by: plekhanov <astecom@mail.ru >
2025-04-04 23:44:18 +01:00
Philip Okugbe
b27d1708b0
queue trial ended job ( #992 )
2025-04-04 23:35:08 +01:00
Philip Okugbe
64f0531093
feat: keep track of page contributors ( #959 )
...
* WIP
* feat: store and retrieve page contributors
2025-04-04 13:03:57 +01:00
fuscodev and Philipinho
8aa604637e
feat: nested toggle block ( #671 )
...
* feat: nested toggle block
* fix: md export
* fix detailsButton icon alignment
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-04-04 13:01:39 +01:00
Philipinho
7ca2b437d4
sync
2025-04-03 14:08:06 +01:00
Philip Okugbe
595bd1dc81
Fix editor connection loop ( #986 )
...
* fix editor connection loop
* remove query refresh
2025-04-03 14:05:34 +01:00
Philipinho
a74d3feae4
fix: make collab ready reliable on tab return
2025-03-27 14:39:43 +00:00
Philipinho
e40faf97ec
v0.9.0
2025-03-23 14:07:30 +00:00
Philipinho
bbe4fe99f9
don't replace line breaks
2025-03-23 13:57:05 +00:00
Philipinho
8300c5b731
update env file
2025-03-23 13:14:20 +00:00
Philip Okugbe
13039cfacc
telemetry module ( #934 )
...
* update lockfile
* fix color check
* telemetry
* complete
* Use interval
2025-03-23 13:12:41 +00:00
Hoie Kim
593f41a050
adds missing command for down migration ( #908 )
2025-03-22 15:30:37 +00:00
Philip Okugbe
f8ce160906
feat: add version check ( #922 )
...
* Add version endpoint
* version indicator
* refetch
* * Translate strings
* Handle error
2025-03-22 15:29:10 +00:00
Philip Okugbe
c824b5b570
fix collab token refresh which leads to collab editor reconnection loop ( #933 )
2025-03-22 15:15:50 +00:00
Philipinho
37e760d76c
* fix color check
...
* update lock file
2025-03-22 12:31:01 +00:00
Philipinho
442fa23399
Refetch space list on mount
2025-03-17 11:49:42 +00:00
Philipinho
2e5990d057
Move suspense above popover dropdown
2025-03-17 11:23:57 +00:00
Philipinho
15bdbf74cd
null check
2025-03-17 11:23:18 +00:00
Philip Okugbe
3d9a7d808b
Revert "feat: auto focus emoji-picker search when opened ( #894 )" ( #900 )
...
This reverts commit 573457403e .
2025-03-17 11:17:44 +00:00
Philip Okugbe
f45bdddb23
feat: billing sync (cloud) ( #899 )
...
* Set page history to 5 minutes interval
* * Configure default queue options
* sync
* * stripe seats sync (cloud)
2025-03-17 11:00:23 +00:00
Philip Okugbe
21c3ad0ecc
feat: enhance editor uploads ( #895 )
...
* * multi-file paste support
* allow media files (image/videos) to be attachments
* insert trailing node if file placeholder is at the end of the editor
* fix video align
2025-03-15 18:27:26 +00:00
GlitchDev and JonasRingeis
573457403e
feat: auto focus emoji-picker search when opened ( #894 )
...
Co-authored-by: JonasRingeis <jonas.ringeis@otto.de >
2025-03-15 18:25:01 +00:00
Philipinho
d021d0a38f
fix
2025-03-14 23:02:42 +00:00
Philip Okugbe
96dfe9f817
fix: page title editor bugs ( #892 )
...
* Fix page title
* compare empty page title
* Properly handle null tree node name and icon
2025-03-14 22:41:34 +00:00
Philipinho
598361992e
fix trial days
2025-03-14 22:40:35 +00:00
Philip Okugbe
210d1474ea
Add Dutch translation ( #877 )
2025-03-13 15:26:23 +00:00
Philipinho
5f520689ed
prevent overflow
2025-03-13 15:23:35 +00:00
Philip Okugbe
2a535de29d
New Crowdin updates ( #840 )
2025-03-13 15:10:28 +00:00
Philip Okugbe
f45d9dc5a0
feat: add page stats to page menu ( #876 )
2025-03-13 14:54:18 +00:00
Philip Okugbe
f7a14e23cd
fix editor flickers ( #875 )
2025-03-13 08:58:21 +00:00
Philip Okugbe
1f40e9b960
fix drag handle visibility ( #868 )
2025-03-12 13:17:59 +00:00
Philip Okugbe
fea6518352
fix: VSCode markdown pasting ( #857 )
...
* fix vscode markdown pasting
* fix markdown -> html formatting
2025-03-10 02:38:22 +00:00
Philipinho
061a02ce51
Make codeblock comment more legible in light mode
2025-03-10 02:15:15 +00:00
Philipinho
2205ce0c3b
prevent slider flickers
2025-03-10 01:15:21 +00:00
Philipinho
a812cdcf15
enable shouldRerenderOnTransaction
2025-03-09 22:49:58 +00:00
Philipinho
30acc6676a
exclude billing webhook endpoint
2025-03-08 19:08:02 +00:00
Philipinho
5c9e0a2630
* prefetch sso providers in settings
...
* hide sso enforcement in standard plan
2025-03-08 18:26:34 +00:00
Philip Okugbe
fd36076ae7
feat: disconnect collab websocket on idle tabs ( #848 )
...
* disconnect real-time collab if user is idle
* log yjs document disconnect and unload in dev mode
* no longer set editor to read-only mode on collab websocket disconnection
* treat delayed collab websocket "connecting" state as disconnected
* increase maxDebounce to 45 seconds
* add reset handle to useIdle hook
2025-03-08 18:16:23 +00:00
fuscodev
dd52eb15ca
fix: table header in exported markdown ( #769 )
2025-03-07 12:16:49 +00:00
Iago Angelim Costa Cavalcante
6776e073b6
feat: adding family 6 in uri to configure for both 4 and 6 ( #807 )
...
* feat: adding family 6 in uri to configure for both 4 and 6
* feat: adding redis family in websocket config
2025-03-07 12:12:19 +00:00
Philipinho
7a47da9273
Add emoji command to title editor
2025-03-07 11:57:28 +00:00
fuscodev and Philipinho
e62bc6c250
feat: editor emoji picker ( #775 )
...
* feat: emoji picker
* fix: lazy load emoji data
* loading animation (for slow connection)
* parsing :shortcode: and replace with emoji + add extension to title-editor
* fix
* Remove title editor support
* Remove shortcuts support
* Cleanup
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-03-07 11:53:06 +00:00
Philipinho
4f9e588494
sort workspace list
2025-03-07 11:51:04 +00:00
Philip Okugbe
05a3dfa26d
Option to log db queries in dev mode ( #827 )
2025-03-07 00:06:25 +00:00
Philip Okugbe
8826cca539
fix space translations ( #826 )
2025-03-07 00:03:57 +00:00
Philipinho
1988feb9ce
exclude /health/live endpoint
2025-03-06 23:45:41 +00:00
Philipinho
e9b7273489
remove cloud env check
2025-03-06 22:30:24 +00:00
Philipinho
315afd6818
fix cookie name
2025-03-06 21:44:53 +00:00
Philipinho
93ea31feb0
sync
2025-03-06 21:09:05 +00:00
Philipinho
3b4e414c97
* configurable trial days
...
* hide create sso provider in cloud
2025-03-06 21:06:24 +00:00
Philipinho
d925c95fc9
add pnpm to packageManager for consistency
2025-03-06 18:54:33 +00:00
Philipinho
4511db1526
fix
2025-03-06 18:32:25 +00:00
Philipinho
56d9e46fd3
* Upgrade Dockerfile to node 22
...
* Pin pnpm to pnpm@10.4.0
2025-03-06 18:29:15 +00:00
Philipinho
cdea149ce7
* Update EE license fil
...
* State license in Readme file
2025-03-06 17:59:22 +00:00
Philipinho
16254802e3
Add api prefix to attachment nodes
2025-03-06 14:19:29 +00:00
Philipinho
a7dd9b9198
Hide version in cloud
2025-03-06 14:17:20 +00:00
Philip Okugbe
b81c9ee10c
feat: cloud and ee ( #805 )
...
* stripe init
git submodules for enterprise modules
* * Cloud billing UI - WIP
* Proxy websockets in dev mode
* Separate workspace login and creation for cloud
* Other fixes
* feat: billing (cloud)
* * add domain service
* prepare links from workspace hostname
* WIP
* Add exchange token generation
* Validate JWT token type during verification
* domain service
* add SkipTransform decorator
* * updates (server)
* add new packages
* new sso migration file
* WIP
* Fix hostname generation
* WIP
* WIP
* Reduce input error font-size
* set max password length
* jwt package
* license page - WIP
* * License management UI
* Move license key store to db
* add reflector
* SSO enforcement
* * Add default plan
* Add usePlan hook
* * Fix auth container margin in mobile
* Redirect login and home to select page in cloud
* update .gitignore
* Default to yearly
* * Trial messaging
* Handle ended trials
* Don't set to readonly on collab disconnect (Cloud)
* Refine trial (UI)
* Fix bug caused by using jotai optics atom in AppHeader component
* configurable database maximum pool
* Close SSO form on save
* wip
* sync
* Only show sign-in in cloud
* exclude base api part from workspaceId check
* close db connection beforeApplicationShutdown
* Add health/live endpoint
* clear cookie on hostname change
* reset currentUser atom
* Change text
* return 401 if workspace does not match
* feat: show user workspace list in cloud login page
* sync
* Add home path
* Prefetch to speed up queries
* * Add robots.txt
* Disallow login and forgot password routes
* wildcard user-agent
* Fix space query cache
* fix
* fix
* use space uuid for recent pages
* prefetch billing plans
* enhance license page
* sync
2025-03-06 13:38:37 +00:00
Zero King
91596be70e
fix: add missing awaits ( #814 )
2025-03-06 10:14:30 +00:00
Philip Okugbe
72f64e7b10
revert sentry ( #808 )
...
* revert sentry
* remove sentry env
2025-02-27 15:58:32 +00:00
Philipinho
3cfb17bb62
fix sentry
2025-02-27 14:44:28 +00:00
Philipinho
fe5066c7b5
v0.8.4
2025-02-27 14:34:38 +00:00
Philipinho
e13be904cd
cleanup
2025-02-27 14:18:25 +00:00
Philip Okugbe
fda5c7d60f
push files left ( #360 ) ( #804 )
2025-02-26 18:33:50 +00:00
Peter Shcherbakov and Philipinho
7fc1a782a7
feat: add copy invite link to invitation action menu ( #360 )
...
* +copy invite link to clipboard from invite action menu
* -remove log to console for copy link action
* Refactor copy invite link feature
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-02-26 18:28:44 +00:00
Philipinho
54d27af76a
* Add SENTRY_DNS env variable
...
* Commit lock file
2025-02-26 17:38:25 +00:00
Philip Okugbe
0065f29634
feat: sentry ( #802 )
2025-02-26 15:42:19 +00:00