Back to Plate

4642 4542

docs/slate-issues/open-issues-dossiers/4642-4542.md

53.0.621.7 KB
Original Source

Issue #4642

Issue Summary

removeNodes can leave selection on the next empty line instead of the logical current insertion target.

Thread Summary

The repro is clear and the intended consistency is easy to understand.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Good current core test case.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and test the empty-next-line selection path.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4641

Issue Summary

Node properties meant to be unique identity get cloned during splits, which makes normalize-time id assignment brittle.

Thread Summary

The comments explain the real mechanism: split behavior copies element props before normalization ever runs.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is real identity pressure, but likely wants a better contract than a narrow bug patch.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Keep it on the roadmap as stable identity and split semantics work.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #4640

Issue Summary

Safari can let users backspace the placeholder itself after clearing formatted content, leaving the editor unusable until reload.

Thread Summary

The reporter also posted a workaround that clarifies this is happening below the normal Slate delete hooks.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is good selection/placeholder runtime debt, not just a browser quirk footnote.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open under Safari placeholder/input behavior.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #4626

Issue Summary

insertNodes(..., { select: true }) briefly regressed to place the cursor before the inserted node.

Thread Summary

The thread quickly turned into a revert discussion, which makes this look more like resolved historical regression tracking than live debt.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Stale candidate.

Duplicate / Invalid / Stale Assessment

Treat it as historical context unless it is still reproducible now.

Maintainer Action Suggestion

close-stale

Future Reply Direction

Close or fold into the linked regression thread.

v2 Relevance

Indirect.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4623

Issue Summary

Dragging a void to the top padding area can duplicate it instead of moving it, which smells like bad internal-vs-external drop detection.

Thread Summary

The thread is short but the hypothesized boundary bug is plausible and the behavior is clear.

Repro Status

Weak.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is worth keeping, but it still wants a tighter sandbox.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and ask for a minimal sandbox if the reporter resurfaces.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #4621

Issue Summary

This is a maintenance/architecture issue about the AndroidEditable fork drifting from the default Editable and the cost of carrying two runtimes.

Thread Summary

The comments are valuable because they explain why Android support is hard and why naive convergence is not enough.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This belongs in runtime package architecture, not as a one-off bug.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Keep it on the runtime roadmap, especially if AndroidEditable remains distinct.

v2 Relevance

Indirect.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4618

Issue Summary

The request is for an explicit point-normalization hook so apps can decide which cursor positions should be treated as equivalent.

Thread Summary

This is strong architecture pressure built on multiple linked selection debates, not a random feature whim.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is v2-grade API design work, not a small patch.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Keep it on the selection API roadmap.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4613

Issue Summary

Custom paste pipelines still require copying too much built-in logic instead of extending smaller chunks cleanly.

Thread Summary

The discussion is brief but precise, and it aligns with later runtime ownership pressure around copy/paste APIs.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This belongs squarely in runtime extensibility planning.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Keep it on the roadmap as insertData/clipboard strategy work.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4612

Issue Summary

This is one of the clearest threads showing how painful uncontrolled-only editor state is for non-trivial React apps.

Thread Summary

The thread is long, detailed, and full of real downstream pain, workarounds, and design disagreement.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is not background noise. It is one of the biggest slate-react contract pressure points in the whole corpus.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Keep it on the v2 roadmap, not in support limbo.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4602

Issue Summary

Android spellcheck corrections can move the cursor back to the corrected letter and insert the next space in the wrong place.

Thread Summary

The comments are great context because they explain the likely compositionend/diff sequence behind the bug.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is exactly the kind of Android runtime behavior that needs explicit ownership.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and group it with Android spellcheck/autocorrect handling.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #4590

Issue Summary

The built-in scroll behavior assumes the editor itself is the scroll container, which is too rigid for real layouts.

Thread Summary

This is a clean API gap around scrolling customization rather than a deeper engine bug.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Good runtime API-shape pressure, not a core model problem.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Keep it in slate-react scrolling API planning.

v2 Relevance

Indirect.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4582

Issue Summary

Typing at the beginning of an inline can place text outside the inline in Chrome and Safari, even though programmatic insertText goes to the right spot.

Thread Summary

The contrast between typed and programmatic insertion is useful signal that this is a runtime boundary bug.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the inline-boundary runtime cluster.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and test both native typing and programmatic insertion behavior.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4581

Issue Summary

Firefox can crash or corrupt typing after deleting a mention or decorated text and then typing again.

Thread Summary

The follow-ups even point to a plausible exactMatch-related DOM range issue, which makes this strong bridge signal.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is a real Firefox DOM bridge bug, not just example slop.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and test through mentions/highlighting examples.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #4580

Issue Summary

This is another manifestation of the paste-html example deserializer producing an invalid mixed fragment.

Thread Summary

The sole comment basically proves it is example code, not Slate core.

Repro Status

Strong enough.

Workaround Status

Strong.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Mark it duplicate of the example deserializer issue instead of inflating the core clipboard cluster.

Maintainer Action Suggestion

mark-duplicate

Future Reply Direction

Point it at the example fix path.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4575

Issue Summary

The markdown preview example does not handle nested styles in headers because the Prism token rendering is intentionally limited.

Thread Summary

The follow-up makes it clear this is an example limitation, not a core markdown engine bug.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it out of architecture work.

Maintainer Action Suggestion

share-status

Future Reply Direction

Treat it as example improvement only.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4573

Issue Summary

The paste HTML example deserializer can emit a stray top-level string for certain simple structures like `<div>

</div>`.

Thread Summary

The report and follow-up are concrete and clearly scoped to the example.

Repro Status

Strong enough.

Workaround Status

Strong.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is example/docs debt, not core clipboard semantics.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it on the examples backlog.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4570

Issue Summary

The mentions example uses word-based matching, so hyphenated values like R2-D2 break the dropdown.

Thread Summary

The comments explain why this is example logic, not a Slate core tokenizer bug.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This belongs with example ergonomics, not core API.

Maintainer Action Suggestion

share-status

Future Reply Direction

Treat it as example improvement only.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4569

Issue Summary

insertData was under-documented in the API reference.

Thread Summary

This is plain docs debt.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in docs, nowhere else.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Add or point to the missing reference docs.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4567

Issue Summary

Pasting an image URL into an empty images example after select-all can hit a null parent path and error out.

Thread Summary

The issue is clean and uses an official example.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Good current regression test material.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and test through the public paste path.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4564

Issue Summary

Programmatically clearing the editor on Enter can leave selection pointing into vanished content and crash with a DOM point error.

Thread Summary

The workarounds make the underlying selection-reset problem clearer, not weaker.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is good current selection-reset test material and also ties into external replacement ergonomics.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open under document replacement and selection repair.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4561

Issue Summary

This is a hot-refresh environment issue already pointed at an older duplicate.

Thread Summary

Nothing new is learned here beyond the duplicate reference.

Repro Status

Strong enough.

Workaround Status

Strong.

Validity Assessment

Duplicate candidate.

Duplicate / Invalid / Stale Assessment

Do not count this twice.

Maintainer Action Suggestion

mark-duplicate

Future Reply Direction

Mark it duplicate of the linked hot-refresh issue.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4560

Issue Summary

A rerender right after focus can make Slate restore the wrong remembered caret instead of honoring the click target.

Thread Summary

The update showing it can happen in Chrome too makes this more general than one Firefox quirk.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is a real focus/runtime timing bug.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and test focus followed by immediate rerender.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4559

Issue Summary

Undo after deleteFragment should reselect the restored content instead of leaving the caret at the end.

Thread Summary

This is a clean history-behavior request with concrete expected behavior.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is one of the few strong slate-history semantics issues.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Keep it on the history model roadmap.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4543

Issue Summary

Safari autocorrect can clear selection entirely, forcing the user to click back into the editor mid-typing.

Thread Summary

The report is clean and points at the official richtext example.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is another real browser-input contract bug.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open under Safari autocorrect behavior.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #4542

Issue Summary

This is a major copy/paste semantics debate, not just a broken paste bug.

Thread Summary

The long thread makes the real problem obvious: Slate needs clearer copy/paste strategies and override seams instead of pretending one default behavior fits everyone.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Do not reduce this to one bug row. It is architecture pressure around fragment semantics and clipboard override APIs.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Keep it on the v2/runtime roadmap, not in generic bug triage.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a direct test candidate.