Commit graph

1001 commits

Author SHA1 Message Date
Philip Okugbe
3934cb911f
fix: WebSocket improvements (#2573) 2026-10-13 23:25:07 +01:00
Philip Okugbe
c1305f002e
chore(mcp): migrate to @modelcontextprotocol/server v2 (#2568) 2026-10-11 16:42:27 +01:00
Philip Okugbe
2dafbf0ea7
fix(deps): update packages with security advisories (#2567)
- server: @nestjs/* 11.2.7, @modelcontextprotocol/sdk 1.32.1,
  @fastify/multipart 10.1.2, pino-pretty 13.2.0, socket.io 4.8.4
- client: axios 1.20.0, katex 0.19.0, i18next-http-backend 4.0.2
- root: nx 23.3.0, concurrently 10.0.6, dompurify 3.4.16
- overrides: fastify 5.12.5, fast-uri 3.1.8, ip-address 10.7.3,
  brace-expansion@^5 5.0.12, smol-toml 1.9.0, katex 0.19.0
- re-resolve handlebars, proxy-addr, engine.io, @fastify/busboy,
  source-map-js, fast-copy, brace-expansion@1 to patched versions
2026-10-11 16:08:50 +01:00
Philip Okugbe
211d557a2e
fix(ai-chat): bind chat input submit to the current editor instance (#2566) 2026-10-11 16:05:47 +01:00
Philip Okugbe
297cc29bba
feat: add Template option to empty page get-started row (#2565) 2026-10-11 16:02:33 +01:00
Philip Okugbe
6a06d7fd7d
fix: give docx export tables real column widths and cell padding (#2564)
- Add Word's default 108 twip left and right cell margins
2026-10-11 15:07:26 +01:00
Philip Okugbe
59b6142ecd
fix: hide comment marks on presentation slides (#2562) 2026-10-11 15:04:19 +01:00
Philip Okugbe
d35e8f0cf9
feat(presentation): laser pointer and max width (#2561)
* feat: add laser pointer

* feat: increase slide max width to 1440px

* fix: show presentation errors inside the modal
2026-10-11 14:47:18 +01:00
Salihu
88e9255e8b
feat: Page presentation mode (#2484)
* page presentation init

* fix minor issues

* minor fixes

* improve slides display

* fix: presentation min width

* fixes:fullscreen support,  Only change slides with controls and keyboard
- Refresh controls ui
- Interactive slide content (tabs, toggles, links, code copy, checkboxes,
  media, text selection) works without side effects
- Scrolling no longer stalls at fractional zoom or display scaling
- Keys pressed inside pop-ups opened from slide content no longer change slides
- Subpages blocks list their children and heading links copy the real anchor
- Renaming the page no longer closes the presentation
- Whitespace, non-breaking space, hard break and page break blocks no longer
  produce blank slides
- Title slide wraps long words and keeps the direction of RTL titles
- The dialog has an accessible name, slide changes are announced and slide
  content is labelled
- Other fixes

* fix(subpages): show a sidebar-style dot for subpages without children

* fix(base): share one realtime subscription per base across mounted views

- Embedded bases keep receiving realtime updates after a second view of the
  same base (presentation, history) unmounts
- Row and schema events are no longer applied twice while two views of a
  base are mounted

---------

Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com>
2026-10-11 13:52:47 +01:00
Philip Okugbe
83c70e4d00
fix: crash when previewing pages in trash (#2559) 2026-10-11 00:10:29 +01:00
Salihu
c08d1d3539
feat: multi tab node (#2381)
* init multi-tab-node

* dragging logic

* tabs menu

* tabs menu

* markdown import

* markdown export

* improve markdown import and export

* fix exponential backtracking in regex

* fix exponential backtracking in regex

* WIP

* fix: add docx schema

* feat(editor): rework tabs block state, controls and editing

- Keep the active tab in per-viewer plugin state, not in the document
- Update hidden-tab decorations incrementally; diff whole-doc remote updates
- Replace the tabs bubble menu with an in-block toolbar and per-tab actions menu
- Add rename, duplicate, move left/right and delete tab actions
- Rename a tab by double-clicking it; add tabs from a strip button
- Hide inactive tabs with hidden="until-found" and open them on beforematch
- Open the containing tab for search, TOCs, comment links and hash scrolls
- Disallow tabs inside tabs: hide slash item, flatten pastes, refuse drops
- Stop content copied or dragged out of a tab from creating a new tabs block
- Keep the selection anchor and land at the panel end when arrowing into tabs
- Let Enter add a line at the end of a tab instead of leaving the block
- Fix drag handle moves of custom nodes inside tab panels
- Keep editor focus on toolbar clicks so copy and delete work
- Export tabs to Markdown as level 4 headings; drop the tabs Markdown syntax
- Share node copy-to-clipboard between the columns and tabs toolbars
- Raise inactive tab label contrast

* fix(editor): show a compact drag preview for the tabs block

- Add a hidden data-drag-preview chip with the tab labels to the tabs view
- The global drag handle uses it instead of snapshotting the block and its neighbours
- Style the chip outside the editor scope since the handle clones it into the body

* fix(editor): hide the drop cursor while reordering tabs in the tab strip

* fix: better tabs selection, rendering and ids
- Keep selections out of hidden tabs and map chained tab updates
- Drive the tab strip from decorations instead of per-keystroke lookups
- Repair empty and repeated tab ids

---------

Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com>
2026-10-10 23:50:44 +01:00
Salihu
2e3fdbbff4
feat: subpages component improvements (#2488)
* expand subpages node functionality
* minor fixes
* minor fix
* refactor: redesign subpages view
* fix link color
---------

Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com>
2026-10-09 14:49:47 +01:00
Philip Okugbe
42e07d8019
feat: comments deep link (#2550)
* feat: comments deeplinks
* cleanup
* feat: add support to in-app notification
2026-10-09 01:07:01 +01:00
Philip Okugbe
d3a0c9bfdf
fix(base): export CSV with the active view's filter (#2541)
The export button only sent the page id, so filtered views still
downloaded every row. Send the view's current (including unsaved draft)
filter, and bump the ee submodule for server-side support.
2026-10-05 02:18:58 +01:00
Philip Okugbe
2e0538c70e
fix: throttle tracking bug (#2537) 2026-10-04 01:14:02 +01:00
Philip Okugbe
b6434371ed
fix: add markdown attribute to details blocks in markdown export (#2533) 2026-09-30 01:36:08 +01:00
Philip Okugbe
f4caf0ba02
fix: preserve table header row in markdown export (#2532) 2026-09-30 01:19:16 +01:00
Philip Okugbe
a78e52b8e6
fix: copy page labels when duplicating pages (#2531) 2026-09-30 01:18:06 +01:00
Philip Okugbe
01a139c3d1
fix: skip page update notifications for users viewing the page (#2530)
* fix: drop malformed awareness before broadcast

* clear interval

* pass userId and avatar to awareness

* fix: skip page update notifications for editors and users viewing the page
2026-09-30 01:10:16 +01:00
Philip Okugbe
870b71d2aa
fix search limit and performance (#2529) 2026-09-29 20:27:25 +01:00
Philip Okugbe
0e839c8cd6
chore(deps): package updates (#2528)
* chore(deps): fix audit advisories in undici, nodemailer, ip-address and smol-toml

* chore: pnpm version update
2026-09-29 19:44:57 +01:00
Philip Okugbe
7bef7b1a00
chore: package updates (#2499) 2026-09-20 21:30:44 +01:00
Philipinho
6205bbeb90 fix: page tree reordering 2026-09-08 16:46:38 +01:00
Philipinho
9b3e5dd3dc v0.96.0 2026-09-08 14:58:41 +01:00
Philip Okugbe
dfc38c8718
fix: ws relay (#2482) 2026-09-08 14:00:49 +01:00
Philip Okugbe
7c368c86c6
fix: h1 heading weight in editor (#2481)
* fix: h1 heading weight in editor
* cleanup
2026-09-08 13:24:57 +01:00
Philip Okugbe
1397e109ed
New Crowdin updates (#2472) 2026-09-08 13:19:09 +01:00
Philip Okugbe
5792fc7ca2
fix: db lock operations (#2479)
* fix: advisory lock for page move

* fix: lock role count check
2026-09-08 13:16:56 +01:00
Salihu
949072744d
fix: align input shortcuts (#2467)
* align input shortcuts

* minor fix

* minor fix
2026-09-08 01:54:41 +01:00
Philip Okugbe
0a87db4f1f
fix: meta title for shared subpages (#2478) 2026-09-07 16:43:02 +01:00
Philip Okugbe
89e27a1a07
fix(editor): allow gap cursors between top-level blocks (#2477) 2026-09-06 19:22:28 +01:00
Philip Okugbe
27fa9af959
fix: public page print (#2476)
* fix pdf-print for public pages

* fix print in dark mode
2026-09-05 17:28:45 +01:00
Salihu
84e1e56cf6
feat: jump to search (#2453)
* jump to search init

* support multiple text matching

* search navigation dialog

* remove search text

* typesense support

* typesense support

* add search guard

* use search key check

* minor fix

* minor fix

* fix: clean up jump search state on close

---------

Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com>
2026-09-05 16:06:52 +01:00
Philip Okugbe
6ff8c7cdfe
refactor(favorites): move favorite filtering into the repository query (#2475)
* refactor(favorites): move favorite filtering into the repository query

* perf: resolve cleanup targets by primary key
2026-09-05 14:40:10 +01:00
Philip Okugbe
876f3da1b2
feat(beta): public spaces (#2473) 2026-09-05 11:52:10 +01:00
Philipinho
f4796c982e sync 2026-09-04 14:56:08 +01:00
Philip Okugbe
0d69d48c52
feat(ee): SIEM (#2471) 2026-09-04 14:53:14 +01:00
Philipinho
5b85464561 sync 2026-08-28 00:07:10 +01:00
Philip Okugbe
622d085530
New Crowdin updates (#2435) 2026-08-27 12:43:19 +01:00
Philip Okugbe
d92716d82f
feat: search group members (#2445) 2026-08-27 12:43:08 +01:00
Philip Okugbe
579e22a45e
fix: use ACL username and decode credentials in Redis URL parsing (#2434)
* fix: use ACL username and decode credentials in Redis URL parsing

* fix: pass family and TLS options to the collab app module
2026-08-26 14:16:18 +01:00
Philip Okugbe
c3d9a19545
New Crowdin updates (#2332) 2026-08-26 14:08:10 +01:00
Philipinho
214a73b6a0 refactor: rename MCP oauth-only setting to enforceMcpOauth 2026-08-26 13:45:28 +01:00
Philipinho
278d318771 sync 2026-08-26 12:56:15 +01:00
Philip Okugbe
e56de8eb6c
feat(ee): MCP OAuth (#2432)
* feat: mcp oauth

* fix: small refactor

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

* fix: make ALT more visible
2026-08-26 02:24:02 +01:00
Philip Okugbe
56474e5b70
fix: remove client compression script (#2428) 2026-08-25 17:31:49 +01:00
Philipinho
fc90fbd8c0 chore: update pnpm 2026-08-25 04:31:23 +01:00
Philip Okugbe
a0ec93506c
chore: compress and lazy load client code (#2425) 2026-08-25 03:29:56 +01:00