docs/slate-issues/open-issues-dossiers/5655-5559.md
These dossiers cover issues #5655 through #5559 from the pilot set. Use the top-level index for the range map and the ledger for the canonical structured cache.
Dnd-kit not working with slatejs: Error: [Slate] initialValue is invalid! Expected a list of elements but got: undefined in React Slate EditoramrAbozaidbug1This reads as consumer integration misuse, not a Slate bug. The failure is initialValue being undefined.
The only reply posts a working dnd-kit snippet on the same Slate version family, which is enough to kill the “Slate broke dnd-kit” framing.
Strong enough.
Strong.
Invalid.
Do not let this inflate drag-and-drop architecture concerns.
close-invalid
Point at the initialValue contract and stable integration example. This is setup failure, not engine failure.
None.
Not a test candidate.
double the input content when in chrome using Microsoft ime lost focustsxuehubug, ⚑ cross platform1Real IME/runtime bug. Blur during Microsoft IME composition can duplicate committed text.
The comment is useful because it names the event sequence: compositionend, then beforeinput deleteContentBackward, then beforeinput insertText.
Strong.
Acceptable, but ugly.
Likely valid.
Keep this in the composition/focus cluster. It is concrete and event-level.
keep-open
The next useful step is to decide which of those post-composition blur events Slate should trust versus treat as stale browser fallout.
Direct.
Ready with minor setup.
Cannot get the end point in the node at path [] because it has no end text node.MatosMbug0This looks like invalid document shape and outdated version pain more than a core bug.
No thread.
Moderate.
Acceptable.
Likely invalid.
The empty top-level page node is the suspicious part here, not Slate randomly ignoring the provided path.
close-invalid
Point at document invariants and ask for a current-version repro if they still think it is real.
None.
Not a test candidate.
On some android device with some keyboard autocomplete is brokenthmasqbug, ⚑ cross platform, android4This is a strong Android autocomplete bug. Accepting a suggestion duplicates the typed prefix instead of replacing it.
The follow-up matters. Multiple users confirm it across keyboards, browsers, and newer Slate versions.
Strong.
Poor.
Valid.
This is one of the better mobile input issues in the set. It should stay weighted high.
keep-open
Split the bug into replacement semantics versus normal typed insertion. The browser is likely trying to replace a pending composition span and Slate is treating it like append.
Direct.
Ready with minor setup.
Page keeps scrolling up on every single character typed in iPhone for Persian language (maybe for RTL languages) after the first wordPolRkbug0Likely real iPhone/RTL runtime issue: typing after the first word keeps shoving the page upward.
No thread, but the report is specific enough to keep.
Moderate.
Poor.
Likely valid.
Keep it in the RTL/mobile scroll bucket. It is weakly reproed, but not hand-wavy.
keep-open
The next useful split is whether this is selection-into-view logic or browser scrolling after RTL composition updates.
Direct.
Ready with minor setup.
Style is not maintained in copy paste functionalityshekhar-trkbug, ⚑ cross platform1This is a weak clipboard/style-retention complaint with old versions and mixed external tooling.
One comment confirms similar behavior with Google Docs, but the thread never sharpens what Slate is actually expected to preserve.
Weak to moderate.
Acceptable.
Likely invalid as a current core bug.
This belongs in parser/clipboard limitation territory, not core runtime defect territory.
close-invalid
Clarify scope. “Maintain all styles on paste” is not a precise promise.
None.
Not a test candidate.
cursor not as expected when delete a inline badgeWindRunnerMaxbug, ⚑ cross platform0Real inline-boundary caret bug. Deleting one adjacent badge leaves the caret in a broken visual/behavioral state.
No thread, but there is a sandbox and clear delete sequence.
Strong.
None.
Likely valid.
Keep it in the inline-boundary cluster.
keep-open
Check whether the underlying problem is selection landing in a non-renderable inline gap versus DOM range mapping after the badge disappears.
Direct.
Ready now.
Select all content and paste the content copied from other editors. The block node cannot be deleted.WindRunnerMaxbug0This is a strong fragment-insert bug around select-all replacement when the trailing structure includes a block like an image plus empty paragraphs.
No comments, but the body is rich and already points at likely seams in insertFragment, unhangRange, and delete behavior.
Strong.
None.
Valid.
Keep this high in the paste/void replacement cluster.
keep-open
The real question is whether unhangRange is wrong here or whether delete/fragment insertion are disagreeing about what “replace everything selected” means when a trailing void is involved.
Direct.
Ready now.
Cursor navigation issuepavelsavvbug0This is a clean keyboard-navigation semantics issue. Word jumps across punctuation do not match normal text-field expectations.
No thread, but the report is already narrow and references the likely utility seam.
Strong.
None.
Valid.
Worth keeping. This is a real editing semantics complaint, not random UX preference.
keep-open
Decide whether Slate wants native-input parity here or its own notion of word-distance.
Direct.
Ready now.
Changing the text direction breaks the editorazvoncov-smartlingbug2This is a strong browser-DOM-mutation bug. Writing-direction changes in Chromium wrap content in extra DOM and blow up Slate’s mapping assumptions.
The comments make it stronger, not weaker. They add extra failure modes and a rough fix hook.
Strong.
Poor.
Valid.
Keep it high in the browser-owned DOM mutation bucket.
keep-open
The useful split is whether Slate should neutralize these DOM mutations or snapshot/recover from them more gracefully.
Direct.
Ready with minor setup.
Cost effective lodashnike1vfeature3This is probably stale repo/tooling noise, not live roadmap pressure.
The thread is mostly confusion about whether the lodash import cleanup was already done. It points at PR #4245, but nobody closes the loop cleanly.
The thread points at PR #4245.
Not really applicable.
Strong.
Stale candidate.
This should not influence editor architecture.
close-stale
Verify the current bundle story, then either close it or point at the real remaining import debt.
None.
Not a test candidate.
Copy from Slate rich text ignores empty lines when pasting in wordcfrickbug0This is a real clipboard/export compatibility issue. Empty lines are not preserved when Slate content is pasted into Word.
No thread, but the report is concrete and already names one tempting but bad local fix.
Strong.
Poor.
Likely valid.
Keep it in the clipboard/export bucket, not the normalizer bucket.
keep-open
Decide whether Word-compatible clipboard output should preserve empty lines differently from in-editor zero-width rendering.
Indirect.
Ready with minor setup.
examples are not 100% type safeStianGimprovement4This is a real docs/example ergonomics issue. The examples work, but TypeScript users hit friction immediately.
The comments are useful: they distinguish between missing custom type setup and genuinely poor example guidance.
Strong enough.
Strong.
Valid.
This belongs in docs/examples quality, not runtime architecture.
keep-open
Show the custom type setup where people actually copy example code, not buried elsewhere.
None.
Not a test candidate.
Text input goes backwards after adding a soft break in Chromeraimohanskabug, ⚑ cross platform3Strong runtime bug. After a soft break plus formatting boundary, Chrome can start inserting visible text backwards.
The comments add a plausible local workaround with zero-width space, which is exactly why this issue matters: the current behavior is fragile around browser DOM expectations.
Strong.
Acceptable, but hacky.
Valid.
Keep it in the soft-break/input-order cluster.
keep-open
The useful next question is whether soft breaks should materialize a browser-friendly sentinel automatically instead of leaving consumers to patch around it.
Direct.
Ready now.
Why is initialValue required by slate-react's Slate component?nabbydudeimprovement1This is the same real API ergonomics pressure later seen in #6013: prebuilt editor instances should not need a redundant initialValue.
Short thread, but the issue body is already sharp.
This overlaps directly with Issue #6013.
Strong enough.
Acceptable.
Valid.
This should probably collapse into the stronger newer issue instead of competing with it.
mark-duplicate
Point at the newer framing and keep one canonical issue for the API gap.
Direct.
Not a test candidate.
onInput not fired when typing at the start of a contenteditableuser178392143bug4This is a real runtime contract problem around <Editable> event passthrough. Typing at offset 0 drops onInput.
The thread is good. It confirms the underlying workaround is still needed for another Chrome bug, and that this problem survives that context.
Strong.
Acceptable.
Valid.
Keep it in the input-event semantics bucket.
keep-open
The real design question is whether Slate wants to preserve native onInput semantics at all or keep steering users to onDOMBeforeInput / onChange.
Direct.
Ready with minor setup.
Unable to consecutively delete Approved components. No response after deleting one and pressing Backspace.WindRunnerMaxbug0This might be real, but the report is too under-specified to trust. “Approved components” is not a technical description.
No thread.
Weak.
Poor.
Unclear.
Needs a better repro before it should influence anything.
ask-for-repro
Ask for the actual node type shape and exact deletion sequence. The current title is nearly useless.
Indirect.
Blocked on repro.
Unable to create custom hyperscript shorthands? ([email protected])jamesremuscatbug1Legit slate-hyperscript typing/docs issue. The user can create shorthands, but the TypeScript experience is bad enough that it looks broken.
The only reply punts to tests as documentation, which is useful context and also evidence that the docs surface is thin.
Strong.
Acceptable.
Valid.
Keep it in the hyperscript DX bucket.
keep-open
Either improve the type surface or document the pattern where users actually find it.
Indirect.
Ready now.
Memory leak in EDITOR_TO_FORCE_RENDERandreasrothbug2This is not resolved enough to trust. The original claim might be wrong, but the follow-up still hints at lingering references somewhere.
The only real reply mostly argues “this is a WeakMap, so not a leak,” then speculates about React retaining props.
Moderate.
Acceptable.
Unclear.
This is not architecture pressure yet. It needs a stronger proof of retained editors after GC.
ask-for-scope-clarification
Ask for a proof that retained editors survive GC when no React tree still references them.
Indirect.
Not a test candidate.
How do I support solidjs? Can you implement a slate-solid?solid-componentfeature9This is real ecosystem demand, but it should not be mistaken for a demand that core become framework-shaped.
The comments are useful historically: they say the hard part is the event/render runtime, and they eventually point to an external slate-solid effort.
Not applicable.
Acceptable.
Valid as ecosystem demand.
Do not over-weight it. It is a runtime-adapter request, not a core model complaint.
share-status
If revisited, frame it as adapter/runtime work, not as a reason to contort the core.
Indirect.
Not a test candidate.
Issue with Grammarly Integration - Undo Function Groups Multiple Editsjoshmaderbug0This is a plausible history-grouping bug triggered by an external editor/extension mutating content.
No thread.
Moderate.
Poor.
Likely valid.
Keep it in the history/external-editor bucket. It is a useful integration pressure case.
keep-open
The next useful split is whether Grammarly suggestions come through as one synthetic batch or whether Slate history is grouping too aggressively across them.
Indirect.
Ready with minor setup.
[core bug] Incorrect update of 'selection' when deleting consecutive non inline 'void' nodeschengdong533bug0This is a strong core selection bug around repeated deletion of consecutive block voids.
No thread, but the report is already good enough: official images example, concrete path expectations, and exact wrong selection movement.
Strong.
None.
Valid.
Keep this high in the void-selection cluster.
keep-open
The useful question is whether selection after deleting a void should move to the previous surviving void or to the next logical text position.
Direct.
Ready now.
TextExpander replacements are not working on Edge on Windowssibljonbug, ⚑ cross platform2This is a real browser-integration complaint around external text replacement tools. Partial abbreviation replacement means Slate is losing part of the intended replacement selection.
The comments add useful context: a Slack debugging thread and a second report that rich replacements can break the editor even more severely.
Strong.
Poor.
Likely valid.
Keep it in the external text-injection bucket.
keep-open
The next useful step is to characterize how TextExpander is mutating the DOM and which Slate entry path is missing it.
Indirect.
Ready with minor setup.
Regression in ReactEditor.focus since 0.101.0philiciousbug2Likely real, but narrower than the title suggests. The current clue is that an empty initialValue might be part of the trigger.
The thread is useful because it contains a passing test that does not reproduce, plus one concrete difference from the failing app.
Moderate.
Acceptable.
Likely valid.
Worth keeping, but the exact trigger still needs tightening.
keep-open
The next useful test is the same flow with an empty initial value and later content replacement before focus.
Direct.
Ready with minor setup.
Shift-Click selection behaviorazvoncov-smartlingbug0This is a clean selection-gesture bug around void elements. Shift-clicking through a void resets or corrupts the selection.
No thread, but the report is already sharp and uses the official mentions example.
Strong.
None.
Valid.
Keep it in the gesture/void selection cluster.
keep-open
The key question is whether shift-click should extend across a void boundary or treat the void as an atomic selection target.
Direct.
Ready now.
The dossier format is worth keeping.
Why:
What still needs tightening before a full 600+ issue pass: