Commit Graph
100 Commits
Author SHA1 Message Date
Philipinho 65af1cc2a4 sync 2026-08-03 16:25:50 +01:00
Philipinho 231f0deeb0 fix highlight color 2026-08-03 02:13:45 +01:00
Philipinho b9d8612ecd Merge branch 'main' into confluence-importer 2026-08-02 22:30:06 +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 e76c138e4c sync 2026-07-09 21:39:17 +01:00
Philipinho e146cfd075 fix: supported comment nodes 2026-07-09 21:33:40 +01:00
Philipinho e28df6ad88 fix 2026-07-04 14:11:44 +01:00
Philipinho efcca2e4fd sync 2026-07-03 21:20:31 +01:00
Philipinho 3b57ce7c89 fix: comment error boundary 2026-07-03 21:12:09 +01:00
Philipinho 86687d2bf2 add image and table node to comment editor
* fix react error
2026-07-03 20:10:07 +01:00
Philipinho 15f893184e Merge branch 'main' into confluence-importer 2026-07-03 16:21:19 +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 dc3f7b0be4 Merge branch 'main' into confluence-importer 2026-07-01 23:05:52 +01:00
Philipinho 88e057c76e fix: don't auto embed pdf 2026-06-30 02:48:10 +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 89bf9f3078 Merge branch 'main' into confluence-importer 2026-06-22 00:49:19 +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
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
Philipinho b0f7c11fb3 sync 2026-06-16 00:31:02 +01:00
Philipinho feb5167771 feat(confluence-import): hide API importer behind BETA_CONFLUENCE_IMPORTER flag 2026-06-15 21:43:38 +01:00
Philipinho 97a1248818 feat(confluence-import): gate API importer UI to enterprise entitlement 2026-06-12 13:16:47 +01:00
Philipinho b7d7ad4521 feat(licence): add confluence API import feature key 2026-06-12 13:12:42 +01:00
Philipinho 79df1229cb feat: import page permissions 2026-06-12 12:59:31 +01:00
Philip Okugbe 6191acfa14 fix: a11y (#2275) 2026-06-09 22:51:55 +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 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 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
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
Philipinho 812d0765b5 types 2026-05-18 16:58:52 +01:00
Philipinho 234bd13453 fix(auth): clear page indexeddb databases on logout 2026-05-18 01:59:43 +01:00
Philipinho affd2e6740 feat(comment): enable text color in comments 2026-05-18 00:14:59 +01:00
Philipinho 37e652ade5 chore: bump ee submodule 2026-05-18 00:14:56 +01:00
Philipinho 38a847f305 fix(confluence-api-import): rename list endpoint to history 2026-05-18 00:14:53 +01:00
Philipinho 7c80688698 feat(confluence-api-import): show user count in import history 2026-05-18 00:14:46 +01:00
Philipinho 0320e07bb1 feat(confluence-api-import): add import mappings type 2026-05-18 00:14:44 +01:00
Philipinho 1982a0ed1e feat: encryption module 2026-05-16 23:40:43 +01:00
Philipinho fcb2b08cf3 docs(import): trim auto-embed comment 2026-05-16 21:53:25 +01:00
Philipinho e5ff58a73a fix(import): only auto-embed links when they're the sole content of their block 2026-05-16 21:00:41 +01:00
Philipinho d3bb105366 feat(import): add deterministic anchor nodeId helper 2026-05-16 18:24:44 +01:00
Philipinho bbb1b5eb26 feat(import): add Confluence emoji-id parser with tests 2026-05-16 01:28:10 +01:00
Philipinho 3e66aff1e2 feat(import): extract Confluence indent helper with auto-detect unit and tests 2026-05-16 01:21:14 +01:00
Philipinho 89442f5154 feat(import): add shared Confluence margin-left indent normalizer 2026-05-16 01:10:28 +01:00
Philipinho 12ef426541 Merge branch 'main' into confluence 2026-05-15 13:26:33 +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