Skip to content
Open
Changes from 1 commit
Commits
Show all changes
1221 commits
Select commit Hold shift + click to select a range
d0e5c3e
chore: bump ws from 8.18.3 to 8.20.0 (#2758)
dependabot[bot] May 19, 2026
d867603
fix: color picker icons (BLO-1189) (#2762)
matthewlipski May 20, 2026
b3afcdd
chore(release): publish 0.51.2
nperez0111 May 20, 2026
6ad3c72
Updated to pnpm 11 (#2743)
matthewlipski May 20, 2026
1a65508
chore: use latest pnpm
nperez0111 May 20, 2026
f7f4c9e
build: apply zizmor recommended fixes (#2764)
nperez0111 May 21, 2026
118d8dc
chore: bump to latest pnpm
nperez0111 May 22, 2026
4a2d45a
fix: table cell colors (BLO-1198) (#2770)
matthewlipski May 26, 2026
ba4af09
chore: bump pnpm version
nperez0111 May 26, 2026
d609476
chore(release): publish 0.51.3
nperez0111 May 26, 2026
e4fb5c1
ci: add github-actions ecosystem to dependabot
nperez0111 May 28, 2026
9cbf2ad
fix(table): prevent crash when pressing Enter in a table cell (#2793)
y-temp4 May 29, 2026
f8b59e9
docs: remove private discord support (#2805)
YousefED Jun 1, 2026
faae3d5
fix: add explicit type annotations for callback params losing context…
nperez0111 Jun 1, 2026
8b3118f
fix(core): add editor cleanup in BlockNoteEditor.test.ts to prevent u…
nperez0111 Jun 1, 2026
e6493ee
fix: Comments emoji picker button issues (BLO-1199) (#2769)
matthewlipski Jun 2, 2026
3209491
chore(release): publish 0.51.4
nperez0111 Jun 2, 2026
e0c67af
chore: use pnpm@11.5.1
nperez0111 Jun 2, 2026
4f499f8
build: remove unused dependencies and bundle react-icons (#2796)
nperez0111 Jun 2, 2026
767a82f
feat: migrate to Vite+ (#2745)
matthewlipski Jun 3, 2026
ec9c151
test: migrate E2E tests to Vitest Browser Mode (#2800)
matthewlipski Jun 3, 2026
7a89547
fix: align side menu to tables (BLO-1117) (#2837)
matthewlipski Jun 9, 2026
62f4570
fix: remove cursor flicker in trailing block (#2839)
matthewlipski Jun 9, 2026
a36e183
fix(table): guard stale block after changes for table handles (#2821)
satoren Jun 11, 2026
a28f472
chore: improvements for agents (#2761)
matthewlipski Jun 15, 2026
78bb885
feat: decouple yjs from blocknote/core (#2741)
nperez0111 Jun 16, 2026
ad9e456
chore: bump next
nperez0111 Jun 3, 2026
3b332ea
fix: include yjs relative positions in RESTYjsThreadStore wire format
nperez0111 Jun 16, 2026
1303c67
chore: fix all lint warnings across codebase
nperez0111 Jun 16, 2026
9fb13a7
fix: add output field to vp build tasks so cache restores dist files
nperez0111 Jun 15, 2026
95f0b93
chore: migrate to tsgo for type declarations, enable type-aware oxlint
nperez0111 Jun 16, 2026
1123676
fix: resolve test failures from stale dist and missing source aliases
nperez0111 Jun 16, 2026
c916f2c
fix: exclude tsbuildinfo from build task output to fix cache misses
nperez0111 Jun 16, 2026
628fa25
fix(ci): run build before lint so type-aware linting can resolve pack…
nperez0111 Jun 16, 2026
b902dbb
fix(ci): replace bare pnpm calls with vp in fresh-install-tests workflow
nperez0111 Jun 16, 2026
4a7cdf1
fix: add output field to playground build task so Vercel cache restor…
nperez0111 Jun 16, 2026
9094ca3
fix: increase Node.js heap limit for Next.js build to prevent OOM on …
nperez0111 Jun 16, 2026
c9e55cd
fix: add Vercel buildCommand to build workspace packages and run next…
nperez0111 Jun 16, 2026
57596ce
fix(xl-ai): remove 'use client' from server entry (BLO-1235)
YousefED Jun 17, 2026
1c0a53c
docs: update example code
nperez0111 Jun 17, 2026
17bf418
fix(tables): tab causing indent in last table cell (BLO-1211) (#2831)
matthewlipski Jun 17, 2026
8010e65
test: make docx/odt exporter tests network-independent
nperez0111 Jun 17, 2026
41df112
fix(docs): make link-check a cached task that depends on gen:docs
nperez0111 Jun 17, 2026
27f156a
fix(dev-scripts): make gen:docs writes to docs/package.json atomic; r…
nperez0111 Jun 17, 2026
69f84f8
refactor: extract GitHub issue search from AGENTS.md into a skill
nperez0111 Jun 18, 2026
ade62f2
fix(xl-ai): preserve error messages in ClientSideTransport stream
nperez0111 Jun 18, 2026
1502903
feat: ExtensionManager refactor
nperez0111 Jun 17, 2026
8866b90
feat: versioning
nperez0111 Jun 17, 2026
bbe8bf4
feat: lying ids
nperez0111 Jun 17, 2026
770586b
chore: upgrade to @y/y v14 + patches
nperez0111 Jun 17, 2026
3bdd637
feat(examples): collaboration & versioning examples
nperez0111 Jun 17, 2026
75f3e6a
chore: misc/cleanup
nperez0111 Jun 17, 2026
635954e
feat: bump y deps/patches, add blockMatchNodes, update suggestion att…
nperez0111 Jun 16, 2026
663d9f7
feat: add YHub versioning endpoints
nperez0111 Jun 16, 2026
7890d53
feat: add multi-doc versioning example
nperez0111 Jun 16, 2026
77303aa
test: add y-prosemirror e2e tests and snapshots
nperez0111 Jun 16, 2026
b91b493
chore: update pnpm-lock and lib0 patch
nperez0111 Jun 17, 2026
c4a0616
fix: get back on mainline y/prosemirror
nperez0111 Jun 17, 2026
4e5ec75
chore: fix lint
nperez0111 Jun 17, 2026
ff81dad
test(xl-ai): skip failing tests broken by suggest-changes mark schema…
nperez0111 Jun 17, 2026
ea12d61
chore(tests): fix Docker build for patches dir & add stale image warning
nperez0111 Jun 17, 2026
a5d40b7
chore(tests): auto-rebuild Docker image via content hash instead of f…
nperez0111 Jun 17, 2026
f6ec35b
test(e2e): fix baseDoc race in y-prosemirror suggestion fixture
nperez0111 Jun 17, 2026
f60f3c8
test: get ci tests to pass?
nperez0111 Jun 17, 2026
1ae1357
test: revert backspacePreservesNestedBlocks snapshot to main
nperez0111 Jun 17, 2026
944ebcf
chore: update to latest version of y/prosemirror
nperez0111 Jun 18, 2026
7be61f3
fix: wait for provider to sync before trying to switch to the ytype
nperez0111 Jun 18, 2026
4381d15
feat: use YHub activity timeline for yjs versioning
nperez0111 Jun 18, 2026
2542e76
chore: remove multi-doc-versioning demo preload and bump y/prosemirror
nperez0111 Jun 18, 2026
c7274dd
test: update yjs versioning tests for no-op applyRestore
nperez0111 Jun 19, 2026
8489bf2
docs: rm example
nperez0111 Jun 19, 2026
3324246
feat: attribution endpoints for version diffing
nperez0111 Jun 19, 2026
1f24337
chore: move some demos around
nperez0111 Jun 19, 2026
78277d7
feat: make snapshot creation optional so YHub history drives the vers…
nperez0111 Jun 19, 2026
845edb2
chore: fix up lockfile
nperez0111 Jun 22, 2026
0edc0a2
fix: drop .js extension from versioning example imports so Turbopack …
nperez0111 Jun 22, 2026
2cfbc08
test: update snapshots
nperez0111 Jun 22, 2026
f2480c6
fix: user dark and light colors
nperez0111 Jun 22, 2026
d8d3752
fix: table blockMatch algo
nperez0111 Jun 22, 2026
d3685dd
chore(dev-scripts): replace glob with tinyglobby, add @types/node
nperez0111 Jun 23, 2026
398311d
fix(e2e): skip docs fumadocs-mdx postinstall in Docker e2e
nperez0111 Jun 23, 2026
d321b15
test(e2e): run full end-to-end suite on linux, drop darwin snapshots
nperez0111 Jun 23, 2026
4ae11f9
fix(e2e): enable firefox/webkit, add screenshot tolerance, generate l…
nperez0111 Jun 23, 2026
468e7f2
test(e2e): pin stable clientIDs for deterministic concurrent suggesti…
nperez0111 Jun 24, 2026
c56973a
feat: yhub versioning
nperez0111 Jun 24, 2026
0d0c5d8
feat(suggestions): render attribution marks via mark views with float…
nperez0111 Jun 24, 2026
47f5a3b
docs: pay-first checkout — remove sign-up wall on pricing (#2870)
YousefED Jun 25, 2026
7f31692
feat(suggestions): show attribution tooltips via a per-editor extension
nperez0111 Jun 25, 2026
66e169b
feat(y): add @y/y v14 yjs conversion utils with tests
nperez0111 Jun 25, 2026
496521c
feat(suggestions): localized change labels and deleted badges on attr…
nperez0111 Jun 25, 2026
83e4b66
feat(y): snapshot builder and YHub seeding utilities
nperez0111 Jun 25, 2026
9057cc7
feat(example): seed versioning-yjs14 example with a sample document
nperez0111 Jun 25, 2026
137706b
chore: rm overline on hover
nperez0111 Jun 26, 2026
6cde6e6
feat(core): extract standalone UserExtension from comments
nperez0111 Jun 29, 2026
c702d6d
feat(core): de-duplicate and order extensions by key in ExtensionManager
nperez0111 Jun 29, 2026
47581eb
refactor(core): emit minimal ProseMirror steps in updateBlock
nperez0111 Jun 30, 2026
a82a349
feat(versioning): add versioning sidebar UI components
nperez0111 Jun 30, 2026
3094559
docs: improve link to commercial license (#2874)
YousefED Jun 30, 2026
228b4c8
feat: users, a real file edit
nperez0111 Jun 30, 2026
790fdbd
style: minor style updates
nperez0111 Jun 30, 2026
75df858
feat(examples): use distinct collaborator colors in versioning examples
nperez0111 Jun 30, 2026
3c68c57
fix(versioning): clear editor before reconfiguring yjs preview
nperez0111 Jul 1, 2026
913f8cf
feat(versioning): let the extension drive comparison support
nperez0111 Jul 1, 2026
73590be
fix(versioning): require selecting a version before editing its title
nperez0111 Jul 1, 2026
e16dde9
test(e2e): regenerate y-prosemirror suggestion baselines for deleted …
nperez0111 Jul 1, 2026
83b677e
feat(examples): persist live versioning-yjs13 document to localStorage
nperez0111 Jul 1, 2026
a5c3db6
feat(versioning): support deleting snapshots
nperez0111 Jul 1, 2026
58527e1
refactor: getBlockInfoAt -> getBlockInfoAtNearest
nperez0111 Jul 1, 2026
44163d2
refactor: remove todo comments
nperez0111 Jul 1, 2026
0a6cfb1
chore: put back
nperez0111 Jul 1, 2026
5db4d65
docs: add more explanation on comment
nperez0111 Jul 1, 2026
6493338
test: unskip some tests
nperez0111 Jul 1, 2026
32a5cc2
feat: separate AI and Yjs suggestion marks, allow them on block nodes…
nperez0111 Jul 1, 2026
46bfb1c
Y prosemirror v14 visualization fixes (#2875)
YousefED Jul 2, 2026
e37f11e
reenable test
YousefED Jul 2, 2026
e710869
fix CI?
YousefED Jul 2, 2026
9ef98dd
refactor: replace UserExtension with a standalone user store
nperez0111 Jul 1, 2026
50419c0
feat: render suggestion-mark tooltip via React + floating-ui
nperez0111 Jul 1, 2026
0ba2ea0
feat: decouple suggestion-mark colors from mark attrs via decorations
nperez0111 Jul 1, 2026
61de3e2
refactor: rename suggestion-mark presentation symbols to "attribution"
nperez0111 Jul 2, 2026
a6c4ce6
refactor: colorize attribution marks via per-user CSS variables
nperez0111 Jul 2, 2026
50b2caa
test: update snapshot
nperez0111 Jul 2, 2026
818420a
refactor: move attribution tooltip label to React, localize hover text
nperez0111 Jul 2, 2026
61900f6
chore: agent lint and format
nperez0111 Jul 2, 2026
83199a2
fix: update types for build
nperez0111 Jul 2, 2026
a8143fe
add more test scenarios (multi-column, etc)
YousefED Jul 2, 2026
e8d6fef
refactor(versioning): bare-verb endpoint API, symbol current-version …
nperez0111 Jul 3, 2026
9ce5388
feat(versioning): render attributed diffs for in-memory versioning
nperez0111 Jul 3, 2026
3e4662e
refactor(versioning): move demo-only snapshot/seed helpers into the e…
nperez0111 Jul 3, 2026
241d429
refactor(example): align in-memory versioning example with yjs14 layout
nperez0111 Jul 3, 2026
2dcdcbe
feat(versioning): attribute in-memory diffs to the version via previe…
nperez0111 Jul 3, 2026
27a3680
chore: cleanup
nperez0111 Jul 3, 2026
5e8cbad
refactor(user): split UserStore into its own file and move userColors…
nperez0111 Jul 3, 2026
734249c
chore: more cleanup
nperez0111 Jul 3, 2026
18df06e
feat(versioning): resolve version authors reactively via the user store
nperez0111 Jul 3, 2026
be213bd
fix(examples): adapt yjs13 localStorage endpoints to symbol snapshot ids
nperez0111 Jul 3, 2026
ea8df35
test(user): expect the user store as the resolver's second argument
nperez0111 Jul 3, 2026
b469d22
feat: upgrade to latest @y/prosemirror version
nperez0111 Jul 7, 2026
77f5a01
fix: guard null node from deltaToPNode in versioning example
nperez0111 Jul 7, 2026
0d5cd8b
chore: update lib0 and @y/prosemirror versions
nperez0111 Jul 7, 2026
66643ab
test(e2e): use file snapshots for y-prosemirror suggestion tests
nperez0111 Jul 7, 2026
161a614
fix(versioning): make yhub history snapshot ids unique and fix grouping
nperez0111 Jul 7, 2026
cdb63bb
feat(versioning): live groupMaxGap/groupMaxDuration config panel in y…
nperez0111 Jul 7, 2026
3f6a73d
docs: better spacing of snapshots and select view
nperez0111 Jul 7, 2026
d13f645
chore: mark as experimental
nperez0111 Jul 8, 2026
8cbc603
fix(core): use dynamic propSchema when extending default block specs …
nperez0111 Jul 9, 2026
4e9e785
fix(xl-pdf-exporter): fix emoji rendering for ZWJ sequences in PDF ex…
nperez0111 Jul 11, 2026
a3a9801
fix(core): ignore synthetic mousemove events without coordinates in s…
himself65 Jul 16, 2026
a999cef
fix(core): read `hardBreakShortcut` from block spec impl (#2891)
YousefED Jul 16, 2026
967c52f
feat: `moveBlocks` behaviour when leaving empty columns (BLO-1109) (#…
matthewlipski Jul 16, 2026
a3abccb
ci(deps): bump zizmorcore/zizmor-action from 0.5.6 to 0.5.7 (#2876)
dependabot[bot] Jul 16, 2026
e8132e8
ci(deps): bump voidzero-dev/setup-vp from 1.12.0 to 1.15.0 (#2893)
dependabot[bot] Jul 16, 2026
1ded243
ci(deps): bump actions/checkout from 6.0.3 to 7.0.0 (#2877)
dependabot[bot] Jul 16, 2026
5c727ab
feat(comments): confirm before discarding an unsaved comment (blo-119…
YousefED Jul 16, 2026
6193aa1
feat(core): support "plain" block content (BLO-335) (#2868)
YousefED Jul 16, 2026
4f30322
chore: cleanup sample doc
nperez0111 Jul 16, 2026
571cb93
fix(xl-email-exporter): update react-email deps to fix fresh install …
nperez0111 Jul 17, 2026
4e09a2e
test: rm skips
nperez0111 Jul 17, 2026
ef34ecc
refactor(ui): forward refs in AttributionTooltip implementations
nperez0111 Jul 17, 2026
030dcf0
refactor(versioning): consolidate sidebar CSS into the shared stylesheet
nperez0111 Jul 17, 2026
65e8e42
refactor(react): compose attribution tooltip text in the component
nperez0111 Jul 17, 2026
bf0ff0c
fix(core): call `scrollIntoView()` on `Enter` (#2802)
Wqrld Jul 17, 2026
656533b
Merge origin/main (bf0ff0c39) into y-prosemirror-v14
nperez0111 Jul 17, 2026
96c0069
Merge pull request #2739 from TypeCellOS/y-prosemirror-v14
nperez0111 Jul 20, 2026
51e30b3
fix(xl-docx-exporter): rename Buffer polyfill to avoid shadowing glob…
nperez0111 Jul 20, 2026
1571921
fix(xl-docx-exporter): derive font data type from docx instead of glo…
nperez0111 Jul 20, 2026
6a6fe6e
fix(xl-ai): add @types/node for Node globals in test/util files
nperez0111 Jul 20, 2026
f103d0e
fix(build): add @types/node to remaining packages using Node globals
nperez0111 Jul 20, 2026
98ef4bc
build: add a release process
nperez0111 Jul 20, 2026
a99aab4
chore(release): v0.52.0
nperez0111 Jul 20, 2026
cc484e2
build: skip package dirs without a package.json in release script
nperez0111 Jul 20, 2026
f79c3ac
build: publish via vp pm instead of bare pnpm
nperez0111 Jul 20, 2026
3ca8514
build: derive release notes from changelog and trim commit types
nperez0111 Jul 20, 2026
e6e4c03
docs: add withCollaboration migration guide to 0.52.0 changelog
nperez0111 Jul 20, 2026
eaec090
fix(react): avoid importing @blocknote/core/y in the default UI (#2902)
nperez0111 Jul 20, 2026
dee7880
chore(release): v0.52.1
nperez0111 Jul 20, 2026
4e85443
fix: `getCellSelection` throwing error in positions (BLO-1193) (#2911)
matthewlipski Aug 3, 2026
8288b92
style: grid suggestion menu item padding (BLO-1225) (#2910)
matthewlipski Aug 3, 2026
1291f62
fix: multi-column slash menu items within a column (BLO-905) (#2914)
matthewlipski Aug 3, 2026
e977b62
fix: suggestion menu behaviour (BLO-1283, BLO-955) (#2930)
matthewlipski Aug 3, 2026
2b69de0
fix: ignore useless block/inline content mutations (BLO-1224) (#2912)
matthewlipski Aug 3, 2026
5112395
docs: update vanilla docs and add example (BLO-1010) (#2915)
matthewlipski Aug 3, 2026
31ea891
ci(deps): bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0 (#2929)
dependabot[bot] Aug 3, 2026
8cd6227
ci(deps): bump actions/checkout from 7.0.0 to 7.0.1 (#2928)
dependabot[bot] Aug 3, 2026
54cefa5
docs: examples are standalone again (#2927)
matthewlipski Aug 3, 2026
47d864c
fix(slash-menu): better overflow behavior (BLO-1192) (#2909)
matthewlipski Aug 3, 2026
831656c
fix: slash menu item selection behaviour (BLO-1222) (#2838)
matthewlipski Aug 3, 2026
3d08064
feat(shadcn): use base-ui instead of radix (BLO-1279) (#2913)
matthewlipski Aug 4, 2026
e870540
fix: HTML export/parse round trip ignoring empty blocks (BLO-873) (#2…
matthewlipski Aug 4, 2026
c32f968
fix(core): guard getBlock() calls to prevent TypeError on stale block…
nperez0111 Aug 4, 2026
58d43ff
fix: stop stale node view positions crashing the editor (#2938)
nperez0111 Aug 4, 2026
036d0f3
ci(deps): bump zizmorcore/zizmor-action from 0.6.0 to 0.6.1 (#2942)
dependabot[bot] Aug 4, 2026
d998f01
fix: multi-column trailing blocks, column hover borders & drop cursor…
YousefED Aug 6, 2026
529c3b0
chore(release): v0.53.0
nperez0111 Aug 6, 2026
4998d23
retrigger CI for 0.53.0
YousefED Aug 7, 2026
824abce
fix(ai): operations on collaborative documents (#2952)
nperez0111 Aug 10, 2026
decb3d2
fix(ai): operations on blocks containing comments (#2953)
nperez0111 Aug 10, 2026
9f471a8
feat(pdf): add custom font and fontFamily options for CJK (#2945)
nperez0111 Aug 10, 2026
122703e
test(xl-ai): tear down mounted editors in collabUpdate test
nperez0111 Aug 11, 2026
dee3401
chore: bump prosemirror-view to ^1.42.2 (#2954)
YousefED Aug 11, 2026
bea469e
refactor: vendor @tanstack/store as a first-party Store (#2956)
nperez0111 Aug 11, 2026
256d155
docs(examples): use plain vite for StackBlitz compatibility (#2958)
nperez0111 Aug 11, 2026
353d96a
ci(deps): bump zizmorcore/zizmor-action from 0.6.1 to 0.6.2 (#2960)
dependabot[bot] Aug 11, 2026
e0cce10
ci(deps): bump voidzero-dev/setup-vp from 1.15.0 to 1.16.1 (#2959)
dependabot[bot] Aug 11, 2026
115d433
fix: expose first suggestion as active descendant (#2965)
pupuking723 Aug 12, 2026
99253c3
chore: migrate to TypeScript 7 and consolidate the @shared alias
nperez0111 Aug 13, 2026
503c796
feat(core): source-with-preview, syntax highlighting & exporter images
nperez0111 Aug 13, 2026
2a34f7d
feat: math block
nperez0111 Aug 13, 2026
0fca0ee
feat: diagram block
nperez0111 Aug 13, 2026
2e0cd5d
docs: give blocks, custom schemas and export their own pages
nperez0111 Aug 13, 2026
78b8bee
fix(xl-docx-exporter): clamp list nesting to the levels DOCX defines …
adarshsm Aug 13, 2026
cff0aad
ci: fix zizmor findings and bump action pins
nperez0111 Aug 13, 2026
ea5d803
chore(release): v0.54.0
nperez0111 Aug 13, 2026
1e26f1c
fix(xl-docx-exporter): use distinct bullet symbols per nesting level …
adarshsm Aug 17, 2026
eded970
feat(yhub): migrate versioning client to upstream yhub API (#2979)
nperez0111 Aug 19, 2026
b9cd9c4
fix(core): only attach table handles to actual table blocks (#2972)
nperez0111 Aug 20, 2026
b7f6089
docs: migrate demo to yhub collaboration on stable yjs 13 (#2987)
nperez0111 Aug 20, 2026
b2175c6
perf(core): resolve block changes from changed range only (#2981)
nperez0111 Aug 20, 2026
57190da
docs: file upload example (BLO-1311) (#2996)
matthewlipski Aug 25, 2026
19b9b19
fix(xl-docx-exporter): give each list its own numbering instance (#2976)
adarshsm Aug 26, 2026
9c28482
feat: Typst-powered accessible PDF export (PDF/UA-1) (#2992)
YousefED Aug 31, 2026
aad80d6
feat(pdf): own Typst wasm compiler (@blocknote/xl-typst-compiler), re…
YousefED Aug 31, 2026
225a9f1
fix(exporters): editor-parity rendering fixes + shared-document groun…
YousefED Aug 31, 2026
f0d80ae
refactor(exporters)!: drop the react-pdf math/diagram mappings (#3022)
YousefED Aug 31, 2026
ab4015c
fix(core): stop schema.extend() mutating the shared default specs (#3…
YousefED Sep 1, 2026
63c2389
fix(mantine): restore compact AI menu items (#3027)
YousefED Sep 1, 2026
ce39dd2
fix: ignore only Dark Reader's writes in node views (#3062)
YousefED Sep 9, 2026
7320502
chore(release): v0.54.1
nperez0111 Sep 9, 2026
220544f
fix(xl-typst-compiler): package wasm without Rust build artifacts
nperez0111 Sep 9, 2026
fa7f7b8
chore(release): v0.54.2
nperez0111 Sep 9, 2026
325b071
fix(xl-typst-compiler): replace deprecated virtual path calls
nperez0111 Sep 9, 2026
341853b
ci(deps): bump zizmorcore/zizmor-action from 0.6.2 to 0.6.3 (#3067)
dependabot[bot] Sep 14, 2026
419db1f
chore: bump undici from 6.25.0 to 6.28.1 (#3069)
dependabot[bot] Sep 14, 2026
0042d19
fix: resolve fresh-install and main build dependency failures (#3089)
nperez0111 Sep 15, 2026
476bea5
fix(core): link lookups at the edges of a link (#3058)
YousefED Sep 15, 2026
835fabf
ci(deps): bump voidzero-dev/setup-vp from 1.17.0 to 1.19.0 (#3092)
dependabot[bot] Sep 16, 2026
288b9fd
feat: Mobile formatting toolbar (BLO-1292) (#2939)
matthewlipski Sep 22, 2026
9674042
refactor(react): one vocabulary and simpler plumbing for portal eleme…
YousefED Sep 22, 2026
e3eb768
feat(core,react): public focus API with editor-UI-aware tracking (#3028)
YousefED Sep 22, 2026
6f6c815
test: mobile e2e instance and the test-layer ladder (#3029)
YousefED Sep 22, 2026
c4d3eea
fix(ui): commit popover forms through submit, not a key handler (#3030)
YousefED Sep 22, 2026
be23faf
fix(core): Enter on Android and iOS, toolbar and side menu fixes on p…
YousefED Sep 22, 2026
ff12c90
docs: Update docs with mobile PR stack changes (#3097)
matthewlipski Sep 22, 2026
5ad956d
chore: align tiptap and prosemirror dependencies (#3106)
nperez0111 Sep 22, 2026
f1e7754
ci(deps): bump zizmorcore/zizmor-action from 0.6.3 to 0.6.4 (#3108)
dependabot[bot] Sep 22, 2026
cbbc929
ci(deps): bump voidzero-dev/setup-vp from 1.19.0 to 1.20.0 (#3109)
dependabot[bot] Sep 22, 2026
3a02bac
feat: Enter saves comment in comment editor (#3103)
matthewlipski Sep 22, 2026
e5e3079
chore(release): v0.55.0
nperez0111 Sep 22, 2026
6e215ea
fix(xl-email-exporter): escape text instead of injecting it as HTML (…
adarshsm Sep 23, 2026
3a37d23
fix(core): remove unused source preview anchor (#3099)
RovshanMuradov Sep 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
fix: filter out invalid heading items based on the current block sche…
…ma in the slash menu TypeCellOS#2253 (TypeCellOS#2259)
  • Loading branch information
nperez0111 authored Dec 11, 2025
commit bf43b84167c404ce514c2e90404c787b1f9761f2
Original file line number Diff line number Diff line change
Expand Up @@ -89,41 +89,24 @@ export function getDefaultSlashMenuItems<
const items: DefaultSuggestionItem[] = [];

if (editorHasBlockWithType(editor, "heading", { level: "number" })) {
items.push(
{
onItemClick: () => {
insertOrUpdateBlockForSlashMenu(editor, {
type: "heading",
props: { level: 1 },
});
},
badge: formatKeyboardShortcut("Mod-Alt-1"),
key: "heading",
...editor.dictionary.slash_menu.heading,
},
{
onItemClick: () => {
insertOrUpdateBlockForSlashMenu(editor, {
type: "heading",
props: { level: 2 },
});
},
badge: formatKeyboardShortcut("Mod-Alt-2"),
key: "heading_2",
...editor.dictionary.slash_menu.heading_2,
},
{
onItemClick: () => {
insertOrUpdateBlockForSlashMenu(editor, {
type: "heading",
props: { level: 3 },
});
},
badge: formatKeyboardShortcut("Mod-Alt-3"),
key: "heading_3",
...editor.dictionary.slash_menu.heading_3,
},
);
(editor.schema.blockSchema.heading.propSchema.level.values || [])
.filter((level): level is 1 | 2 | 3 => level <= 3)
.forEach((level) => {
items.push({
onItemClick: () => {
insertOrUpdateBlockForSlashMenu(editor, {
type: "heading",
props: { level: level },
});
},
badge: formatKeyboardShortcut(`Mod-Alt-${level}`),
key:
level === 1 ? ("heading" as const) : (`heading_${level}` as const),
...editor.dictionary.slash_menu[
level === 1 ? ("heading" as const) : (`heading_${level}` as const)
],
});
});
}

if (editorHasBlockWithType(editor, "quote")) {
Expand Down Expand Up @@ -316,39 +299,27 @@ export function getDefaultSlashMenuItems<
isToggleable: "boolean",
})
) {
items.push(
{
onItemClick: () => {
insertOrUpdateBlockForSlashMenu(editor, {
type: "heading",
props: { level: 1, isToggleable: true },
});
},
key: "toggle_heading",
...editor.dictionary.slash_menu.toggle_heading,
},
{
onItemClick: () => {
insertOrUpdateBlockForSlashMenu(editor, {
type: "heading",
props: { level: 2, isToggleable: true },
});
},

key: "toggle_heading_2",
...editor.dictionary.slash_menu.toggle_heading_2,
},
{
onItemClick: () => {
insertOrUpdateBlockForSlashMenu(editor, {
type: "heading",
props: { level: 3, isToggleable: true },
});
},
key: "toggle_heading_3",
...editor.dictionary.slash_menu.toggle_heading_3,
},
);
(editor.schema.blockSchema.heading.propSchema.level.values || [])
.filter((level): level is 1 | 2 | 3 => level <= 3)
.forEach((level) => {
items.push({
onItemClick: () => {
insertOrUpdateBlockForSlashMenu(editor, {
type: "heading",
props: { level: level, isToggleable: true },
});
},
key:
level === 1
? ("toggle_heading" as const)
: (`toggle_heading_${level}` as const),
...editor.dictionary.slash_menu[
level === 1
? ("toggle_heading" as const)
: (`toggle_heading_${level}` as const)
],
});
});
}

if (editorHasBlockWithType(editor, "heading", { level: "number" })) {
Expand All @@ -362,6 +333,7 @@ export function getDefaultSlashMenuItems<
props: { level: level },
});
},
badge: formatKeyboardShortcut(`Mod-Alt-${level}`),
key: `heading_${level}`,
...editor.dictionary.slash_menu[`heading_${level}`],
});
Expand Down