Back to Plate

4741 4643

docs/slate-issues/open-issues-dossiers/4741-4643.md

53.0.622.1 KB
Original Source

Issue #4741

Issue Summary

This is an API-usage question about traversing a fragment, not a live engine bug.

Thread Summary

The reporter resolved it themselves in the only follow-up, so this is just stale support residue.

Repro Status

Strong enough.

Workaround Status

Strong.

Validity Assessment

Stale candidate.

Duplicate / Invalid / Stale Assessment

This should be closed as resolved support history, not treated as architecture signal.

Maintainer Action Suggestion

close-stale

Future Reply Direction

Close it as stale/resolved and move on.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4738

Issue Summary

Typing immediately after a multi-line mouse selection can blow up React DOM reconciliation with a removeChild DOMException.

Thread Summary

The report is concise but it reproduces on the official richtext example, which is enough to treat it as real runtime debt.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the runtime-boundary bucket instead of dismissing it as generic React noise.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and scoped to selection-plus-typing DOM instability.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4730

Issue Summary

Selecting all and deleting in the images example can leave the wrong residual paragraph state when an image sits at the end.

Thread Summary

The thread is light, but the repro targets an official example and the bug shape is clear.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is solid current-Slate behavior debt with a good integration seam.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and test through the images example behavior.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4722

Issue Summary

This asks for insert transforms to return the affected range so follow-up transforms do not have to reconstruct it from brittle refs.

Thread Summary

There is no disagreement in the thread, just a clear API ergonomics request with real transform semantics behind it.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is better treated as v2 API shaping than as a current bug.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Keep it on the roadmap as core transform API work.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4721

Issue Summary

Async Editable handlers get treated as handled just by returning a Promise, which breaks built-in hotkeys and default behavior.

Thread Summary

The report points to the exact helper and the proposed fix is coherent, so this is easy to classify.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is a clean slate-react contract bug, not just user confusion about async handlers.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and fix the handler contract instead of telling users to avoid async.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4719

Issue Summary

Android cannot reliably select void nodes like images by tapping them, which makes common media workflows miserable.

Thread Summary

The report is simple but specific and uses the official images example.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is another real Android runtime seam, not a one-off device quirk.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open under mobile selection behavior.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #4718

Issue Summary

Passing editor.selection explicitly to at can behave differently from relying on the implicit default selection.

Thread Summary

The issue has a real repro and a plausible explanation in the follow-up, so it is good current test fodder.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is clean transform semantics debt in slate, not just docs ambiguity.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and test the explicit-vs-implicit selection path.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4716

Issue Summary

This is not really “table copy is broken”; it is a design argument about what a fragment should preserve and who should own that behavior.

Thread Summary

The discussion is valuable because it exposes the real ambiguity: generic copy/paste heuristics versus plugin-controlled semantics.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Do not treat this as a simple bug. It belongs in the clipboard strategy and extensibility lane.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Keep it open as architecture pressure around fragment semantics and override seams.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4712

Issue Summary

Decoration ranges that inject a text field with a different length can desync the rendered leaf from the caret position.

Thread Summary

The issue is concise but specific enough to test directly.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is a real decoration/runtime contract bug in slate-react.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and test through decoration rendering plus caret placement.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4704

Issue Summary

Typing at the end of a trailing inline got better, but users can now get trapped inside that inline at the end of the editor.

Thread Summary

The thread has concrete mitigation ideas and linked follow-up work, which makes this strong runtime signal rather than vague UX whining.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is exactly the kind of inline-boundary behavior that should have explicit runtime ownership.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open around end-of-inline exit behavior, not around reverting prior fixes.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4701

Issue Summary

Slate hardcodes empty text node creation, which makes richer custom text defaults awkward or impossible to express cleanly.

Thread Summary

The workaround is ugly but real, and the follow-up does not actually disprove the pressure point.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Treat this as core typing/extensibility pressure, not a quick current bug fix.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Keep it on the v2 API/typing roadmap.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4700

Issue Summary

Changing Editable white-space to a collapsing mode breaks trailing-space input in Chrome and Safari, while the default mode breaks certain alignment layouts.

Thread Summary

The report has a real sandbox and the problem sits squarely at the contenteditable/browser-layout boundary.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

This is browser/layout debt, but still real runtime pressure.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open as layout-vs-editing boundary behavior.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready with minor setup.


Issue #4696

Issue Summary

Autofocus can place the caret at offset zero instead of the end, which is jarring for input-like editor uses.

Thread Summary

The thread is small, but there is even a linked PR, so the issue is concrete enough.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

This is routine focus-timing debt in slate-react.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open or link it to the corresponding fix attempt.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready now.


Issue #4693

Issue Summary

Android Chrome and Samsung Internet cannot compose Korean cleanly; characters get split into junk instead of forming words.

Thread Summary

Another commenter confirms Japanese too, so this is a real IME cluster member.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is direct mobile/IME architecture pressure.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and group it with Android composition behavior.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #4692

Issue Summary

This is a generic product question about release timing and batteries-included editors, not an actionable issue.

Thread Summary

The thread is just roadmap chatter, not implementation signal.

Repro Status

Not applicable.

Workaround Status

None.

Validity Assessment

Invalid.

Duplicate / Invalid / Stale Assessment

Keep this out of the architecture corpus.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Close or redirect it as out of scope.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4690

Issue Summary

The request is simply for printable or downloadable docs, not an engine problem.

Thread Summary

No one disputed it; it just belongs in docs maintenance, not v2.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Do not let this leak into package architecture work.

Maintainer Action Suggestion

share-status

Future Reply Direction

Treat it as docs backlog only.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4686

Issue Summary

Clearing the whole document resurrects a default node shaped like the last deleted block, which is hostile to custom schemas.

Thread Summary

The workaround is detailed and the failure mode is obvious.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This belongs in the core normalization/default-node contract.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Keep it on the core roadmap and test the empty-document reset path.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4681

Issue Summary

Paste does not trigger onDOMBeforeInput, which makes a supposedly generic event hook incomplete on a key input path.

Thread Summary

The report is minimal but direct and easy to verify.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is a straightforward Editable event contract bug.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and test the paste event path.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4680

Issue Summary

The complaint is really that useSlate returns a stable editor object, not that rerenders do not happen.

Thread Summary

The workarounds and hook distinction make this look more like expectation mismatch than a broken contract.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Likely invalid.

Duplicate / Invalid / Stale Assessment

Useful for API clarity, weak as a current bug.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Reply with the hook contract or close as expectation mismatch.

v2 Relevance

Indirect.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4676

Issue Summary

The docs are overwhelmingly React-shaped, which makes core-only or alternate-framework adoption much harder than it should be.

Thread Summary

The request is reasonable and not hostile to the React-first runtime story.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is docs debt, not a reason to make the core framework-neutral by force.

Maintainer Action Suggestion

share-status

Future Reply Direction

Keep it in docs backlog, not v2 core requirements.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4673

Issue Summary

The placeholder rendering model can collapse weirdly inside flex layouts because of how Slate positions placeholder leaves.

Thread Summary

The thread even contains concrete workarounds, which makes this real rendering debt rather than user styling confusion.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This belongs in placeholder/rendering runtime cleanup.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and test through flexbox placeholder rendering.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready now.


Issue #4658

Issue Summary

A table at the end of the document can let the cursor escape the table bounds, after which typing corrupts both DOM and Slate state.

Thread Summary

The reporter even found a normalization workaround, which sharpens rather than weakens the issue.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is strong selection/DOM-boundary debt even if the structure is custom.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open around table end-of-document cursor ownership.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #4657

Issue Summary

This was a Next.js hydration-warning thread with an immediate prop-level workaround and a linked PR.

Thread Summary

That makes it stale docs/runtime drift, not live architecture pressure.

Repro Status

Strong enough.

Workaround Status

Strong.

Validity Assessment

Stale candidate.

Duplicate / Invalid / Stale Assessment

Close or fold into docs for SSR props.

Maintainer Action Suggestion

close-stale

Future Reply Direction

Close it as stale/resolved-in-thread.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4648

Issue Summary

The complaint is really about Unicode word-boundary semantics not matching a mention implementation’s expectations.

Thread Summary

The follow-ups show workarounds and point to intentional underlying behavior.

Repro Status

Strong enough.

Workaround Status

Strong.

Validity Assessment

Likely invalid.

Duplicate / Invalid / Stale Assessment

Useful docs/API clarity maybe, weak as a current bug.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Reply with the word-boundary contract or close it.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #4643

Issue Summary

Invalid selections can crash the editor with an uncatchable DOM point error instead of degrading gracefully.

Thread Summary

The follow-ups connect this to external document replacement, which makes it more than one bad caller.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This is good v2 error-resilience pressure, but the exact current behavior choice is still a design call.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Keep it on the roadmap as selection error-resilience work.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a direct test candidate.