docs/plans/2026-05-04-slate-v2-full-issue-ledger-architecture-ralplan-issue-matrix.md
This generated matrix gives every frozen issue-ledger row an explicit Slate v2 rewrite decision. It is not a PR auto-close list. Exact closure claims stay in docs/slate-v2/ledgers/issue-coverage-matrix.md.
| Bucket | Rows |
|---|---|
| v2-input-runtime | 147 |
| v2-core-engine | 104 |
| skip-invalid | 76 |
| v2-dom-selection | 65 |
| skip-stale | 60 |
| needs-repro | 45 |
| skip-maintainer-noise | 45 |
| already-accounted | 30 |
| v2-clipboard-serialization | 28 |
| v2-react-runtime | 28 |
| docs-examples | 18 |
| skip-duplicate | 16 |
| v2-performance-benchmark | 12 |
| ecosystem-boundary | 7 |
| v2-api-dx | 1 |
| Status | Rows |
|---|---|
| cluster-synced | 387 |
| triage-closed | 152 |
| issue-reviewed | 64 |
| not-claimed | 58 |
| improves-claimed | 18 |
| fixes-claimed | 3 |
| Validity | Rows |
|---|---|
| valid | 427 |
| likely-valid | 71 |
| stale-candidate | 59 |
| invalid | 43 |
| unclear | 37 |
| likely-invalid | 34 |
| duplicate-candidate | 11 |
| Package impact | Rows |
|---|---|
| cross-package | 266 |
| slate-react | 136 |
| slate | 100 |
| docs-only | 69 |
| ecosystem | 49 |
| site/examples | 32 |
| repo-only | 12 |
| slate-history | 11 |
| slate-dom | 4 |
| slate-hyperscript | 2 |
| slate-react and slate-dom | 1 |
| Issue | Title | Primary subsystem | Package impact | Validity | Primary cluster | Action bucket | V2 sync status | Decision | Owner |
|---|---|---|---|---|---|---|---|---|---|
| 6038 | Perf: repeated tree updates need a batch-aware apply engine | performance | cross-package | valid | transactionality-and-batch-engine | already-accounted | improves-claimed | Improves #6038 | existing proof ledger |
| 6034 | Cursor moves to wrong position when pressing down arrow at end of table that is last node | dom-bridge | cross-package | likely-valid | dom-selection-synchronization | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 6022 | [Android] Soft keyboard dismisses and cursor jumps when typing after toggling a mark on a collapsed selection | mobile-ime | cross-package | valid | mobile-ime-and-selection-sync | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 6016 | Displaying 2 Slate components with the same initialValue breaks the page | dom-bridge | cross-package | likely-invalid | shared-node-identity-across-editors | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 6013 | Improvement: Omit initialValue for pre-initialized editor instances | api-ergonomics | slate-react | valid | react-initialization-api-ergonomics | already-accounted | fixes-claimed | Fixes #6013 | existing proof ledger |
| 6007 | NPM and GitHub latest releases do not concur | docs | docs-only | duplicate-candidate | release-and-distribution-integrity | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 5994 | 【examples/mentions】Unexpected position of cursor when backspace | selection | cross-package | unclear | inline-boundary-selection | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5992 | In the case of large documents, using the cut function took a lot of time. | performance | cross-package | likely-valid | large-document-edit-performance | v2-performance-benchmark | cluster-synced | V2 target: benchmark-gated performance by cohort, repeated-unit budget, INP proxy, heap, DOM, component, and native behavior tags. | benchmark/performance lane |
| 5989 | [Chrome, Android] The Hangul composition breaks on the first character when the placeholder is visible | mobile-ime | cross-package | valid | mobile-ime-and-placeholder-composition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5987 | Caret jumps to wrong position when decorate callback changes from async state update | react-runtime | slate-react | valid | react-decoration-and-selection-stability | already-accounted | improves-claimed | Improves #5987 | existing proof ledger |
| 5984 | Android Chinese Input Issue: Backspace requires two presses to trigger one onChange event | mobile-ime | cross-package | valid | mobile-ime-and-backspace-semantics | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5983 | When the content is empty, the first voice input on Android repeats | mobile-ime | cross-package | likely-valid | mobile-ime-empty-state-input | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5977 | IsOperation method do not handle the custom operations | operations | cross-package | valid | operation-extensibility-and-validation | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5974 | chrome devtools emulator iPhone devices can't input Chinese charaters. | mobile-ime | cross-package | unclear | mobile-ime-composition-emulator-only | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5972 | In the inlines mode, when I delete an input element, the preceding character of that element will also be deleted. | operations | slate | valid | inline-delete-semantics | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5961 | Warning: Cannot update a component (Slate) while rendering a different component (ForwardRef) in onKeyDown handler when DevTools is open | react-runtime | slate-react | stale-candidate | consumer-integration-misuse-and-timing | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5958 | Burmese IME composing stops working on some combinations | input-methods | cross-package | likely-invalid | windows-and-cross-platform-ime-semantics | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5956 | no cursor | accessibility | docs-only | stale-candidate | consumer-styling-and-focus-indicators | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5947 | DOMEditor.toSlatePoint could find a point in a parent editor | dom-bridge | slate-dom | likely-valid | nested-editor-and-global-dom-maps | already-accounted | improves-claimed | Improves #5947 | existing proof ledger |
| 5945 | Slow Pasting of Large Text Content in Slate.js | performance | slate | valid | large-document-edit-performance | already-accounted | not-claimed | Not claimed #5945 | existing proof ledger |
| 5944 | Stable per-line pagination support (avoid flicker at page boundaries) | layout-composition | slate-react | unclear | pagination-and-layout-composition | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5938 | DOMEditor.findPath returns no or wrong path | dom-bridge | cross-package | valid | dom-path-computation-tied-to-render | already-accounted | improves-claimed | Improves #5938 | existing proof ledger |
| 5931 | Windows text suggestions append instead of replace in Slate editor | input-methods | cross-package | likely-valid | windows-and-cross-platform-ime-semantics | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5928 | Slash commands (/) don’t trigger command palette on mobile (keydown not firing) | input-methods | docs-only | stale-candidate | consumer-integration-misuse-and-mobile-input | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5924 | Ability to exclude structural DOM elements from contentEditable context | layout-composition | slate-react | stale-candidate | pagination-and-layout-composition | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5918 | Text input error when typing Vietnamese on Windows OS | input-methods | cross-package | unclear | windows-and-cross-platform-ime-semantics | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5912 | How can we use this library on browsers that don't support composition events? | input-methods | cross-package | likely-invalid | browser-and-ime-support-limits | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5895 | final bullet point or number doesn't get erased when the user hits backspace | operations | ecosystem | likely-invalid | editor-behavior-left-to-consumers | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5894 | Inconsistent link exit behavior with space key when link is within elements (paragraph, heading, etc.), not at the end | selection | ecosystem | stale-candidate | editor-behavior-left-to-consumers | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5891 | [Android] The autocorrect doesn’t work when creating the first line | mobile-ime | cross-package | likely-valid | mobile-ime-empty-state-input | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5883 | Composition interrupted in empty text nodes on Android IME | mobile-ime | cross-package | valid | mobile-ime-empty-state-input | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5874 | Inserting the same node more than once causes strange desyncing behavior | dom-bridge | cross-package | valid | shared-node-identity-across-editors | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5867 | Calling DOMEditor.focus(editor) when a mention is selected causes the selection to be lost. | dom-bridge | cross-package | likely-valid | dom-selection-synchronization | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5847 | In Chrome and Safari, triple-click and backspace should remove the entire block, not just its contents | selection | cross-package | valid | editor-behavior-left-to-consumers | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5844 | Show Mentions after @ symbol | api-ergonomics | docs-only | stale-candidate | example-and-plugin-ergonomics | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5839 | In Safari browser, when the last node is a block node, the cursor position will be misaligned | dom-bridge | cross-package | unclear | dom-selection-synchronization | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5838 | Slate-vue3 has been released and all test cases have passed. Welcome to try it out | docs | ecosystem | invalid | out-of-scope-announcements | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5836 | The cursor is not shifted to the left as expected | mobile-ime | cross-package | valid | mobile-ime-and-selection-sync | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5833 | Slate is adding link (inline bode) next to text node | docs | docs-only | stale-candidate | consumer-rendering-mistakes | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5830 | onBlur not called while composing (Japanese or Korean) | input-methods | slate-react | likely-valid | composition-and-focus-lifecycle | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5826 | Unexpected auto-scrolling behavior when refocus the editor | dom-bridge | slate-react | likely-valid | focus-and-scroll-restoration | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 5824 | Copy and paste not copying style on iOS | serialization | ecosystem | likely-invalid | paste-html-parsing-limitations | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5820 | Cannot get the leaf node at path [0,0] because it refers to a non-leaf node. | react-runtime | slate-react | likely-invalid | consumer-integration-misuse-and-timing | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5813 | Debugger and Paused Rendering Break Slate's renderLeaf and decorator Functions | react-runtime | slate-react | unclear | debugger-and-paused-rendering | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5811 | Could not completely normalize the editor after 3150 iterations! | normalization | slate | valid | normalization-and-custom-schema-conflicts | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5806 | Selection is empty when sliding to select a custom inline element such as a button; expected to be the currently selected element | selection | slate-react | likely-valid | custom-inline-selection-behavior | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 5805 | Cannot Input Chinese Characters in Comments Feature in iphone Mobile Mode | mobile-ime | cross-package | likely-valid | mobile-ime-and-selection-sync | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5798 | Input box quickly input file insertion problems | selection | slate-react | unclear | focus-and-first-input-timing | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5786 | Issues when updating linting rules | docs | cross-package | valid | repo-tooling-and-ci-hygiene | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 5774 | After the Vite hot reload, I was unable to edit or input again, which resulted in me having to refresh the page every time to re edit | react-runtime | slate-react | unclear | hot-reload-and-debugger-environment | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5771 | Exception between Select and Anchor Operations in Collaboration | collaboration | cross-package | likely-valid | collaboration-selection-transform-stability | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5760 | domRange.setStart being called with offset of 1 on a zero length text node | dom-bridge | slate-dom | likely-valid | dom-range-zero-width-offset | already-accounted | improves-claimed | Improves #5760 | existing proof ledger |
| 5757 | Potential security issues in GitHub Actions workflows | tooling | repo-only | valid | repo-security-reporting | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 5750 | Markdown does not interpret combo styles correctly | docs | site/examples | likely-valid | example-markdown-parser-limitations | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 5749 | Shadow DOM - Drag-and-drop text throws error | dom-bridge | cross-package | valid | shadow-dom-drag-and-drop | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5748 | Wrap children of root not working | api-ergonomics | docs-only | invalid | root-wrapper-api-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5735 | How to implement transition animations for moving slate nodes? | rendering | ecosystem | likely-invalid | animation-support-requests | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5733 | Text.equals extension/change | api-ergonomics | slate | valid | custom-node-equality-hooks | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5732 | Bn | docs | docs-only | invalid | spam-and-garbage-reporting | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5711 | "Cannot resolve a Slate point from DOM point" | mobile-ime | cross-package | valid | mobile-ime-empty-state-input | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5710 | Load different content | api-ergonomics | slate | valid | document-replacement-api-ergonomics | already-accounted | improves-claimed | Improves #5710 | existing proof ledger |
| 5709 | useSlate hook holds old editor instance after recreating a new one | react-runtime | slate-react | valid | react-editor-instance-replacement | already-accounted | fixes-claimed | Fixes #5709 | existing proof ledger |
| 5704 | editor selection not change when selecting in a popup text box | selection | slate-react | likely-invalid | focus-and-selection-ownership-expectations | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5698 | when i deleted all text, i cannot insert any text | mobile-ime | cross-package | duplicate-candidate | mobile-ime-empty-state-input | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 5697 | Proposal: Improve the reliability of ReactEditor.findPath without compromising its efficiency | react-runtime | cross-package | valid | react-path-resolution-reliability | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5692 | Legacy Chrome will be judged to support InputEvent | input-methods | slate-react | likely-invalid | legacy-browser-detection | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5691 | Add [Symbol.dispose] support for ref types | api-ergonomics | slate | valid | ref-lifecycle-ergonomics | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5690 | Double-clicking a word before an inline element and deleting crashes Slate (Windows/Chrome) | selection | slate-react | likely-valid | inline-boundary-selection | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 5689 | Triple-click the mouse to select upward, the selection disappears. | selection | slate-react | likely-valid | selection-gesture-directionality | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 5686 | Transforms.setNodes unexpected behavior of children | operations | slate | likely-invalid | node-replacement-versus-setnodes-expectations | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5684 | SlateEditor.nodes match issue | operations | slate | unclear | editor-nodes-traversal-ambiguity | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5680 | Keyboard hides when removing inline element (Chrome, Android) | mobile-ime | cross-package | valid | mobile-ime-inline-deletion | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5671 | How to get a "normally" working editor? | docs | docs-only | invalid | support-and-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5669 | input event is not fired when deleting text or typing numbers in <Editable> component | dom-bridge | slate-react | likely-valid | input-event-passthrough-semantics | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 5667 | Mapping multiple slate editor, when deleting one of the array element the values are not correctly shows | react-runtime | slate-react | invalid | react-keyed-list-misuse | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5666 | Touch screen android TV and firefox gives multiple times occurring letters | mobile-ime | cross-package | likely-valid | mobile-ime-firefox-android-tv | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5655 | Dnd-kit not working with slatejs: Error: [Slate] initialValue is invalid! Expected a list of elements but got: undefined in React Slate Editor | react-runtime | slate-react | invalid | consumer-integration-misuse-and-timing | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5653 | double the input content when in chrome using Microsoft ime lost focus | input-methods | cross-package | likely-valid | composition-and-focus-lifecycle | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5647 | Cannot get the end point in the node at path [] because it has no end text node. | operations | slate | likely-invalid | invalid-document-shape-and-empty-blocks | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5643 | On some android device with some keyboard autocomplete is broken | mobile-ime | cross-package | valid | mobile-ime-autocomplete-replacement | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5639 | Page keeps scrolling up on every single character typed in iPhone for Persian language (maybe for RTL languages) after the first word | input-methods | slate-react | likely-valid | rtl-input-scroll-and-selection | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5634 | Style is not maintained in copy paste functionality | serialization | ecosystem | likely-invalid | paste-html-parsing-limitations | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5632 | cursor not as expected when delete a inline badge | selection | cross-package | likely-valid | inline-boundary-selection | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5630 | Select all content and paste the content copied from other editors. The block node cannot be deleted. | operations | slate | valid | paste-fragment-and-void-replacement | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 5629 | Cursor navigation issue | selection | slate | valid | word-navigation-and-string-distance | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5628 | Changing the text direction breaks the editor | dom-bridge | cross-package | valid | browser-dom-mutation-and-directionality | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5617 | Cost effective lodash | tooling | cross-package | stale-candidate | repo-tooling-and-bundle-hygiene | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5616 | Copy from Slate rich text ignores empty lines when pasting in word | serialization | slate-dom | likely-valid | clipboard-empty-line-export | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 5612 | examples are not 100% type safe | docs | docs-only | valid | example-typescript-ergonomics | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 5611 | Text input goes backwards after adding a soft break in Chrome | input-methods | cross-package | valid | soft-break-and-chrome-text-order | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5605 | Why is initialValue required by slate-react's Slate component? | api-ergonomics | slate-react | valid | react-initialization-api-ergonomics | already-accounted | fixes-claimed | Fixes #5605 | existing proof ledger |
| 5603 | onInput not fired when typing at the start of a contenteditable | dom-bridge | slate-react | valid | input-event-passthrough-semantics | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 5600 | Unable to consecutively delete Approved components. No response after deleting one and pressing Backspace. | selection | slate-react | unclear | custom-inline-selection-behavior | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5599 | Unable to create custom hyperscript shorthands? ([email protected]) | api-ergonomics | slate-hyperscript | valid | hyperscript-types-and-docs | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5592 | Memory leak in EDITOR_TO_FORCE_RENDER | react-runtime | slate-react | unclear | react-runtime-memory-and-reference-hygiene | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5588 | How do I support solidjs? Can you implement a slate-solid? | api-ergonomics | ecosystem | valid | alternate-framework-adapters | ecosystem-boundary | not-claimed | Not claimed: ecosystem or product-wrapper request; raw Slate should expose substrate primitives, not absorb product policy. | ecosystem boundary |
| 5587 | Issue with Grammarly Integration - Undo Function Groups Multiple Edits | history | slate-history | likely-valid | history-grouping-and-external-editors | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5582 | [core bug] Incorrect update of 'selection' when deleting consecutive non inline 'void' nodes | selection | slate | valid | void-node-selection-and-deletion | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5569 | TextExpander replacements are not working on Edge on Windows | input-methods | cross-package | likely-valid | external-text-expander-integration | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5568 | Regression in ReactEditor.focus since 0.101.0 | react-runtime | slate-react | likely-valid | focus-and-initialization-timing | already-accounted | issue-reviewed | Related #5568 | existing proof ledger |
| 5559 | Shift-Click selection behavior | selection | cross-package | valid | selection-gesture-directionality | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5558 | I think we will need Operation.isInsertNodeOperation, Operation.isMergeNodeOperation,...etc | api-ergonomics | slate | valid | operation-type-guards-and-custom-ops | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5557 | moveNodes to wrong for later siblings? | operations | slate | valid | move-node-destination-semantics | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5551 | Inconsistent Firefox selection with rowspan in td element | dom-bridge | ecosystem | unclear | custom-table-selection-on-firefox | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5550 | When rendering elements using components encapsulated with Web Components, the selection is abnormal | dom-bridge | ecosystem | likely-invalid | shadow-dom-and-web-component-selection | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5548 | Editor.start / Editor.end broke when migrating from slate 0.93.0 -> 0.94.0 | api-ergonomics | docs-only | invalid | root-path-api-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5538 | Slate editor scrolls on focus. | react-runtime | slate-react | unclear | focus-and-scroll-restoration | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5537 | Input field of the Editor doesn't accept input when programatically focused + there are multiple Editor components | react-runtime | docs-only | likely-invalid | programmatic-focus-and-multiple-editors | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5533 | Is there any way to achieve collaborate editing without yjs ? | collaboration | cross-package | valid | collaboration-without-yjs | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5532 | selection anchor jump issue | selection | cross-package | likely-valid | selection-gesture-directionality | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5524 | Down arrow doesn't update selection even if cursor moves | selection | slate | unclear | soft-break-and-vertical-navigation | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5520 | Not clear docs on Node.common() | docs | docs-only | valid | docs-api-reference-clarity | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 5515 | Undo/Redo All | history | slate-history | valid | history-global-undo-semantics | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5509 | use with mobx-react-lite error | react-runtime | slate-react | likely-valid | react-external-store-rerender-stability | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime, external reactive rendering boundaries, stable editor identity, and selector-first subscriptions. | slate-react-v2 React runtime |
| 5508 | Typescript: CustomEditor overriding any OmitFirstArg prop breaks typing. | typing | slate | valid | typescript-custom-editor-typing | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5507 | Update Stale Dependencies | tooling | repo-only | valid | repo-tooling-and-dependency-maintenance | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 5498 | Cursor Skip Issue with Text Node Padding | selection | ecosystem | likely-invalid | consumer-rendering-and-dom-selection-interference | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5493 | The first letter is typing twice on Android | mobile-ime | slate-react | valid | mobile-ime-and-selection-sync | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5490 | Typescript: PropsMerge type is invalid. | typing | slate | valid | typescript-transform-merge-typing | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5488 | Missing of value={value} and I am out of ideas PLS HELP!! | api-ergonomics | slate-react | valid | react-controlled-value-and-external-updates | already-accounted | improves-claimed | Improves #5488 | existing proof ledger |
| 5487 | createEditor returns Editor, but the returned type is really just BaseEditor => breaks type checking of plugins | typing | slate | valid | typescript-plugin-composition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5485 | backspace bug on Google Chrome (not all chromium) | selection | cross-package | likely-valid | caret-restoration-after-delete | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5484 | Unable to type Malayalam | input-methods | cross-package | likely-valid | external-ime-and-keyboard-compatibility | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5482 | Slate-React team needs to learn semantic versioning! | tooling | repo-only | stale-candidate | release-and-distribution-integrity | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5481 | Placeholder text is partially selectable on IOS | dom-bridge | cross-package | valid | placeholder-selection-on-ios | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5480 | Spellcheck - fixing one issue clears others | dom-bridge | cross-package | stale-candidate | browser-spellcheck-and-external-editors | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5479 | Cannot paste text copied from gitbook | serialization | slate-dom | stale-candidate | clipboard-and-external-html-parsing | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5478 | Without hooks version | docs | docs-only | invalid | legacy-react-support-requests | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5477 | Cannot read properties of undefined (reading 'children') error occurs when deleting a void element | selection | slate | valid | void-node-deletion-and-empty-editor | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5473 | scrollSelectionIntoView is not triggered when deleting empty paragraphs | selection | slate-react | valid | focus-and-scroll-restoration | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 5472 | Editable Component display problem on iphone platform of IOS Version 16.5.1 | dom-bridge | ecosystem | likely-invalid | browser-layout-and-contenteditable-quirks | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5458 | Is the result ReactEditor.hasDOMNode() returns incorrect? | api-ergonomics | slate-react | unclear | react-editor-dom-api-semantics | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5457 | wider space btw each line | docs | docs-only | invalid | consumer-styling-misunderstandings | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5456 | Slack link is dead | docs | docs-only | stale-candidate | docs-links-and-community-entrypoints | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5455 | Images duplicated when dragging when trying to reproduce example | rendering | ecosystem | unclear | example-copying-and-dnd-divergence | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5436 | Please provide an example on how to make the toolbar sticky | docs | docs-only | valid | docs-example-gaps | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 5435 | select some text and readOnly element, and press the delete Slate crash | selection | cross-package | valid | readonly-inline-selection-crashes | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5433 | editable re-render cause the cursor to be brought forward in composing events. | react-runtime | slate-react | valid | react-external-render-during-composition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5432 | When I insert a link, the cursor focuses on the link node | api-ergonomics | docs-only | invalid | current-api-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5430 | Hydration Error is occurred when changing browser responsive mode | react-runtime | slate-react | likely-valid | ssr-and-hydration-identity | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5429 | Cursor inconsistently placed on insertion | operations | slate | valid | fragment-insertion-selection-placement | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 5425 | onChange is not called when used with userEvent.type from React testing library | docs | docs-only | unclear | testing-environment-event-simulation | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5420 | Placeholder text slow to re-appear after content has been cleared | react-runtime | slate-react | valid | placeholder-timing-and-visibility | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5418 | Manually setting the value in the editor does not update. | api-ergonomics | slate-react | valid | react-controlled-value-and-external-updates | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5417 | If exporting NODE* TO* KEY will be great | api-ergonomics | slate | likely-invalid | requests-for-private-editor-internals | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5413 | insertText no work until editor focus once. | api-ergonomics | docs-only | invalid | current-api-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5412 | insertFragment at a specified location regression | operations | slate | valid | transform-api-regressions | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5411 | Bug with highlighting void entities | selection | cross-package | valid | void-selection-fix-regressions | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5408 | Browser extensions interaction with Slate | dom-bridge | cross-package | valid | browser-extensions-and-external-dom-mutation | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5404 | Incorrect return type for useSlateStatic | typing | slate-react | valid | react-hook-return-types | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 5403 | Add example for "show more" and "show less" | docs | docs-only | valid | docs-example-gaps | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 5402 | slate.tsx component unused varialbe | tooling | repo-only | stale-candidate | repo-cleanup-nits | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5400 | Namespace conflict when Slate's Node class is imported | docs | docs-only | valid | docs-api-reference-clarity | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 5398 | Cursor move backward on re-render while composing Chinese | react-runtime | slate-react | valid | react-external-render-during-composition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5391 | Inline void selection and cursor placement issues on iOS | dom-bridge | ecosystem | likely-invalid | browser-owned-selection-quirks | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5380 | Warning: Prop data-slate-editor-id did not match (React, Slate, Next.js) | react-runtime | slate-react | valid | ssr-and-hydration-identity | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5379 | Spacebar not working when passing disableDefaultStyles to Editable | docs | docs-only | invalid | current-api-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5378 | React 18 request | tooling | repo-only | stale-candidate | framework-upgrade-roadmap-history | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5376 | Bug occurs when you copy and paste multiple lines | selection | cross-package | likely-valid | selection-drag-and-drop-instability | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5375 | Bug occurs when inputting Chinese with IME at the end of an inline element | input-methods | cross-package | valid | inline-boundary-ime-failures | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5371 | Cursor position wrong after selecting a suggested word | mobile-ime | cross-package | valid | mobile-ime-and-selection-sync | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5364 | Undo and Redo is not working properly for colour picker. | history | ecosystem | unclear | custom-mark-history-semantics | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5358 | Nesting Block Elements | normalization | slate | valid | normalization-and-structural-flexibility | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5355 | Slate crashes when arrowing into or out of table with colgroup/col nodes | selection | ecosystem | unclear | custom-table-structure-navigation | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5351 | An empty array as an initial value makes everything break | docs | docs-only | likely-invalid | react-controlled-value-and-external-updates | already-accounted | improves-claimed | Improves #5351 | existing proof ledger |
| 5350 | Slate docs site has bad UX | docs | docs-only | stale-candidate | hosted-docs-platform-limitations | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5349 | renderElement keeps rendering when the editing component is empty | react-runtime | slate-react | unclear | render-churn-and-empty-state | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5333 | Markdown Editor not picking up core Markdown syntax e.g. (Subheadings ##) | docs | docs-only | invalid | example-markdown-parser-limitations | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5328 | Error when pasting HTML containing /data-slate-fragment="(.+?)"/ in text | serialization | slate-react | valid | clipboard-and-external-html-parsing | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 5291 | [Android Cursor Issue] the cursor jump to first line,when block is bigger than viewport | mobile-ime | cross-package | valid | mobile-scroll-and-selection-sync | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5287 | isBlock returns true for text nodes | api-ergonomics | slate | valid | api-guard-behavior-and-type-safety | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5281 | make slate a controlled input | api-ergonomics | slate-react | valid | react-controlled-value-and-external-updates | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5280 | Copy/Paste multiple lines adding more blank lines in between | serialization | ecosystem | likely-invalid | consumer-rendering-and-clipboard-markup | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5274 | Selection updates via click while Slate is rendering may be ignored/reverted | react-runtime | slate-react | valid | react-external-store-rerender-stability | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5253 | Support for loading portable text JSON | serialization | ecosystem | valid | external-document-format-adapters | ecosystem-boundary | not-claimed | Not claimed: ecosystem or product-wrapper request; raw Slate should expose substrate primitives, not absorb product policy. | ecosystem boundary |
| 5250 | Insert text,then undo and redo,the editor reports an error | history | docs-only | invalid | non-normalized-document-input | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5246 | Expose getCharacterDistance in the string utils (and/or create a getCharacterLength method and expose that) | api-ergonomics | slate | valid | unicode-aware-string-helpers | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5233 | Allow customization of clipboard fragment format name | serialization | cross-package | valid | clipboard-schema-isolation | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 5229 | Fail Gracefully In Selection | selection | cross-package | valid | selection-error-resilience | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5216 | Laggy selection in Safari - reproducible! | performance | cross-package | valid | safari-selection-performance | v2-performance-benchmark | cluster-synced | V2 target: benchmark-gated performance by cohort, repeated-unit budget, INP proxy, heap, DOM, component, and native behavior tags. | benchmark/performance lane |
| 5213 | autoFocus doesn't set selection, so text can't be entered | react-runtime | slate-react | valid | focus-and-initialization-timing | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5212 | Editable void example does not actually show how to edit within a void | docs | docs-only | valid | docs-example-gaps | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 5211 | React 18.2 & Slate-React 0.67+ does not persist when the editor hidden and then shown | react-runtime | slate-react | stale-candidate | react-runtime-lifecycle-history | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5207 | Slate-React (Next.js) Slate isn't updating data after route change | api-ergonomics | slate-react | valid | react-controlled-value-and-external-updates | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5205 | unwrapNodes() selection inconsistency | operations | slate | valid | selection-sensitive-transform-behavior | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5202 | Clone to local & yarn install = Throw an exception | tooling | repo-only | stale-candidate | repo-tooling-and-installation-history | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5183 | Selecting an inline void element in Android platform doesn't evoke the keyboard | mobile-ime | cross-package | valid | mobile-ime-and-inline-void-focus | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5181 | Wrong onChange callback called after editor and onChange are changed | react-runtime | slate-react | valid | editor-instance-replacement-and-subscriptions | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5178 | onChange gets triggered twice after insert/remove text event gets flushed on Android | mobile-ime | slate-react | unclear | android-flush-and-onchange-semantics | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5175 | slate-react >=0.82.0 doesn't handle last inserted element correctly on android | mobile-ime | slate-react | likely-valid | android-input-manager-regressions | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5174 | Editable autoFocus not work on IOS | docs | docs-only | likely-invalid | browser-owned-focus-limitations | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5173 | Composition input issue on Chromium | input-methods | cross-package | valid | composition-end-and-click-away | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5172 | Package rich text example as a standalone npm package | docs | docs-only | likely-invalid | batteries-included-editor-requests | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5171 | Firefox triggers an invalid selection update on editor change when it's not focused | selection | cross-package | valid | blurred-editor-selection-reconciliation | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5167 | AndroidInputManager handles input incorrectly | mobile-ime | slate-react | likely-valid | android-input-manager-regressions | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5152 | If insertText does nothing, text is inserted into the DOM anyway, causing DOM/Slate desync (bug introduced in slate-react 0.66.0) | react-runtime | slate-react | valid | dom-model-desync-on-suppressed-input | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5151 | Pasting into empty or fully selected node will change its type | serialization | slate | valid | paste-fragment-and-node-type-preservation | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 5141 | Chrome - Tes  - Byte Order Mark in Chrome 105 | input-methods | cross-package | stale-candidate | browser-byte-order-mark-regressions | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5132 | When I use stale read again, I have a problem ([Slate] value is invalid! Expected a list of elementsbut got: undefined) | api-ergonomics | docs-only | invalid | current-api-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5131 | useSlate triggers rerender when selection changes | react-runtime | slate-react | valid | react-selection-subscription-granularity | already-accounted | not-claimed | Not claimed #5131 | existing proof ledger |
| 5130 | Android Predictive typing broken - Firefox | mobile-ime | cross-package | valid | mobile-ime-and-selection-sync | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3878 | Editor's selection points to non-existing location when value is changed programmatically (Chrome, Safari) | react-runtime | slate-react | valid | react-controlled-value-and-external-updates | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3874 | Feature suggestion: isolated/atomic operation groups in HistoryEditor | history | slate-history | valid | collaboration-op-metadata-and-transaction-boundaries | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3873 | shoulde prevent Editable component onKeydown event when isComposing is true | input-methods | cross-package | valid | composition-event-gating-and-arrow-keys | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3872 | Triple clicking a paragraph that includes an inline element does not select the whole paragraph | selection | cross-package | valid | triple-click-and-inline-selection | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3871 | Triple clicking selects parts of the block below | selection | cross-package | valid | triple-click-and-inline-selection | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3870 | Editor crashes when clicking on initial void block or near its boundarie | void-elements | ecosystem | invalid | current-contract-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3868 | Transforms.removeNodes(editor) does not delete the current selection when it includes void nodes | operations | cross-package | valid | delete-selection-void-and-structural-blocks | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3858 | Cannot find a descendant at path when emptying deeply nested editor value | react-runtime | cross-package | likely-valid | react-controlled-value-and-external-updates | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3857 | Cutting (Ctrl + X) block element does not remove the element from the editor | operations | cross-package | valid | delete-selection-void-and-structural-blocks | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 3841 | Transforms.move in insertBreak override not moving forward in Firefox | selection | cross-package | valid | insert-break-and-caret-placement | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3836 | Cannot resolve a Slate point from DOM point: | dom-bridge | cross-package | unclear | dom-point-resolution-noise | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 3834 | Cannot resolve a Slate point from DOM point: [object Text],0 | dom-bridge | cross-package | unclear | dom-point-resolution-noise | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 3828 | Docs: Applying Custom Formatting, Text is not imported | docs | docs-only | valid | docs-api-confusion-and-example-gaps | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 3826 | Issue with removing mark | marks | ecosystem | invalid | current-contract-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3821 | UseFocus Hook in Slate React Does Not Report Focused Correctly When Using Portals | react-runtime | slate-react | valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3818 | make operation override PathRefs' affinity | operations | slate | valid | pathref-and-operation-affinity | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3813 | Transforms.setSelection puts cursor in a wrong location | selection | cross-package | valid | selection-and-programmatic-caret-placement | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3812 | Paste-HTML example does not allow for pasting images | site/examples | site/examples | likely-invalid | example-serialization-scope-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3811 | [ Backspace + Space ] Leads to Repetition and continous [ Backspace ] leads to crash of Slate js Example on android device. | mobile-ime | cross-package | invalid | android-unsupported-but-demand-is-real | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3808 | Transform.setNodes improvement and bug | operations | slate | valid | setnodes-split-and-derivation-api | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3805 | onChange update updates node that's not at selection. | selection | slate | likely-valid | selection-at-offset-zero-and-node-resolution | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3802 | Explain a quirk with reference to node objects | api-ergonomics | cross-package | valid | path-identity-and-node-reference-rules | v2-api-dx | cluster-synced | V2 target: tighter public API, type surface, extension surface, and initialization/value DX without legacy namespace sprawl. | slate-v2 public API/DX |
| 3801 | When cutting (ctrl+x) nodes containing a list, the new node remains a 'list-item' | operations | cross-package | valid | delete-selection-void-and-structural-blocks | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 3800 | Slate onChange is not called in IE11, selection doesn't affect state too. Rich Text Example doesn't work fully. | tooling | docs-only | stale-candidate | legacy-browser-and-compatibility-debt | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3798 | user-select: all not working on Chrome w/ Slate | selection | cross-package | likely-invalid | browser-owned-caret-and-selection-behavior | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3797 | Adding option to attach files | site/examples | site/examples | invalid | example-serialization-scope-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3789 | Line selection is inconsistent across browsers when double clicking | selection | cross-package | likely-invalid | browser-owned-caret-and-selection-behavior | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3787 | Dropping in jsdom causes TypeError | tooling | slate-react | valid | testing-and-maintainer-infrastructure | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 3781 | Fix types of Placeholder Element in Slate React | typing | slate-react | valid | typing-and-api-surface-accuracy | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3780 | Add Data Attribute to Placeholder Property in Slate React Editable | react-runtime | slate-react | valid | placeholder-customization-and-styling-hooks | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3777 | Adding an accented character as the first letter on a new line crashes the editor in Firefox | input-methods | cross-package | valid | placeholder-and-ime-empty-editor | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3772 | Empty link inserted after press Enter key behind a link | operations | cross-package | valid | insert-break-and-inline-boundaries | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3765 | slate-html-serializer weird behaviour | ecosystem | ecosystem | invalid | ecosystem-package-support-noise | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3763 | How to get selected order list node (ol) | docs | ecosystem | invalid | current-contract-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3760 | Feature: Support iOS selection tooltip formatting | rendering | cross-package | valid | ios-selection-toolbar-and-surface-limits | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3757 | Slate checkboxes deletion after selecting (cmd | Ctrl + C) | operations | cross-package | valid | delete-selection-void-and-structural-blocks | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3756 | slate-history does not correctly undo selection movement | history | slate-history | stale-candidate | history-selection-restore | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3753 | Cannot insert a node at the start of the editor after removing all its contents | operations | cross-package | invalid | current-contract-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3752 | slate-history causes memory leaks | history | slate-history | valid | history-memory-retention | v2-performance-benchmark | cluster-synced | V2 target: benchmark-gated performance by cohort, repeated-unit budget, INP proxy, heap, DOM, component, and native behavior tags. | benchmark/performance lane |
| 3751 | Decorate Nested Leaf Unsuccessful | react-runtime | slate-react | valid | react-runtime-and-rerender-breadth | v2-performance-benchmark | cluster-synced | V2 target: benchmark-gated performance by cohort, repeated-unit budget, INP proxy, heap, DOM, component, and native behavior tags. | benchmark/performance lane |
| 3748 | Transforms.wrapNodes and Transfroms.unwrapNodes causing the entire parent node to re-render | react-runtime | slate-react | valid | react-runtime-and-rerender-breadth | v2-performance-benchmark | cluster-synced | V2 target: benchmark-gated performance by cohort, repeated-unit budget, INP proxy, heap, DOM, component, and native behavior tags. | benchmark/performance lane |
| 3745 | Flicking of autocomplete suggestions in Macbook Pro touchbar | input-methods | cross-package | stale-candidate | browser-text-assistance-and-autocomplete | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3744 | editor.children returns Node[] type but should return Element[] type | typing | slate | valid | typing-and-api-surface-accuracy | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3742 | Slate Editor onChange doesn't fire if rendered into another tab/window/document/frame | react-runtime | cross-package | valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3741 | The move_node operation should include moved node to support collaborative editors using operational transform with undo/redo functionality | operations | slate | valid | collaboration-op-metadata-and-transaction-boundaries | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3729 | When double-clicking, please do NOT select tailing whitespaces after words | selection | cross-package | likely-invalid | browser-owned-caret-and-selection-behavior | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3723 | Cannot resolve a Slate point from DOM point | dom-bridge | cross-package | duplicate-candidate | dom-point-resolution-noise | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 3715 | Add Collaboration Example and Documentation | docs | docs-only | valid | collaboration-docs-and-examples | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 3710 | Paste-html example is adding extra new lines | site/examples | site/examples | duplicate-candidate | example-serialization-scope-mismatch | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 3708 | insertText after addMark/removeMark will carsh | operations | cross-package | valid | mark-mutation-and-immediate-insert-timing | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3705 | Slate history error: Cannot apply an incomplete "set_selection" operation properties | history | slate-history | duplicate-candidate | history-selection-restore | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 3696 | Editor Loses Focus on Tab – Must Click to Type | react-runtime | slate-react | valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3695 | repeat render when input chinese directly after the bold text | input-methods | cross-package | valid | ime-near-mark-boundaries-and-left-arrow | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3689 | Normalization incorrectly removes node | normalization | slate | valid | normalization-reentrancy-and-plugin-composability | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3682 | Inserting a list moves caret to the top of the document on Safari | selection | cross-package | likely-valid | insert-break-and-caret-placement | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3671 | Editor.addMark adds mark to wrong node when anchor is on edge | operations | slate | stale-candidate | mark-mutation-and-boundary-affinity | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3656 | Avoid unnecessary re rendering of leaves within a block element | performance | slate-react | valid | react-runtime-and-rerender-breadth | already-accounted | improves-claimed | Improves #3656 | existing proof ledger |
| 3641 | Slate throws exceptions too liberally in relation to selection failures | dom-bridge | cross-package | valid | error-handling-and-dom-point-fail-fast | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3636 | unwrap nodes | operations | slate | likely-valid | wrap-unwrap-and-structural-transforms | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3634 | Input after ReactEditor.focus doesn't work | react-runtime | slate-react | valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3621 | Modification to onChange cannot get latest state | api-ergonomics | slate-react | invalid | current-contract-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3618 | Can the editable component ref be exposed? | api-ergonomics | slate-react | valid | external-toolbar-and-dom-access-seams | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3614 | Make the paste-html example a package | site/examples | site/examples | invalid | example-serialization-scope-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3611 | In the image(void) element's spacer can input compositional language. | input-methods | cross-package | valid | ime-and-void-spacer-focus | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3605 | Select all then delete leaves empty blocks | operations | cross-package | valid | delete-selection-void-and-structural-blocks | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3601 | A requestanimationframe / setinterval running in the background causes slate to not accept / only briefly accept user focus | react-runtime | slate-react | valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3599 | Feature Request: Support for Angular framework | ecosystem | ecosystem | invalid | framework-adapter-and-ecosystem-demand | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3587 | chinese Inconsistency between data and view | input-methods | cross-package | valid | mobile-ime-and-selection-sync | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3586 | Bug: Cannot find DOMPoint after applying formatting keyboard shortcuts (onDOMBeforeInput->event.inputType) - also in stock examples | dom-bridge | cross-package | valid | formatting-shortcuts-and-dom-point-resolution | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3585 | Selection is occasionally not updated when clicking | selection | cross-package | unclear | selection-click-staleness | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 3584 | Feature request: call onChange for set_selection when Editable is readOnly | api-ergonomics | cross-package | valid | read-only-and-static-rendering | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 3582 | iframe bug | react-runtime | cross-package | valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3581 | Editor.isBlock | docs | docs-only | stale-candidate | docs-api-confusion-and-example-gaps | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3573 | Proposal for Paid Android Plugin | mobile-ime | ecosystem | invalid | android-unsupported-but-demand-is-real | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3568 | Calling addMark in onDOMBeforeInput crashes Slate when selection is not collapsed | operations | cross-package | valid | mark-mutation-and-immediate-insert-timing | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3558 | Error: NotFoundError: Failed to execute 'removeChild' on 'Node' | dom-bridge | cross-package | valid | external-dom-mutation-and-foreign-agents | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3557 | Unable to overrde editor.insertNode and editor.insertFragment | api-ergonomics | cross-package | likely-valid | plugin-hook-surface-and-paste-pipeline | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 3551 | Undoing move_nodes results in wrong state | history | slate-history | stale-candidate | history-selection-restore | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3540 | Holding left mouse button breaks selection on mark change | selection | cross-package | valid | selection-drag-and-mark-toggle | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3534 | Selection is broken after undoing | history | slate-history | valid | history-selection-restore | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3499 | Setting marks on selected word and moving it to new line has bugs | history | cross-package | likely-valid | history-selection-restore | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3497 | Editor loses focus if parent component triggers unrelated state change | react-runtime | slate-react | valid | focus-state-and-external-dom-ownership | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime, focus state reconciliation, stable editor identity, and selector-first subscriptions. | slate-react-v2 React runtime |
| 3487 | Why base64 encoding transfer data? | docs | docs-only | valid | clipboard-and-transferdata-contract | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 3486 | Allow to customize setData id | api-ergonomics | slate-react | valid | clipboard-and-transferdata-customization | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 3482 | Questionable .children requirement for void types | data-model | slate | valid | void-element-contract-and-data-model-shape | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3479 | Disable the carried mark on new line | marks | ecosystem | stale-candidate | legacy-version-and-pre-0.5x-support | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3478 | Editor crashes with redux | react-runtime | slate-react | valid | react-controlled-value-and-external-updates | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime, initialized editor ownership, stable editor identity, and external-store update boundaries. | slate-react-v2 React runtime |
| 3470 | Selecting text and moving the cursor is completely broken on Android | mobile-ime | cross-package | invalid | android-unsupported-but-demand-is-real | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3469 | Cannot copy or delete whole list | operations | cross-package | valid | delete-selection-void-and-structural-blocks | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 3466 | Paragraphs are unnecessarily merged | operations | cross-package | duplicate-candidate | core-operation-semantics-and-caret-placement | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 3465 | Normalization for initial value | normalization | slate | valid | normalization-lifecycle-and-initial-value | already-accounted | not-claimed | Not claimed #3465 | existing proof ledger |
| 3460 | Allow access to EditorContext | api-ergonomics | slate-react | likely-valid | external-toolbar-and-context-access | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3459 | Allow to customize the placeholder style | react-runtime | slate-react | stale-candidate | placeholder-customization-and-styling-hooks | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3458 | Arrow navigation issue with single-character text node adjacent to inline element | selection | cross-package | valid | inline-boundary-and-arrow-navigation | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3453 | set id in react component | docs | docs-only | invalid | current-contract-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3452 | caret behavior odd when click event contain setState | react-runtime | slate-react | stale-candidate | focus-state-and-external-dom-ownership | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3450 | Move Editor.addMark and Editor.removeMark to the Transforms namespace | api-ergonomics | slate | valid | api-surface-and-extensibility | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3449 | Void nodes and ReactEditor.findEventRange gives inconsistent results | dom-bridge | cross-package | valid | void-event-range-and-hit-testing | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 3438 | Cannot unselect after selecting first line | selection | cross-package | valid | keyboard-selection-expansion-and-shrink | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3435 | insertBreak on void element | operations | cross-package | valid | insert-break-and-void-boundaries | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3433 | marks becomes null when Editable is focused | react-runtime | slate-react | duplicate-candidate | focus-state-and-external-dom-ownership | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 3432 | Placeholder is not re-rendered when the number of children change | react-runtime | slate-react | valid | placeholder-visibility-and-empty-editor-logic | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3430 | Unresponsive editor due to normalization on paragraph with lots of inline nodes | performance | slate-react | valid | react-runtime-and-rerender-breadth | already-accounted | not-claimed | Not claimed #3430 | existing proof ledger |
| 3429 | Inlines with padding cause cursor to appear inside node | selection | cross-package | likely-valid | inline-boundary-and-arrow-navigation | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3418 | Rendering or moving selection issues with inline-block element | selection | cross-package | valid | inline-boundary-and-arrow-navigation | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3412 | Selection is null after editor loses focus | react-runtime | slate-react | valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3408 | Delete backward is replacing the previous node by the current node | operations | cross-package | unclear | delete-selection-void-and-structural-blocks | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 3387 | cross-browser differences when selecting a paragraph and trying to type | selection | cross-package | likely-valid | triple-click-selection-and-paragraph-replacement | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3384 | Checklist Example Bug | docs | site/examples | stale-candidate | docs-examples-and-release-process-noise | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3383 | Impossible to create overlapping marks/decorations which have the same semantic meaning but different metadata | rendering | cross-package | valid | marks-and-decorations-data-model | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 3382 | Text.decorations assumes that ranges in decorations[] are for current node | react-runtime | slate-react | valid | react-decoration-and-selection-stability | already-accounted | improves-claimed | Improves #3382 | existing proof ledger |
| 3379 | Inline blocks are not erased correctly | operations | cross-package | valid | delete-selection-void-and-structural-blocks | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3369 | Placeholder cannot support Chinese | input-methods | cross-package | duplicate-candidate | mobile-ime-and-placeholder-composition | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 3367 | Proposal: Allow void blocks to optionally contain arbitrary characters to alter selection behavior | void-elements | slate | valid | void-element-contract-and-data-model-shape | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3365 | Backspace on list formatting does not clear the list-item. | operations | cross-package | likely-valid | delete-selection-void-and-structural-blocks | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3354 | Decorate function that returns stable array causes an infinite loop | react-runtime | slate-react | valid | react-decoration-and-selection-stability | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3352 | Cannot decorate siblings in decorator callback | react-runtime | slate-react | valid | react-decoration-and-selection-stability | already-accounted | improves-claimed | Improves #3352 | existing proof ledger |
| 3350 | "paste-html" – error when pasting content in which A tag is wrapped in a text-formatting tag (i.e. STRONG) | clipboard | cross-package | stale-candidate | clipboard-html-deserialization-and-merge-semantics | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3339 | Can't backspace over first character when in second text node without incorrect block merge | operations | cross-package | valid | core-operation-semantics-and-caret-placement | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3331 | add height option to Editor.liftNodes | api-ergonomics | slate | valid | api-surface-and-extensibility | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3329 | Rename *.parent helpers to *.above | api-ergonomics | slate | stale-candidate | api-surface-and-extensibility | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3328 | Arrow keys fail for multi-byte emojis. | selection | cross-package | valid | unicode-grapheme-navigation-and-deletion | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 3325 | Setting value from a bound event breaks editor | react-runtime | slate-react | likely-valid | react-controlled-value-and-external-updates | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3319 | add auto-generated helpers reference | docs | docs-only | valid | docs-api-confusion-and-example-gaps | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 3317 | check before accessing window in React plugin helpers | react-runtime | slate-react | valid | ssr-and-non-browser-runtime-safety | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3313 | Unexpected text input on latest Android Mobile | mobile-ime | cross-package | duplicate-candidate | android-unsupported-but-demand-is-real | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 3312 | add select option to all transforms | api-ergonomics | slate | valid | api-surface-and-extensibility | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3309 | decorated text cannot be selected (#3118 re-open) | react-runtime | cross-package | valid | react-decoration-and-selection-stability | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime, projection/decoration DOM stability, stable editor identity, and selector-first subscriptions. | slate-react-v2 runtime |
| 3304 | Chrome does not fire insertFromDrop beforeinput events for files | input-methods | cross-package | valid | upstream-browser-and-react-event-gaps | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3303 | Chrome does not fire insertFromComposition events | input-methods | cross-package | valid | upstream-browser-and-react-event-gaps | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3287 | fix examples directory structure with Next.js | docs | docs-only | stale-candidate | docs-examples-and-release-process-noise | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3283 | Can't edit URL in Embed example | react-runtime | slate-react | stale-candidate | focus-state-and-external-dom-ownership | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3275 | change normalizeNode to receive only a path | normalization | slate | valid | normalization-lifecycle-and-plugin-composability | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3243 | Mentions example crashes when there's no text | docs | site/examples | stale-candidate | docs-examples-and-release-process-noise | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3237 | html serialized / deserialized content will not toggleMark when rehydrated | serialization | cross-package | unclear | serialization-rehydration-and-editor-liveness | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 3229 | Pass an editor to the match function in Editor.isMatch | api-ergonomics | slate | valid | api-surface-and-extensibility | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3222 | Improve plugins design | api-ergonomics | cross-package | valid | plugin-hook-surface-and-render-composition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3215 | Slate 0.50+ | docs | docs-only | stale-candidate | docs-examples-and-release-process-noise | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3212 | unwrapNodes split not working as expected | operations | slate | valid | wrap-unwrap-and-structural-transforms | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3177 | renderElement is not composable / overridable by plugins (Slate 0.5) | rendering | slate-react | valid | plugin-hook-surface-and-render-composition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3162 | decorate not work well with ime input method | input-methods | slate-react | valid | react-decoration-and-selection-stability | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3155 | add fragment non-merging logic | clipboard | slate | valid | clipboard-html-deserialization-and-merge-semantics | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 3151 | Normalize insert_text on edges of inlines/marks | operations | slate | valid | core-operation-semantics-and-caret-placement | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3150 | Known upstream issues | input-methods | cross-package | valid | upstream-browser-and-react-event-gaps | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3148 | Chrome & Safari cannot select end of inline DOM elements | selection | cross-package | valid | upstream-browser-and-react-event-gaps | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 3112 | Android support for Slate 0.50 | mobile-ime | cross-package | valid | android-unsupported-but-demand-is-real | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 2881 | change split_node operations to include the full target | operations | slate | valid | collaboration-ot-and-operation-transformability | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 2865 | remove schema restriction on texts around inlines | inline-elements | slate | valid | inline-boundary-data-model-restrictions | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 2793 | Slate does not work with screen readers | accessibility | cross-package | valid | accessibility-and-assistive-tech | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 2733 | On improving the performance of ApplyOperation | performance | slate | stale-candidate | legacy-version-and-pre-0.5x-support | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5129 | Replace / Rewrap node Transform | api-ergonomics | slate | valid | node-type-replacement-transform | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5124 | remove onBeforeInput polyfill | tooling | cross-package | valid | browser-support-and-polyfill-debt | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 5119 | Editor Cursor Broken Behavior On Chrome Update | selection | cross-package | likely-valid | browser-layout-and-contenteditable-quirks | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5117 | Placeholder height is added to wrong editor as min-height when multiple editors are present. | react-runtime | slate-react | valid | shared-placeholder-measurement-across-editors | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5112 | Transforms.mergeNodes does not work as intented | api-ergonomics | slate | likely-valid | merge-nodes-contract-and-docs | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5110 | Chrome 105 breaks slate 0.27.x | docs | docs-only | stale-candidate | framework-upgrade-roadmap-history | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5108 | slate-dev-environment HAS_INPUT_EVENTS_LEVEL_2 is bug in chrome@105+ (Slate 0.47) | dom-bridge | docs-only | stale-candidate | browser-support-and-polyfill-debt | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 5107 | findEventRange in shadow-DOM: "Cannot resolve a Slate point from DOM point", in Chrome | dom-bridge | cross-package | valid | shadow-dom-and-web-component-selection | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5101 | Can't search highlight with decorations | docs | docs-only | invalid | decoration-example-expectation-mismatch | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5099 | on chrome kernel of Android system, when the content is empty,click the Backspace Key the placeholder is cleared | mobile-ime | cross-package | valid | mobile-ime-empty-state-input | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5096 | Spell check does not work correctly on MacOS Safari with Cyrillic characters | input-methods | cross-package | likely-valid | browser-spellcheck-and-external-editors | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5095 | Spell check does not work correctly on iOS Safari with Cyrillic characters | input-methods | cross-package | likely-valid | browser-spellcheck-and-external-editors | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5089 | Incorrect behaviour when inserting a fragment that crosses multiple blocks | operations | slate | valid | fragment-insertion-across-multiple-blocks | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 5088 | scrollSelectionIntoView not working after a update | selection | slate-react | valid | scroll-selection-customization-regressions | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5087 | data-slate-spacer span is visible when void inline-elements are selected | selection | cross-package | valid | void-inline-selection-spacer-visibility | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5085 | Cannot destructure property 'path' of 'at' as it is null. | selection | slate | likely-valid | selection-replacement-null-path | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5083 | Input Chinese character when selection is expanded will cause error | mobile-ime | cross-package | valid | mobile-ime-and-selection-sync | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5081 | Delete empty paragraph element automatically turn previous empty list-item element to paragraph. | operations | slate | valid | list-item-normalization-after-delete | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5080 | Editor.nodes option reverse: true only partially reverses output. | operations | slate | valid | editor-nodes-reverse-iteration-order | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5078 | [Android] The onChange event is not triggered on when the letters are entered, and the current children and selection are not available. | mobile-ime | cross-package | valid | android-flush-and-onchange-semantics | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5075 | Formatting type 'string' can't be used to index type 'Node' | api-ergonomics | docs-only | valid | example-typescript-ergonomics | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 5074 | [Examples] Portal component causes ReactTree-DOM desync | docs | site/examples | valid | portal-example-react-dom-desync | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 5068 | Keyboard select previous line unexpected behaviour | selection | cross-package | unclear | selection-gesture-directionality | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5067 | Export my Slate editor value to pdf and docx format | serialization | ecosystem | valid | external-document-format-adapters | ecosystem-boundary | not-claimed | Not claimed: ecosystem or product-wrapper request; raw Slate should expose substrate primitives, not absorb product policy. | ecosystem boundary |
| 5066 | Chinese IME sogou,cause crash by editing text before a inline-element | mobile-ime | cross-package | valid | inline-boundary-ime-failures | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 5064 | Editor registers clicks outside of its borders with certain CSS values of display | dom-bridge | cross-package | likely-valid | browser-layout-and-contenteditable-quirks | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 5051 | slate-html-serializer not working with latest version of slate | docs | ecosystem | invalid | stale-serializer-ecosystem-requests | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5050 | a beforeInsertText function to accept/reject text insertion | api-ergonomics | cross-package | valid | input-interception-hooks | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5044 | shopify and slate | react-runtime | ecosystem | unclear | consumer-framework-integration-misuse | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5037 | Backspace at the start of document does not clear element formatting. | api-ergonomics | ecosystem | valid | editor-behavior-left-to-consumers | ecosystem-boundary | not-claimed | Not claimed: ecosystem or product-wrapper request; raw Slate should expose substrate primitives, not absorb product policy. | ecosystem boundary |
| 5034 | In an Android environment, if readOnly is set for Editable, Gets Editor. selection to null | mobile-ime | cross-package | valid | android-readonly-selection-lifecycle | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5032 | Error: Cannot resolve a Slate point from DOM point: [object Text],1 | dom-bridge | ecosystem | likely-invalid | consumer-dom-mutation-and-code-highlighting | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 5031 | Is Editor.above right when current selection is range? | operations | slate | valid | editor-above-range-semantics | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5028 | EditorNodesOptions need pass args | api-ergonomics | slate | valid | editor-nodes-pass-filtering | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5026 | Android: Text insert/remove operations not provided to onChange listener when readOnly prop changes | mobile-ime | cross-package | valid | android-flush-and-onchange-semantics | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 5025 | Sanity check for Transform.select | api-ergonomics | slate | valid | transform-select-safety-checks | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5023 | The content entered by the Chinese input method is displayed repeatedly | mobile-ime | cross-package | valid | mobile-ime-and-text-composition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5019 | Last word is lost on Android with Gboard | mobile-ime | cross-package | valid | android-flush-and-onchange-semantics | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 5014 | CJK will output duplicated and crash on Firefox.(same on slatejs.org) | mobile-ime | cross-package | valid | mobile-ime-firefox-cjk-duplication | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5012 | Slate-react produces a console error every edit | react-runtime | slate-react | likely-valid | react-ssr-layout-effect-warnings | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 5010 | Attempting to limit text insertion by overriding insertText causes content to be out of sync with node representation | operations | cross-package | valid | dom-model-desync-on-suppressed-input | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5005 | Can't copy only a link inside of a slate editor | serialization | cross-package | valid | clipboard-inline-link-copy | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 5004 | onFocus fires when it shouldn't | react-runtime | slate-react | valid | focus-event-semantics | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 5001 | TypeError: Converting circular structure to JSON | api-ergonomics | slate | valid | error-reporting-and-path-failures | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 5000 | Window.prompt cancel not handled | docs | site/examples | valid | docs-example-gaps | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4995 | scrollSelectionIntoView doesn't allow to completely customize auto-scrolling behavior | selection | slate-react | valid | scroll-selection-customization-regressions | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 4994 | AndroidEditable doesn't react on readOnly prop change | mobile-ime | cross-package | valid | android-readonly-selection-lifecycle | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4989 | press arrowLeft/Right,cursor move two units | selection | cross-package | likely-valid | caret-navigation-double-step | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4984 | Selecting over nested editor throws Cannot resolve a DOM point from Slate point | dom-bridge | cross-package | valid | nested-editor-and-global-dom-maps | already-accounted | cluster-synced | Related #4984 | existing proof ledger |
| 4971 | Slate throw exception when text is null | operations | slate | likely-invalid | invalid-document-shape-and-empty-blocks | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4963 | Clicking the space button after automatically fixing a misspelled word will return the word to its original incorrect syntax | input-methods | cross-package | stale-candidate | browser-spellcheck-and-autocorrect | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4962 | Chinese characters cannot be typed into to the editor (QQ browser/SogouInput) | input-methods | cross-package | likely-valid | browser-specific-ime-compatibility | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 4961 | ReactEditor.focus does not work after inserting a new node | react-runtime | slate-react | valid | focus-after-inserted-node | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4959 | Mobile Backspacing bugs | mobile-ime | cross-package | valid | mobile-ime-and-backspace-semantics | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4956 | Example improvements | docs | docs-only | valid | example-typescript-ergonomics | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4946 | Tripple click change in 0.76.1 selects multiple paragraph blocks | selection | cross-package | likely-valid | triple-click-block-selection | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4936 | Optional flag to force "useEffect" instead of "useLayoutEffect" to aid in serialization | react-runtime | slate-react | likely-invalid | react-ssr-layout-effect-warnings | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4929 | RangeError: Maximum call stack size exceeded - Using deserialize example | docs | docs-only | valid | docs-deserialize-example-bug | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 4917 | Transforms.wrapNodes produces unintended results | operations | slate | valid | wrap-nodes-and-split-semantics | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4915 | Property 'type' does not exist on type 'Node' when trying to apply custom formatting | api-ergonomics | slate | valid | api-guard-behavior-and-type-safety | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4906 | Copying text with a blank line actually copies two blank lines | serialization | cross-package | likely-valid | clipboard-blank-line-serialization | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 4902 | Introduce Slate Test Utils to Slate-React | tooling | repo-only | valid | testing-infrastructure-and-regression-coverage | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4896 | Voids shouldn't be deleted when the node after them is deleted | operations | slate | valid | void-boundary-delete-behavior | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4895 | onCopy on readonly doc? | api-ergonomics | slate-react | likely-valid | readonly-clipboard-semantics | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 4888 | onDrop inside a void, is still handled by slate and calls insertData | dom-bridge | slate-react | valid | void-drop-event-ownership | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 4882 | [doc] Wrong deserialising HTML implementation referenced in the docs | docs | docs-only | valid | docs-deserialize-example-bug | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4881 | Click 3 times on a paragraph and move the cursor up bug on Chrome/Safari (initial selection lost and no blocks selection) | selection | cross-package | valid | triple-click-block-selection | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4861 | Android: Line is deleted when changing paragraph type | mobile-ime | cross-package | valid | android-format-toggle-data-loss | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4857 | Select all and paste html error all the time: Uncaught TypeError: Cannot read properties of null (reading 'length') | serialization | cross-package | valid | paste-html-fragment-boundary-errors | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 4853 | ANDROID issue: Editing text in android is not optimal. | mobile-ime | cross-package | unclear | mobile-ime-and-selection-sync | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 4851 | Error thrown with Katex library: Cannot resolve a DOM point | dom-bridge | ecosystem | unclear | consumer-rendering-and-third-party-dom-libraries | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 4849 | Warning for transpiling to old browsers | tooling | docs-only | stale-candidate | browser-support-and-polyfill-debt | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4847 | Editor will crash after input Chinese in FireFox | mobile-ime | cross-package | stale-candidate | mobile-ime-firefox-cjk-duplication | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4844 | Need to fix scrolling behaviour on Safari when content is deleted. | selection | cross-package | valid | safari-scroll-and-selection-sync | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4842 | toSlatePoint has incorrect offset with nested editors | dom-bridge | cross-package | valid | nested-editor-and-global-dom-maps | already-accounted | cluster-synced | Related #4842 | existing proof ledger |
| 4839 | Unable to place cursor via mouse or arrow keys to right of a line terminating inline void | selection | cross-package | valid | inline-void-boundary-cursor-placement | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4837 | Using left arrow key to move up the document scrolls aggressively | selection | cross-package | valid | arrow-navigation-scroll-behavior | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4827 | Editor breaks after text selection with installed pugin https://chrome.google.com/webstore/detail/lingualeo-language-transl/nglbhlefjhcjockellmeclkcijildjhi?hl=ru | dom-bridge | ecosystem | invalid | browser-extension-dom-mutation | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4825 | HoveringToolbar does not dissappear on blur | react-runtime | site/examples | valid | hovering-toolbar-blur-lifecycle | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4810 | DeleteFragment backward across multiple element should leave the focus element, not anchor element. | operations | slate | valid | backward-delete-fragment-anchor-focus-semantics | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 4807 | Erratic, uncustomizable line heights | rendering | slate-react | likely-valid | firefox-line-height-layout-regression | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 4806 | Not able to copy-paste inline void | serialization | cross-package | valid | inline-void-clipboard-handling | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 4802 | Copy-pasting text with an inline void from Slate to other editors is not working as expected. | serialization | cross-package | valid | inline-void-clipboard-export | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 4800 | Hi guys, when I tried to import slate & slate-react like below | tooling | ecosystem | invalid | consumer-source-import-misuse | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4795 | Bug with text limit constraint as a plugin. | api-ergonomics | cross-package | valid | input-interception-hooks | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4792 | Ability to paste pre-formatted text cross rich text editor | serialization | ecosystem | valid | external-document-format-adapters | ecosystem-boundary | not-claimed | Not claimed: ecosystem or product-wrapper request; raw Slate should expose substrate primitives, not absorb product policy. | ecosystem boundary |
| 4789 | "Cannot resolve a Slate point from DOM point: [object Text,...]" after starting selection outside Slate editor and ending inside it. | dom-bridge | cross-package | valid | external-selection-into-editor-dom-bridge | already-accounted | improves-claimed | Improves #4789 | existing proof ledger |
| 4785 | Please provide non-TypeScript version of examples too | docs | docs-only | valid | docs-example-language-variants | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4784 | Slate React Beautiful drag and drop (dnd) Slate Race conditions crashes app | react-runtime | ecosystem | unclear | react-dnd-and-node-identity-races | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 4773 | Paste HTML doesn't keep formatting for blockquotes | docs | site/examples | valid | paste-html-example-limitations | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4771 | Crash when last node delete | operations | slate | likely-valid | remove-last-node-and-selection-stability | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4770 | Windows emoji is duplicated when inserted at end of inline | input-methods | cross-package | valid | inline-boundary-emoji-input | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4760 | MacOS Safari: ^ character has unexpected behavior | input-methods | cross-package | likely-valid | browser-dead-key-composition | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 4759 | EditableProps includes TextareaHTMLAttributes but does not support Textarea props | api-ergonomics | slate-react | valid | editable-props-and-supported-attributes | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4757 | How to get Get tr dom height | docs | ecosystem | unclear | consumer-dom-measurement-support | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 4756 | Bullet lists and numbered lists have problems with RTL languages | rendering | cross-package | unclear | rtl-list-direction-behavior | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 4751 | iOS10 user got error specified as ".getRootNode() is not a function" | tooling | docs-only | stale-candidate | browser-support-and-polyfill-debt | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4750 | the Editor.marks(editor) returns only the first selected leaf marks | api-ergonomics | slate | valid | multi-range-mark-aggregation | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4745 | setNodes does not work for inline nodes | operations | slate | likely-valid | match-based-node-targeting-after-reload | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4742 | [Feature proposal] New hook for supported devices and browsers? | tooling | cross-package | valid | browser-support-and-polyfill-debt | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4741 | Get the desired node from a fragment | api-ergonomics | ecosystem | stale-candidate | editor-fragment-traversal-usage | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4738 | DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node. | react-runtime | slate-react | likely-valid | selection-drag-and-drop-instability | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4730 | select all and backspace for image at the end selection | operations | cross-package | valid | void-node-deletion-and-empty-editor | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4722 | Let insert transforms return inserted range | api-ergonomics | slate | valid | transform-return-value-ergonomics | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4721 | Allow async event handlers to be attached to Editable's events | react-runtime | slate-react | valid | async-event-handler-return-contract | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4719 | Can't select images by clicking on them on Android | mobile-ime | cross-package | valid | mobile-void-selection | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4718 | The "at" option in the Transforms API does not work as expected when passing editor.selection explicitly | operations | slate | valid | selection-sensitive-transform-behavior | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4716 | Table copy error | serialization | cross-package | valid | clipboard-strategy-and-fragment-semantics | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 4712 | Creating decoration range with text field interferes with selection | react-runtime | slate-react | valid | decoration-range-and-selection-offsets | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4704 | Users cannot break out of inline nodes at the end of an editor due to #4578 | selection | cross-package | valid | inline-void-boundary-cursor-placement | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4701 | Hardcoded text node inside normalizeNode method | api-ergonomics | slate | valid | custom-text-node-defaults | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4700 | White-space css property issue in Chrome / Safari | rendering | slate-react | likely-valid | browser-layout-and-contenteditable-quirks | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 4696 | issue: autofocus start position zero instead of end of the line for input div in Editor.tsx | react-runtime | slate-react | likely-valid | focus-and-initialization-timing | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4693 | The android editable does not support text composition for languages like Korean | mobile-ime | cross-package | valid | mobile-ime-and-text-composition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4692 | When will the 1.0 version be released, Is there an out of the box editor based on slate? | docs | ecosystem | invalid | out-of-scope-announcements | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4690 | PDF version of online docs | docs | docs-only | valid | docs-distribution-and-formatting | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4686 | Inserted Node on clearing whole document | normalization | slate | valid | invalid-document-shape-and-empty-blocks | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4681 | Editable does not trigger onDOMBeforeInput event on paste | dom-bridge | slate-react | valid | input-event-passthrough-semantics | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4680 | useSlate acts as useSlateStatic and returns the same editor even after a change in the editor | react-runtime | slate-react | likely-invalid | react-hook-return-types | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4676 | Generic/Agnostic documentation for using slate core without react specifics | docs | docs-only | valid | alternate-framework-adapters | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4673 | Rare placeholder text behavior | react-runtime | slate-react | valid | placeholder-timing-and-visibility | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4658 | Custom table node allows entering text outside the table which leaves slate in a broken state | dom-bridge | cross-package | valid | custom-table-structure-navigation | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4657 | Warning: Extra attributes from the server: spellcheck,autocorrect,autocapitalize with Next.js | docs | docs-only | stale-candidate | ssr-and-hydration-identity | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4648 | $ sign was considered part of the word when using Editor.before(editor, start, {unit: 'word'}); | api-ergonomics | slate | likely-invalid | word-navigation-and-string-distance | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4643 | Invalid selection leads to uncatchable error: "Cannot resolve a DOM point from Slate point" | selection | cross-package | valid | selection-error-resilience | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4642 | Transforms.removeNodes sets selection to next line if next line is empty | operations | slate | valid | selection-sensitive-transform-behavior | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4641 | normalizeNode updates the same nodes' property | api-ergonomics | slate | valid | custom-node-identity-on-split | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4640 | [Safari] RichText issues when deleting all text with markup, including deleting the placeholder | mobile-ime | cross-package | valid | placeholder-selection-on-ios | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4626 | insertNodes with select:true puts the cursor before the new node | selection | cross-package | stale-candidate | fragment-insertion-selection-placement | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4623 | Dragging and dropping void to start of editor duplicates, instead of moving | dom-bridge | cross-package | valid | selection-drag-and-drop-instability | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4621 | Port needed PRs to AndroidEditable | mobile-ime | slate-react | valid | android-input-manager-regressions | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4618 | Feature request: normalizePoint method to customize cursor movement | selection | slate | valid | custom-inline-selection-behavior | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4613 | A more extensible insertData | api-ergonomics | cross-package | valid | input-interception-hooks | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 4612 | Bug: Cannot update slate state externally | api-ergonomics | slate-react | valid | react-controlled-value-and-external-updates | already-accounted | improves-claimed | Improves #4612 | existing proof ledger |
| 4602 | Spellcheck On Android: Cursor Position Jumps To Corrected Letter & Inserts Space | mobile-ime | cross-package | valid | android-spellcheck-correction-flow | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4590 | Unable to set custom "boundary" to define scrolling container for the library scroll-into-view-if-needed | selection | slate-react | valid | scroll-selection-customization-regressions | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 4582 | text inserted at the beginning of an inline is placed outside | selection | cross-package | valid | inline-boundary-selection | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4581 | Deleting a void element or text decoration on FireFox and inserting text throws an error | dom-bridge | cross-package | valid | readonly-inline-selection-crashes | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4580 | Paste HTML TypeError: Cannot read properties of null (reading 'length') | docs | site/examples | valid | docs-deserialize-example-bug | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 4575 | Markdown (such as italics) does not apply to elements that are already headers | docs | site/examples | valid | decoration-example-expectation-mismatch | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4573 | The paste HTML example fails deserializing some structures | docs | site/examples | valid | docs-deserialize-example-bug | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4570 | The drop-down list disappears when I enter a symbol on the Mention Editor page | docs | site/examples | valid | example-and-plugin-ergonomics | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4569 | Add the "insertData" behavior in the documentation | docs | docs-only | valid | docs-api-reference-clarity | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4567 | Parent path is null when pasting a new image | serialization | cross-package | valid | paste-fragment-and-void-replacement | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 4564 | Cannot resolve a DOM point from Slate point: {"path":[0,0],"offset":3} when programmatically removing content | selection | cross-package | valid | document-replacement-api-ergonomics | already-accounted | improves-claimed | Improves #4564 | existing proof ledger |
| 4561 | Hot refresh causes an error | tooling | repo-only | duplicate-candidate | hot-reload-and-debugger-environment | skip-duplicate | triage-closed | Not claimed: duplicate-candidate row; collapse into the known target or cluster instead of adding a separate v2 feature. | maintainer triage |
| 4560 | in Firefox caret position is lost if render happens right after onFocus | react-runtime | slate-react | valid | focus-event-semantics | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4559 | deleteFragment undo should select re-inserted fragment | history | slate-history | valid | history-global-undo-semantics | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4543 | The selection is cleared when text is autocorrected on macOS Safari | input-methods | cross-package | valid | browser-spellcheck-and-autocorrect | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4542 | Bug: when pasting into an empty block, the entire fragment is inserted as-is | serialization | cross-package | valid | clipboard-strategy-and-fragment-semantics | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 4541 | editor.selection not updating after insertText | selection | slate-react | valid | input-selection-state-lag | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4533 | Expanding text selection into inline via Shift+Click fail to expand, and instead collapses selection to clicked point | selection | cross-package | valid | inline-boundary-selection | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4532 | Auto markdown does not work on Android | mobile-ime | site/examples | valid | mobile-shortcut-transform-limitations | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4531 | Android autocorrect flickers and does not provide the right suggestions | mobile-ime | cross-package | valid | mobile-autocorrect-suggestion-instability | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4528 | Not possible to triple click when checklist is the next block | selection | site/examples | valid | block-render-structure-and-selection | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4521 | Error when pressed return key on H1 or H2 elements on Android | mobile-ime | cross-package | valid | mobile-block-tag-input-regressions | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4513 | onCopy not firing for a collapsed selection using React 17 in firefox | react-runtime | slate-react | invalid | external-react-event-regressions | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4495 | Focusing an editor either freezes or doesn't work | react-runtime | slate-react | valid | multi-editor-focus-transfer | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4485 | Cannot resolve a DOM point from Slate point: {"path":[36,0],"offset":7} | dom-bridge | cross-package | unclear | dom-point-resolution-and-external-value-sync | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 4483 | feat(slate-react): more flexible / performant dynamic decorations via small API change | performance | slate-react | valid | react-decoration-subscription-performance | already-accounted | improves-claimed | Improves #4483 | existing proof ledger |
| 4477 | Being able to leave comments for collaborative writing | collaboration | ecosystem | valid | collaboration-annotations-and-comments | already-accounted | improves-claimed | Improves #4477 | existing proof ledger |
| 4466 | option + arrow key in chinese won't jump by word | input-methods | cross-package | valid | word-navigation-and-string-distance | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4457 | Read only with access to set node | api-ergonomics | slate-react | valid | readonly-editing-mode-partition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4456 | Inserting a character in one of a series of text blocks deletes one of entire text block | normalization | slate | valid | normalization-index-drift | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4440 | Allow overriding getPlainText (and HTML?) | serialization | cross-package | valid | clipboard-strategy-and-fragment-semantics | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 4438 | Language Server Protocol Support? | docs | ecosystem | invalid | out-of-scope-code-editor-ambitions | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4426 | Range Masking | react-runtime | slate-react | valid | overlay-preview-and-transient-render-state | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4400 | [Android/Chrome] AndroidEditable interfering with IME | mobile-ime | slate-react | valid | android-input-manager-regressions | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4395 | Docs: Typescript examples are faulty or missing | docs | docs-only | valid | docs-typescript-guidance | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4392 | Cross-node decorate | api-ergonomics | slate-react | valid | decoration-cross-node-and-void-access | already-accounted | improves-claimed | Improves #4392 | existing proof ledger |
| 4390 | support negative index in range | api-ergonomics | slate | valid | selection-utility-ergonomics | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4378 | Modify Text interface to be compatible with "universal syntax tree" (unist) | api-ergonomics | slate | valid | data-model-interoperability | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4377 | Can't copy or delete a selected picture by shortcut keys. | selection | site/examples | likely-invalid | void-node-selection-shortcuts | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4376 | Safari: selection becomes null when editor blurs | selection | cross-package | valid | blur-selection-persistence-safari | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4372 | iPhone mobile - Can't input new text after deleting all content with markup. | mobile-ime | cross-package | valid | mobile-markup-empty-state | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4367 | Delete the paragraph below the image could remove the image above | selection | site/examples | valid | void-node-deletion-and-empty-editor | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4366 | Slate React uses too generalized types in main component. | typing | slate-react | valid | react-component-typing-surface | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 4357 | When caret is at end of a mark and pressed enter, Slate adds new block but doesn't focuses on the new block | selection | cross-package | valid | mark-boundary-split-selection | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4354 | [iOS, Chrome] Suggested Word/Phrase Duplicated When Selected | mobile-ime | cross-package | valid | mobile-autocorrect-suggestion-instability | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4353 | [Japanese] Cannot Type Text in Japanese if text selected as the 1st Entry | mobile-ime | cross-package | valid | mobile-ime-and-text-composition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4350 | Deleting void elements at the beginning of the line causes cursor to jump to previous line | selection | cross-package | valid | void-node-deletion-caret-placement | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4348 | Backspace Key on Android | mobile-ime | cross-package | stale-candidate | android-backspace-navigation | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4337 | Image example in shadow dom: Cannot resolve a Slate point from DOM point | dom-bridge | cross-package | valid | shadow-dom-dom-bridge | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4334 | If you press enter after link next paragraph will contain link with empty text. | selection | cross-package | valid | link-split-empty-inline | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4328 | The error is thrown with Transforms.insertNodes when the selection end is void element | operations | slate | valid | void-boundary-transform-errors | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4323 | Cannot resolve a DOM point from Slate point | api-ergonomics | cross-package | valid | react-controlled-value-and-external-updates | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4322 | The selected text is lost on the line break button | operations | ecosystem | invalid | legacy-pre-0.5-api-noise | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4318 | Server side rendering results in spellCheck, autoCorrect, and autoCapitalize mismatch | react-runtime | slate-react | stale-candidate | ssr-and-hydration-identity | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4317 | onSelect called whenever renderLeaf changes | react-runtime | slate-react | valid | react-render-callback-churn-and-selection-events | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4316 | ctrl + a > 中文输入法下输入,编辑器会卡住 | mobile-ime | cross-package | valid | mobile-ime-and-text-composition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4315 | Exports PLACEHOLDER_SYMBOL variable | api-ergonomics | slate-react | valid | placeholder-customization-internals | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 4311 | tidy dom for readonly | rendering | slate-react | valid | readonly-static-renderer | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 4309 | Slate React: Inserting Multiple Nodes Sharing the Same Reference Results in Key Error | react-runtime | slate-react | valid | shared-node-identity-across-editors | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4302 | vanilla Slate - removing the React dependency | api-ergonomics | ecosystem | valid | framework-decoupling-and-react-dependency | ecosystem-boundary | not-claimed | Not claimed: ecosystem or product-wrapper request; raw Slate should expose substrate primitives, not absorb product policy. | ecosystem boundary |
| 4301 | [email protected]+ regression: broken void selection behavior | selection | cross-package | valid | void-selection-enter-consistency | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4298 | Firefox. Editor.marks incorrectly identifies active marks | selection | cross-package | valid | marks-query-and-browser-selection-drift | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 4290 | Typescript definition from example | docs | site/examples | valid | docs-typescript-guidance | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4281 | The keyboard shortcut ctrl + shift + up does not work in Firefox. | selection | ecosystem | invalid | browser-shortcut-inconsistency | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4275 | shadow-dom example features backwards text typing in Firefox | dom-bridge | cross-package | valid | shadow-dom-dom-bridge | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4269 | When IME input press the arrow key, the input result is repeated and the position is wrong | mobile-ime | cross-package | valid | mobile-ime-and-text-composition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4268 | Paste HTML adds several blank lines and positions the caret in the wrong spot | docs | site/examples | valid | paste-html-example-limitations | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4263 | Mod + Delete regression from 0.61 to 0.62: Not deleting empty nodes | selection | cross-package | valid | delete-and-caret-positioning | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4262 | Proposal: Switch unit tests to Jest | tooling | docs-only | valid | test-infrastructure-and-contributor-dx | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4261 | Proposal: Eliminate unwrapNodes/liftNodes from default Slate behavior to reduce normalizations | operations | slate | valid | normalization-and-structural-transform-contracts | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4260 | Deleting in an empty div that is nested, exhibits surprising behavior depending on surrounding content (tests provided) | operations | slate | valid | normalization-and-structural-transform-contracts | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4239 | Not able to bind rich editor with the chrome extension | docs | ecosystem | invalid | docs-example-and-support-noise | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4236 | Exceptions in SlateHtmlParser cause extreme slowness in typing under Internet Explorer 11 (IE 11) | tooling | docs-only | stale-candidate | browser-support-and-polyfill-debt | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4233 | slate-react / Editable / min-height-style | rendering | slate-react | valid | editable-runtime-props-and-default-styles | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4232 | Input is reversed and unfocusing from the editor pastes text into the editor from the page | input-methods | cross-package | valid | composition-and-focus-lifecycle | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4231 | Cursor disappears when deleting everything selected with CMD+A shortcut | selection | cross-package | stale-candidate | placeholder-and-empty-editor-selection | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4228 | Cursor position is inconsistent when deleting line | selection | cross-package | valid | delete-and-caret-positioning | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4225 | Slate should render editor mark | rendering | slate-react | valid | react-hook-surface-and-rendered-editor-state | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 4223 | Proposal: Alternate hook-based implementation of Android support | mobile-ime | cross-package | valid | mobile-ime-and-text-composition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4221 | Firefox. Placeholder highlighted via hotkey cmd/ctrl+a | rendering | cross-package | valid | placeholder-and-empty-editor-selection | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 4216 | Automate release titles | tooling | docs-only | valid | release-and-distribution-integrity | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4210 | Preventing re-renders | react-runtime | slate-react | valid | react-runtime-and-rerender-breadth | v2-performance-benchmark | cluster-synced | V2 target: benchmark-gated performance by cohort, repeated-unit budget, INP proxy, heap, DOM, component, and native behavior tags. | benchmark/performance lane |
| 4209 | Transforms.setNodes causes nodes to disappear | operations | slate | valid | normalization-and-structural-transform-contracts | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4202 | tweak placeholder rendering condition for performance | performance | slate-react | valid | placeholder-rendering-internals | v2-performance-benchmark | cluster-synced | V2 target: benchmark-gated performance by cohort, repeated-unit budget, INP proxy, heap, DOM, component, and native behavior tags. | benchmark/performance lane |
| 4195 | Inconsistent cursor position after return key pressed | selection | cross-package | valid | split-and-caret-positioning | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4189 | Tests fail to deep clone input to output, resulting in tests that always pass | tooling | docs-only | valid | test-infrastructure-and-contributor-dx | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4181 | [Feature] : Better way to mange custom behavior for KeyPress | api-ergonomics | cross-package | likely-invalid | plugin-seam-and-input-overrides | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4178 | Operations show the source of the change | api-ergonomics | cross-package | valid | collaboration-op-metadata-and-transaction-boundaries | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4173 | Add Transforms.rewrapNode method | api-ergonomics | slate | valid | transform-api-ergonomics | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4165 | rename useSlate to useEditor (same for static) | react-runtime | slate-react | valid | react-hook-surface-and-subscriptions | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4162 | Getting the "word" under the cursor is really, really complicated. | api-ergonomics | slate | valid | word-boundary-and-cursor-helpers | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4160 | move hasRange method to core Editor | api-ergonomics | slate | valid | framework-decoupling-and-react-dependency | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4146 | when I use use wrapNodes with mention it does not delete the @ sign nor the search value till I delete it manually | docs | site/examples | invalid | consumer-integration-misuse-and-timing | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4145 | How to add a divider (or any element) under the current cursor please | docs | ecosystem | invalid | docs-example-and-support-noise | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4141 | performance of nested blocks - seems to cause the parent up to the root to be re-rendered? | react-runtime | slate-react | valid | react-runtime-and-rerender-breadth | already-accounted | improves-claimed | Improves #4141 | existing proof ledger |
| 4140 | The input method makes the program abnormal | input-methods | site/examples | stale-candidate | docs-example-and-support-noise | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4139 | Regression?: cursor jumps to wrong location after calling wrapNodes to indent (only from top level of tree) | selection | cross-package | valid | wrap-and-indent-selection | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4136 | [IME] Crash if you enter multibyte characters. | mobile-ime | cross-package | valid | mobile-ime-and-placeholder-composition | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4131 | Caret: misbehavior when deleting leafs at the start of a block | selection | cross-package | valid | delete-and-caret-positioning | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4122 | Ordered and Unordered List are not in actual HTML format | docs | site/examples | unclear | example-nested-list-limitations | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 4121 | Selecting text and deleting it will delete all preceding text under specific conditions | selection | cross-package | valid | delete-selection-overreach | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 4112 | I created a devtool to assist in debugging | tooling | ecosystem | valid | developer-tooling-and-debug-support | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4111 | Editor selection is always null in Internet Explorer 11 (IE11) even with additional polyfills | tooling | docs-only | stale-candidate | browser-support-and-polyfill-debt | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4110 | Embeds (inputs) in Firefox are not working as expected (caret shows in weird places) | dom-bridge | cross-package | valid | dom-selection-synchronization | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4104 | can't copy/cut node when select inline-void element alone | serialization | cross-package | likely-valid | inline-void-clipboard-handling | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 4095 | Type of "n:Node" in toggleBlock() is incorrect | docs | site/examples | valid | docs-typescript-guidance | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4094 | Crash on text update from outside of the editor when cursor to the right | react-runtime | cross-package | valid | react-controlled-value-and-external-updates | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4093 | Interop with vanilla js ? | docs | docs-only | valid | framework-decoupling-and-react-dependency | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4089 | Higher-level plugins API | api-ergonomics | cross-package | valid | plugin-seam-and-input-overrides | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4088 | Mention example range logic throws Cannot resolve a DOM point from Slate point | docs | site/examples | valid | mentions-example-range-logic | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 4085 | Auto Correct Doesn't Work in Safari Mac | input-methods | cross-package | valid | browser-input-and-autocorrect | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4084 | Bugs in Rich Text Editor Example | docs | site/examples | valid | example-richtext-behavior-gaps | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4083 | "Official" plugin repository | ecosystem | ecosystem | valid | example-and-plugin-ergonomics | ecosystem-boundary | not-claimed | Not claimed: ecosystem or product-wrapper request; raw Slate should expose substrate primitives, not absorb product policy. | ecosystem boundary |
| 4081 | Error: Cannot find a descendant at path [0] in node - CRA live-reload | react-runtime | slate-react | valid | react-fast-refresh-and-editor-singleton | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4076 | Features for Search Highlighting | docs | site/examples | valid | docs-example-and-support-noise | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4074 | Writing inside inline elements | dom-bridge | cross-package | valid | inline-boundary-selection | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 4067 | Input composition characters, Error ! | input-methods | cross-package | valid | placeholder-and-ime-empty-editor | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4056 | Copy pasting (really) large text no longer seems to work? | performance | cross-package | valid | large-document-edit-performance | v2-performance-benchmark | cluster-synced | V2 target: benchmark-gated performance by cohort, repeated-unit budget, INP proxy, heap, DOM, component, and native behavior tags. | benchmark/performance lane |
| 4053 | Bug:insert image | selection | site/examples | likely-valid | void-element-insertion-and-follow-up-text | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 4046 | Bug: Undo/Redo shortcuts do not work with Cyrillic keyboard layout | input-methods | cross-package | valid | keyboard-layout-and-shortcut-detection | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4041 | IE11 syntax error due to non-transpiled generator functions | tooling | repo-only | stale-candidate | legacy-browser-and-compatibility-debt | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 4031 | If you enter Japanese with all the text deleted and confirm it, an error will occur. | input-methods | cross-package | valid | placeholder-and-ime-empty-editor | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4030 | When using list, the cursor jump to the start of the li item when using IME on Safari | input-methods | cross-package | valid | mobile-ime-and-selection-sync | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4029 | Slate.js 中文技术交流群 | docs | ecosystem | invalid | docs-examples-and-release-process-noise | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 4025 | static renderer | rendering | slate-react | valid | read-only-and-static-rendering | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 4010 | Chrome translation breaks the editor | react-runtime | cross-package | likely-valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 4001 | 🐞 Bug: German Keyboard backtick isn't recognized in onChange event; crashes editor when using placeholder | input-methods | cross-package | valid | placeholder-and-ime-empty-editor | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3993 | Update documentation on @next releases | docs | docs-only | valid | docs-examples-and-release-process-noise | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 3991 | Improve void node delete behavior | operations | cross-package | valid | core-operation-semantics-and-caret-placement | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3986 | HTML example is missing | docs | docs-only | stale-candidate | docs-examples-and-release-process-noise | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3982 | This use of U+FEFF is deprecated, use U+2060 instead | docs | slate-react | valid | docs-api-confusion-and-example-gaps | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 3981 | Line Break requires Enter twice in IE Browser after selecting the value from dropdown of (slate suggestions Plugin) | tooling | ecosystem | stale-candidate | legacy-browser-and-compatibility-debt | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3977 | wrong cursor navigation when text ends in newline | selection | cross-package | likely-invalid | browser-owned-caret-and-selection-behavior | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3973 | Bug - Transforms.move with "word" unit doesn't work | operations | slate | valid | core-operation-semantics-and-caret-placement | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3965 | Deletion bug | operations | slate | valid | core-operation-semantics-and-caret-placement | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3964 | insertBreak bug | operations | slate | valid | core-operation-semantics-and-caret-placement | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3954 | Copying empty non-void element does not work | docs | ecosystem | invalid | docs-examples-and-release-process-noise | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3952 | Unable to modify/remove undo (cmd + z) behavior | api-ergonomics | slate-history | valid | api-surface-and-extensibility | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3951 | Accept a function in place of a unit | api-ergonomics | slate | valid | api-surface-and-extensibility | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3950 | Re-normalizing of transformed node | normalization | slate | valid | normalization-reentrancy-and-plugin-composability | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3949 | Returning new node entry from transforms | api-ergonomics | slate | valid | api-surface-and-extensibility | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3948 | Slate errors cannot be caught by error boundaries and crash the whole app | react-runtime | slate-react | unclear | focus-state-and-external-dom-ownership | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 3947 | Unable to disable spellcheck/autocorrect/autocapitalize in Firefox | react-runtime | slate-react | likely-valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3944 | Slate History Documentation | docs | docs-only | valid | docs-examples-and-release-process-noise | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 3943 | Safari: Cursor is moved incorrectly to the start of current node after inputing Chinese | input-methods | cross-package | valid | mobile-ime-and-selection-sync | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3942 | autoCapitalize does not work when a placeholder is specified. | input-methods | cross-package | valid | placeholder-and-ime-empty-editor | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3935 | Paste Image URL functionality does not work on images from unsplash.com | docs | site/examples | invalid | docs-examples-and-release-process-noise | skip-invalid | triage-closed | Not claimed: invalid or likely-invalid report; keep it out of v2 architecture unless a current repro disproves the triage. | maintainer triage |
| 3934 | Add tests for slate-react source code | tooling | repo-only | valid | testing-and-maintainer-infrastructure | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 3929 | safari: Cursor appears elsewhere when creating new list block | react-runtime | cross-package | valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3926 | Pasting void elements is not working on Safari | react-runtime | cross-package | likely-valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3924 | current implementation of readonly uses disabled semantics | api-ergonomics | slate-react and slate-dom | valid | read-only-and-static-rendering | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 3921 | Slate history refocusing causes "Incomplete set_selection operation properties" error | docs | slate-history | stale-candidate | docs-examples-and-release-process-noise | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3918 | Slate does not react on delete button on page refresh - it just moves cursor backwards or throws error Cannot resolve a DOM point from Slate point on letter insert | react-runtime | cross-package | unclear | focus-state-and-external-dom-ownership | needs-repro | issue-reviewed | Reviewed: needs a current minimal reproduction before v2 can claim a fix or design change. | repro-first triage |
| 3917 | Using Slate inside iframe | react-runtime | cross-package | valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3913 | broken Link in README | docs | docs-only | stale-candidate | docs-examples-and-release-process-noise | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 3911 | BUG: Firefox trims trailing white space, unexpected cursor behavior | react-runtime | cross-package | likely-valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3909 | Can't use nested content editable (bad hasEditableTarget implementation) | react-runtime | cross-package | valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3905 | Changelog for 0.59.0 | docs | docs-only | valid | docs-examples-and-release-process-noise | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 3900 | BUG in the example : Copy/paste html by triple-clicking | selection | site/examples | likely-valid | void-element-insertion-and-follow-up-text | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 3893 | Clicking an HTML button won't update editor's focus state | react-runtime | slate-react | valid | focus-state-and-external-dom-ownership | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3892 | Advice Request: Custom editor surface and layout engine | rendering | cross-package | valid | custom-surface-and-layout-engine-pressure | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 3891 | Removing multiple nodes at the same time. | api-ergonomics | slate | valid | api-surface-and-extensibility | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3885 | Docs: Make it specific that Editor.nodes relates to the current selection. | docs | docs-only | valid | docs-api-confusion-and-example-gaps | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 3884 | Video embedding breaks arrow navigation. | operations | cross-package | valid | core-operation-semantics-and-caret-placement | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 3882 | IME bug when typing in the empty, in rich text example | input-methods | cross-package | valid | placeholder-and-ime-empty-editor | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 3881 | 404 on examples | docs | docs-only | stale-candidate | docs-examples-and-release-process-noise | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 2694 | Shift-Delete doesn't cut to clipboard (only deletes) | clipboard | cross-package | valid | clipboard-shortcuts-and-transfer-events | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 2669 | Use the User Timing API to support performance profiling | performance | repo-only | valid | performance-observability-and-tooling | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 2653 | loosen block/inline structure requirements | document-model | slate | valid | document-model-constraints-and-structural-flexibility | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 2643 | Rejecting a change that violates schema | normalization | slate | valid | normalization-execution-model-and-operations | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 2633 | Improve how contributors accept PRs by documenting merging guidelines | docs | docs-only | stale-candidate | docs-examples-and-release-process-noise | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 2608 | Center/Right-aligned Placeholder Text Doesn't Display Properly | rendering | slate-react | valid | placeholder-rendering-internals | v2-react-runtime | cluster-synced | V2 target: snapshot-driven React runtime with selector-first subscriptions, stable editor identity, and render-time projection lanes. | slate-react-v2 runtime |
| 2597 | U+FEFF as a ZWNBSP character is deprecated | dom-bridge | cross-package | duplicate-candidate | zero-width-sentinels-and-br-rendering | already-accounted | not-claimed | Not claimed #2597 | existing proof ledger |
| 2572 | Let's make Slate accessible! | docs | docs-only | stale-candidate | accessibility-and-contenteditable-props | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 2564 | Consider a more clear cut distinction between marks and inlines | rendering | cross-package | valid | render-time-marks-decorations-and-inlines | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 2560 | Extra space in paste-html example when pasting lists | clipboard | site/examples | likely-valid | clipboard-html-ingest-and-deserialization | docs-examples | issue-reviewed | Reviewed: docs/example behavior only; resolve in examples or docs when current reproduction still matters. | docs/examples lane |
| 2558 | Unable to select multiple cells of the table | selection | cross-package | valid | table-selection-and-dom-range-behavior | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 2500 | Rich Text example: 'select all' and 'delete' does not delete everything when there is a list | operations | cross-package | valid | select-all-delete-and-structural-reset | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 2465 | Proposal for better ergonomics when rendering marks | react-runtime | slate-react | valid | render-time-marks-decorations-and-inlines | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 2405 | Declare which schema rules should be evaluated (or not) based on slate command | performance | slate | valid | performance-normalization-and-dirty-paths | v2-performance-benchmark | cluster-synced | V2 target: benchmark-gated performance by cohort, repeated-unit budget, INP proxy, heap, DOM, component, and native behavior tags. | benchmark/performance lane |
| 2355 | allow normalizing the selection | selection | cross-package | valid | selection-normalization-and-commit-boundaries | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 2288 | Make some operations take a range as input | operations | slate | valid | operation-granularity-and-range-steps | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 2195 | skip text nodes in "dirty" tracking | performance | slate | valid | performance-normalization-and-dirty-paths | v2-performance-benchmark | cluster-synced | V2 target: benchmark-gated performance by cohort, repeated-unit budget, INP proxy, heap, DOM, component, and native behavior tags. | benchmark/performance lane |
| 2182 | Add interaction tests | testing | repo-only | valid | test-infrastructure-and-contributor-dx | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 2072 | consider introducing an <Island> component | dom-bridge | cross-package | valid | embedded-ui-islands-and-contenteditable-boundaries | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 2051 | try to prevent re-rendering at the Leaf level | react-runtime | slate-react | valid | react-runtime-and-rerender-breadth | v2-performance-benchmark | cluster-synced | V2 target: benchmark-gated performance by cohort, repeated-unit budget, INP proxy, heap, DOM, component, and native behavior tags. | benchmark/performance lane |
| 2039 | improve normalizer infinite loop errors | tooling | slate | valid | normalization-debuggability-and-errors | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 1971 | Use ` | ||||||||
| ` for zero-width white spaces | dom-bridge | cross-package | valid | zero-width-sentinels-and-br-rendering | already-accounted | not-claimed | Not claimed #1971 | existing proof ledger | |
| 1964 | Tab focus and cursor placement | focus | cross-package | valid | focus-entry-and-selection-restore | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 1770 | Support for combining or merging operations | collaboration | cross-package | valid | collaboration-op-metadata-and-transaction-boundaries | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 1769 | Selection is not lost when clicking a non-editable block in the editor (and then outside) | focus | cross-package | valid | focus-state-and-external-dom-ownership | v2-dom-selection | cluster-synced | V2 target: dedicated DOM selection, focus, hit-testing, nested-editor, zero-width, void, table, and boundary bridge. | slate-dom-v2 + slate-react-v2 selection runtime |
| 1654 | Blocks should have a way of expressing that mergeBlock or splitBlock cannot occur between its children and an outside block | operations | slate | valid | structural-boundaries-and-merge-split-semantics | v2-core-engine | cluster-synced | V2 target: transaction-first core engine, op-first external model, stable runtime identity, normalization debt, and transaction-aware history. | slate-v2 core engine |
| 1536 | slate-hyperscript can conflict with common babel configs (create-react-app) | tooling | slate-hyperscript | valid | hyperscript-and-jsx-interop | skip-maintainer-noise | not-claimed | Not claimed: docs, examples, release, support, or repo-maintenance lane; not a v2 architecture requirement. | docs/examples/repo lane |
| 1498 | incorrect cursor position after new line while in RTL mode | selection | cross-package | valid | rtl-and-bidi-selection-behavior | v2-input-runtime | cluster-synced | V2 target: first-class input, composition, beforeinput, mobile, placeholder, and keyboard-layout runtime semantics. | slate-react-v2 + slate-dom-v2 input runtime |
| 1374 | Slate For React Native | frameworks | cross-package | stale-candidate | mobile-runtime-portability | skip-stale | triage-closed | Not claimed: stale-candidate row; needs a current repro before v2 work earns priority. | current-repro triage |
| 1024 | Discussion: MIME-typing the Document / Document Fragment? | clipboard | cross-package | valid | clipboard-schema-boundaries-and-transfer-format | v2-clipboard-serialization | cluster-synced | V2 target: explicit clipboard, fragment, HTML import/export, schema-boundary, and external-format policies. | slate-dom-v2 + slate-v2 clipboard boundary |
| 790 | Dynamic Rendering Feature (performance improvement) | performance | slate-react | valid | large-document-virtualization-and-windowing | v2-performance-benchmark | cluster-synced | V2 target: benchmark-gated performance by cohort, repeated-unit budget, INP proxy, heap, DOM, component, and native behavior tags. | benchmark/performance lane |