Back to Plate

Slate v2 Open Issue Dossiers: 5655-5559

docs/slate-issues/open-issues-dossiers/5655-5559.md

53.0.624.9 KB
Original Source

Slate v2 Open Issue Dossiers: 5655-5559

Scope

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.


Issue #5655

  • url: https://github.com/ianstormtaylor/slate/issues/5655
  • title: Dnd-kit not working with slatejs: Error: [Slate] initialValue is invalid! Expected a list of elements but got: undefined in React Slate Editor
  • author: amrAbozaid
  • labels: bug
  • comments read: 1

Issue Summary

This reads as consumer integration misuse, not a Slate bug. The failure is initialValue being undefined.

Thread Summary

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.

Repro Status

Strong enough.

Workaround Status

Strong.

Validity Assessment

Invalid.

Duplicate / Invalid / Stale Assessment

Do not let this inflate drag-and-drop architecture concerns.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Point at the initialValue contract and stable integration example. This is setup failure, not engine failure.

v2 Relevance

None.

Red-Test Extraction Note

Not a test candidate.


Issue #5653

Issue Summary

Real IME/runtime bug. Blur during Microsoft IME composition can duplicate committed text.

Thread Summary

The comment is useful because it names the event sequence: compositionend, then beforeinput deleteContentBackward, then beforeinput insertText.

Repro Status

Strong.

Workaround Status

Acceptable, but ugly.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep this in the composition/focus cluster. It is concrete and event-level.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The next useful step is to decide which of those post-composition blur events Slate should trust versus treat as stale browser fallout.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5647

Issue Summary

This looks like invalid document shape and outdated version pain more than a core bug.

Thread Summary

No thread.

Repro Status

Moderate.

Workaround Status

Acceptable.

Validity Assessment

Likely invalid.

Duplicate / Invalid / Stale Assessment

The empty top-level page node is the suspicious part here, not Slate randomly ignoring the provided path.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Point at document invariants and ask for a current-version repro if they still think it is real.

v2 Relevance

None.

Red-Test Extraction Note

Not a test candidate.


Issue #5643

Issue Summary

This is a strong Android autocomplete bug. Accepting a suggestion duplicates the typed prefix instead of replacing it.

Thread Summary

The follow-up matters. Multiple users confirm it across keyboards, browsers, and newer Slate versions.

Repro Status

Strong.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is one of the better mobile input issues in the set. It should stay weighted high.

Maintainer Action Suggestion

keep-open

Future Reply Direction

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.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5639

Issue Summary

Likely real iPhone/RTL runtime issue: typing after the first word keeps shoving the page upward.

Thread Summary

No thread, but the report is specific enough to keep.

Repro Status

Moderate.

Workaround Status

Poor.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the RTL/mobile scroll bucket. It is weakly reproed, but not hand-wavy.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The next useful split is whether this is selection-into-view logic or browser scrolling after RTL composition updates.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5634

Issue Summary

This is a weak clipboard/style-retention complaint with old versions and mixed external tooling.

Thread Summary

One comment confirms similar behavior with Google Docs, but the thread never sharpens what Slate is actually expected to preserve.

Repro Status

Weak to moderate.

Workaround Status

Acceptable.

Validity Assessment

Likely invalid as a current core bug.

Duplicate / Invalid / Stale Assessment

This belongs in parser/clipboard limitation territory, not core runtime defect territory.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Clarify scope. “Maintain all styles on paste” is not a precise promise.

v2 Relevance

None.

Red-Test Extraction Note

Not a test candidate.


Issue #5632

Issue Summary

Real inline-boundary caret bug. Deleting one adjacent badge leaves the caret in a broken visual/behavioral state.

Thread Summary

No thread, but there is a sandbox and clear delete sequence.

Repro Status

Strong.

Workaround Status

None.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the inline-boundary cluster.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Check whether the underlying problem is selection landing in a non-renderable inline gap versus DOM range mapping after the badge disappears.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5630

Issue Summary

This is a strong fragment-insert bug around select-all replacement when the trailing structure includes a block like an image plus empty paragraphs.

Thread Summary

No comments, but the body is rich and already points at likely seams in insertFragment, unhangRange, and delete behavior.

Repro Status

Strong.

Workaround Status

None.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep this high in the paste/void replacement cluster.

Maintainer Action Suggestion

keep-open

Future Reply Direction

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.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5629

Issue Summary

This is a clean keyboard-navigation semantics issue. Word jumps across punctuation do not match normal text-field expectations.

Thread Summary

No thread, but the report is already narrow and references the likely utility seam.

Repro Status

Strong.

Workaround Status

None.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Worth keeping. This is a real editing semantics complaint, not random UX preference.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Decide whether Slate wants native-input parity here or its own notion of word-distance.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5628

Issue Summary

This is a strong browser-DOM-mutation bug. Writing-direction changes in Chromium wrap content in extra DOM and blow up Slate’s mapping assumptions.

Thread Summary

The comments make it stronger, not weaker. They add extra failure modes and a rough fix hook.

Repro Status

Strong.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it high in the browser-owned DOM mutation bucket.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The useful split is whether Slate should neutralize these DOM mutations or snapshot/recover from them more gracefully.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5617

Issue Summary

This is probably stale repo/tooling noise, not live roadmap pressure.

Thread Summary

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.

Linked Artifacts Summary

The thread points at PR #4245.

Repro Status

Not really applicable.

Workaround Status

Strong.

Validity Assessment

Stale candidate.

Duplicate / Invalid / Stale Assessment

This should not influence editor architecture.

Maintainer Action Suggestion

close-stale

Future Reply Direction

Verify the current bundle story, then either close it or point at the real remaining import debt.

v2 Relevance

None.

Red-Test Extraction Note

Not a test candidate.


Issue #5616

Issue Summary

This is a real clipboard/export compatibility issue. Empty lines are not preserved when Slate content is pasted into Word.

Thread Summary

No thread, but the report is concrete and already names one tempting but bad local fix.

Repro Status

Strong.

Workaround Status

Poor.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the clipboard/export bucket, not the normalizer bucket.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Decide whether Word-compatible clipboard output should preserve empty lines differently from in-editor zero-width rendering.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready with minor setup.


Issue #5612

Issue Summary

This is a real docs/example ergonomics issue. The examples work, but TypeScript users hit friction immediately.

Thread Summary

The comments are useful: they distinguish between missing custom type setup and genuinely poor example guidance.

Repro Status

Strong enough.

Workaround Status

Strong.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This belongs in docs/examples quality, not runtime architecture.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Show the custom type setup where people actually copy example code, not buried elsewhere.

v2 Relevance

None.

Red-Test Extraction Note

Not a test candidate.


Issue #5611

Issue Summary

Strong runtime bug. After a soft break plus formatting boundary, Chrome can start inserting visible text backwards.

Thread Summary

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.

Repro Status

Strong.

Workaround Status

Acceptable, but hacky.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the soft-break/input-order cluster.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The useful next question is whether soft breaks should materialize a browser-friendly sentinel automatically instead of leaving consumers to patch around it.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5605

Issue Summary

This is the same real API ergonomics pressure later seen in #6013: prebuilt editor instances should not need a redundant initialValue.

Thread Summary

Short thread, but the issue body is already sharp.

Linked Artifacts Summary

This overlaps directly with Issue #6013.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This should probably collapse into the stronger newer issue instead of competing with it.

Maintainer Action Suggestion

mark-duplicate

Future Reply Direction

Point at the newer framing and keep one canonical issue for the API gap.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a test candidate.


Issue #5603

Issue Summary

This is a real runtime contract problem around <Editable> event passthrough. Typing at offset 0 drops onInput.

Thread Summary

The thread is good. It confirms the underlying workaround is still needed for another Chrome bug, and that this problem survives that context.

Repro Status

Strong.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the input-event semantics bucket.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The real design question is whether Slate wants to preserve native onInput semantics at all or keep steering users to onDOMBeforeInput / onChange.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5600

Issue Summary

This might be real, but the report is too under-specified to trust. “Approved components” is not a technical description.

Thread Summary

No thread.

Repro Status

Weak.

Workaround Status

Poor.

Validity Assessment

Unclear.

Duplicate / Invalid / Stale Assessment

Needs a better repro before it should influence anything.

Maintainer Action Suggestion

ask-for-repro

Future Reply Direction

Ask for the actual node type shape and exact deletion sequence. The current title is nearly useless.

v2 Relevance

Indirect.

Red-Test Extraction Note

Blocked on repro.


Issue #5599

Issue Summary

Legit slate-hyperscript typing/docs issue. The user can create shorthands, but the TypeScript experience is bad enough that it looks broken.

Thread Summary

The only reply punts to tests as documentation, which is useful context and also evidence that the docs surface is thin.

Repro Status

Strong.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the hyperscript DX bucket.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Either improve the type surface or document the pattern where users actually find it.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready now.


Issue #5592

Issue Summary

This is not resolved enough to trust. The original claim might be wrong, but the follow-up still hints at lingering references somewhere.

Thread Summary

The only real reply mostly argues “this is a WeakMap, so not a leak,” then speculates about React retaining props.

Repro Status

Moderate.

Workaround Status

Acceptable.

Validity Assessment

Unclear.

Duplicate / Invalid / Stale Assessment

This is not architecture pressure yet. It needs a stronger proof of retained editors after GC.

Maintainer Action Suggestion

ask-for-scope-clarification

Future Reply Direction

Ask for a proof that retained editors survive GC when no React tree still references them.

v2 Relevance

Indirect.

Red-Test Extraction Note

Not a test candidate.


Issue #5588

Issue Summary

This is real ecosystem demand, but it should not be mistaken for a demand that core become framework-shaped.

Thread Summary

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.

Repro Status

Not applicable.

Workaround Status

Acceptable.

Validity Assessment

Valid as ecosystem demand.

Duplicate / Invalid / Stale Assessment

Do not over-weight it. It is a runtime-adapter request, not a core model complaint.

Maintainer Action Suggestion

share-status

Future Reply Direction

If revisited, frame it as adapter/runtime work, not as a reason to contort the core.

v2 Relevance

Indirect.

Red-Test Extraction Note

Not a test candidate.


Issue #5587

Issue Summary

This is a plausible history-grouping bug triggered by an external editor/extension mutating content.

Thread Summary

No thread.

Repro Status

Moderate.

Workaround Status

Poor.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the history/external-editor bucket. It is a useful integration pressure case.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The next useful split is whether Grammarly suggestions come through as one synthetic batch or whether Slate history is grouping too aggressively across them.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready with minor setup.


Issue #5582

Issue Summary

This is a strong core selection bug around repeated deletion of consecutive block voids.

Thread Summary

No thread, but the report is already good enough: official images example, concrete path expectations, and exact wrong selection movement.

Repro Status

Strong.

Workaround Status

None.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep this high in the void-selection cluster.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The useful question is whether selection after deleting a void should move to the previous surviving void or to the next logical text position.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5569

Issue Summary

This is a real browser-integration complaint around external text replacement tools. Partial abbreviation replacement means Slate is losing part of the intended replacement selection.

Thread Summary

The comments add useful context: a Slack debugging thread and a second report that rich replacements can break the editor even more severely.

Repro Status

Strong.

Workaround Status

Poor.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the external text-injection bucket.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The next useful step is to characterize how TextExpander is mutating the DOM and which Slate entry path is missing it.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready with minor setup.


Issue #5568

Issue Summary

Likely real, but narrower than the title suggests. The current clue is that an empty initialValue might be part of the trigger.

Thread Summary

The thread is useful because it contains a passing test that does not reproduce, plus one concrete difference from the failing app.

Repro Status

Moderate.

Workaround Status

Acceptable.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Worth keeping, but the exact trigger still needs tightening.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The next useful test is the same flow with an empty initial value and later content replacement before focus.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5559

Issue Summary

This is a clean selection-gesture bug around void elements. Shift-clicking through a void resets or corrupts the selection.

Thread Summary

No thread, but the report is already sharp and uses the official mentions example.

Repro Status

Strong.

Workaround Status

None.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the gesture/void selection cluster.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The key question is whether shift-click should extend across a void boundary or treat the void as an atomic selection target.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Pilot Take

The dossier format is worth keeping.

Why:

  • it forces a distinction between issue summary and thread summary
  • it captures triage posture, not just architectural relevance
  • it leaves a future maintainer with something actionable instead of “here’s a cluster name, good luck”

What still needs tightening before a full 600+ issue pass:

  • decide whether dossier files should stay monolithic or split by issue range once they get huge
  • define when a dossier is allowed to stay short versus when it needs a real thread narrative
  • decide whether unsupported-but-v2-interesting issues should keep sharing the same TDD readiness scale as ordinary valid issues
  • decide when benchmark extraction deserves a dossier section by default instead of only for explicit perf issues