Back to Plate

Slate v2 Open Issue Dossiers: 5760-5666

docs/slate-issues/open-issues-dossiers/5760-5666.md

53.0.624.5 KB
Original Source

Slate v2 Open Issue Dossiers: 5760-5666

Scope

These dossiers cover issues #5760 through #5666 from the pilot set. Use the top-level index for the range map and the ledger for the canonical structured cache.


Issue #5760

Issue Summary

This is a strong DOM-range mapping bug. The report points at a concrete mismatch between Slate's zero-width rendering assumption and what iOS actually renders.

Thread Summary

No thread, but the body is already useful: exact code pointers, screenshots, and a plausible failure chain into toDOMRange.

Repro Status

Strong.

Workaround Status

Poor.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

This is worth keeping in the DOM-bridge cluster. It is specific enough to act on.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The next useful step is to confirm the exact DOM shape on current iOS and make toDOMRange resilient when the zero-width sentinel is not actually present.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5757

Issue Summary

This is not a product/runtime issue. It is a repo-security disclosure request.

Thread Summary

No thread.

Repro Status

Not applicable.

Workaround Status

Not applicable.

Validity Assessment

Valid, but repo-only.

Duplicate / Invalid / Stale Assessment

Do not let this leak into Slate v2 architecture clustering.

Maintainer Action Suggestion

redirect-private-report

Future Reply Direction

Point the reporter to the private security reporting channel and move it off the public issue tracker.

v2 Relevance

None.

Red-Test Extraction Note

Not a test candidate.


Issue #5750

Issue Summary

This looks like a real bug in the markdown preview example or its parser assumptions, not a vague formatting complaint.

Thread Summary

No thread, but the body gives exact input, expected output, and a public reproduction surface.

Repro Status

Strong.

Workaround Status

None.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the example/parser bucket. This should not be mistaken for a core data-model problem.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Decide whether the markdown preview example is supposed to approximate CommonMark more closely or whether its current parser intentionally stops short.

v2 Relevance

None.

Red-Test Extraction Note

Ready now.


Issue #5749

Issue Summary

This is a strong runtime bug on an official example. Shadow DOM drag-and-drop currently falls into DOM-point resolution failure.

Thread Summary

The thread is useful. One comment proposes a shadow-root-aware caret-position fix, and another adds an important Chrome version constraint.

Repro Status

Strong.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the DOM-selection cluster. It is a good example of host-environment support gaps, not user confusion.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Verify the fix surface against current Chrome shadow-root selection APIs, then decide whether Slate should harden this path or explicitly degrade.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5748

Issue Summary

This is not really a bug. It is an API expectation mismatch around what at: [] means for wrapNodes.

Thread Summary

The single reply already answers it cleanly with the right match usage.

Repro Status

Strong.

Workaround Status

Strong.

Validity Assessment

Invalid as a current Slate bug.

Duplicate / Invalid / Stale Assessment

This is a docs/semantics clarification case, not an architecture problem.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Point to root-path semantics and, if needed, add one doc example for wrapping direct children instead of the editor object itself.

v2 Relevance

None.

Red-Test Extraction Note

Not a test candidate.


Issue #5735

Issue Summary

This is a support/design question about UI animation, not a Slate engine issue.

Thread Summary

No thread.

Repro Status

Not applicable.

Workaround Status

Acceptable.

Validity Assessment

Likely invalid for the core issue tracker.

Duplicate / Invalid / Stale Assessment

Do not let this inflate the framework roadmap.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Redirect toward consumer-side animation strategies. Slate should not own transition orchestration.

v2 Relevance

None.

Red-Test Extraction Note

Not a test candidate.


Issue #5733

Issue Summary

This is a legitimate low-level API ergonomics request. The current Text.equals surface is too rigid if consumers carry stable IDs on text nodes.

Thread Summary

The one comment is useful: it shows that the naive external-omit workaround is awkward enough to push people toward ts-ignore.

Repro Status

Strong enough.

Workaround Status

Acceptable, but ugly.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Not urgent, but it is real and specific.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Decide whether the right abstraction is a lower-level equality helper or a narrow extension point on Text.equals.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready now.


Issue #5732

Issue Summary

Spam. Nothing useful here.

Thread Summary

No thread.

Repro Status

None.

Workaround Status

Not applicable.

Validity Assessment

Invalid.

Duplicate / Invalid / Stale Assessment

This should be closed, not analyzed.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

None.

v2 Relevance

None.

Red-Test Extraction Note

Not a test candidate.


Issue #5711

Issue Summary

This is one of the stronger iOS empty-editor / backspace issues in the set. It is not just “mobile is weird”; it captures a specific failure and non-recovery path.

Thread Summary

The comments materially improve the issue. They add DOM-level evidence, a stronger local repro path, a Plate confirmation, and a related issue pointer.

Linked Artifacts Summary

The thread links to Plate discussion #3584 and Issue #5762.

Repro Status

Strong.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

This should stay in the mobile empty-state cluster. It is stronger than the weaker duplicates orbiting it.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The next useful step is to isolate which part is actually failing first: DOM restoration after empty-delete, point recovery, or selection sync after the DOM collapses.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5710

Issue Summary

This is a real DX/API gap around replacing the entire document. The current answer is a pile of transforms or direct children replacement, which is not elegant.

Thread Summary

The one reply just points to a Plate utility, which is basically confirmation that the gap is currently externalized.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the API ergonomics pile, not the bug pile.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Decide whether Slate wants a first-class content-replacement command or whether direct value replacement remains the intended pattern.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a test candidate.


Issue #5709

Issue Summary

This is a strong slate-react runtime issue. Replacing the editor instance leaves hooks subscribed to stale context.

Thread Summary

The thread is short but useful: it gives the current editor.children = ...; editor.onChange() workaround and another confirmation from a React Compiler use case.

Repro Status

Strong.

Workaround Status

Acceptable, but awkward.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep this high in the slate-react runtime bucket. It is a clean signal, not support noise.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The real question is whether <Slate> should treat editor replacement as supported and update context, or whether editor identity is intentionally singleton-like.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5704

Issue Summary

This reads like a selection-ownership misunderstanding. Selecting text in an external popup is not the same thing as changing the Slate editor selection.

Thread Summary

No thread.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Likely invalid.

Duplicate / Invalid / Stale Assessment

This should not enter the core bug cluster unless a narrower Slate-owned failure emerges.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Explain the distinction between preserved editor selection and focus/selection moving into external UI.

v2 Relevance

None.

Red-Test Extraction Note

Not a test candidate.


Issue #5698

Issue Summary

The original issue is weak, but the comments suggest it belongs to the same iOS empty-editor backspace cluster as the stronger reports.

Thread Summary

The useful content is entirely in the comments. The body is basically empty, and the thread never reaches a clean repro.

Repro Status

Weak.

Workaround Status

Poor.

Validity Assessment

Duplicate candidate.

Duplicate / Invalid / Stale Assessment

This should probably collapse into a stronger tracked issue instead of living on its own.

Maintainer Action Suggestion

mark-duplicate

Future Reply Direction

Point to the stronger empty-editor iOS issue and ask the reporter to verify whether it is the same failure mode.

v2 Relevance

Indirect.

Red-Test Extraction Note

Blocked on repro.


Issue #5697

Issue Summary

This is one of the better runtime architecture proposals in the set. It names concrete weak-map failure modes instead of just complaining that findPath is flaky.

Thread Summary

The thread mostly confirms the current workarounds and the awkward dependence on React render timing.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it near the top of the React/runtime cluster. It is a design pressure issue, not random DX noise.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Separate the problem into two decisions: whether core should own a traversal-based path finder, and whether ReactEditor.findPath should stop throwing on transient weak-map staleness.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5692

Issue Summary

This is a narrow legacy-environment feature-detection complaint.

Thread Summary

No thread.

Repro Status

Strong enough for the narrow case.

Workaround Status

Acceptable.

Validity Assessment

Likely invalid under current support assumptions.

Duplicate / Invalid / Stale Assessment

This should not influence the main runtime roadmap unless Slate still intends to care about legacy Chrome plus polyfill-heavy environments.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Clarify the support boundary first. Do not patch edge detection for dead environments by reflex.

v2 Relevance

None.

Red-Test Extraction Note

Not a test candidate.


Issue #5691

Issue Summary

This is a sensible API ergonomics request. It is small, additive, and tied to a real language feature instead of random sugar.

Thread Summary

The thread is light, but it does clarify that this is about standard-compatible disposal ergonomics, not a bespoke lifecycle invention.

Linked Artifacts Summary

The thread points at Issue #5726.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Low urgency, but legitimate.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Decide whether Slate wants ref cleanup to stay explicit-only or whether disposable refs are worth the tiny surface-area increase.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready now.


Issue #5690

Issue Summary

This is a strong inline-boundary selection crash on the official examples, not just an app-specific edge case.

Thread Summary

The only comment is useful: it suggests the old Chromium bugfix helper might be the actual culprit, which narrows the fix surface.

Repro Status

Strong.

Workaround Status

Acceptable.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the inline-boundary selection bucket until someone verifies it is already gone on current examples.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Verify this on current example code and decide whether the fix is “remove obsolete DOM hack” or “harden selection translation near inline boundaries.”

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5689

Issue Summary

This looks like a real selection-directionality bug, but the report is thin.

Thread Summary

No thread.

Repro Status

Moderate.

Workaround Status

None.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

It should stay in the selection cluster, but it needs a sharper anchor/focus expectation before it can drive design.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Ask for a more explicit anchor/focus narrative or encode the gesture in a browser test directly.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5686

Issue Summary

This is a clean example of current Slate contract versus user expectation. setNodes is not a deep structural replacement API, and the thread eventually says exactly that.

Thread Summary

The comments are the real value. They explain why diff-based deep replacement is intentionally out of core and why this request is unsupported by design.

Repro Status

Strong.

Workaround Status

Acceptable.

Validity Assessment

Likely invalid for current Slate, but still useful as v2 design pressure.

Duplicate / Invalid / Stale Assessment

Do not count this as a current bug. Count it as a recurring “users want node replacement semantics” signal.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Point users toward explicit remove/insert or diff-based transforms instead of pretending setNodes is meant to rewrite subtrees.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a test candidate.


Issue #5684

Issue Summary

This is too vague to trust. It gestures at Editor.nodes traversal semantics, but it does not provide enough shape to know whether the bug is in Slate or the caller.

Thread Summary

No thread.

Repro Status

Weak.

Workaround Status

Unknown.

Validity Assessment

Unclear.

Duplicate / Invalid / Stale Assessment

Needs a real repro before it should influence anything.

Maintainer Action Suggestion

ask-for-repro

Future Reply Direction

Ask for the exact document shape, match predicate, and expected yielded path.

v2 Relevance

Indirect.

Red-Test Extraction Note

Blocked on repro.


Issue #5680

Issue Summary

This is a strong Android inline-deletion bug. Removing the inline and trailing space kicks the keyboard out.

Thread Summary

No thread, but the issue is already sharp: official example, clear platform, clear trigger.

Repro Status

Strong.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep this in the mobile inline-deletion cluster. It is not a vague “Android is broken” complaint.

Maintainer Action Suggestion

keep-open

Future Reply Direction

The next useful split is whether the keyboard hides because selection lands on a removed inline boundary or because the browser loses its editable target during the deletion sequence.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5671

Issue Summary

This is basically a support/onboarding thread. It says more about expectation mismatch than about a concrete Slate defect.

Thread Summary

The first reply is useful and answers the question. The second reply is user frustration and project abandonment, not technical signal.

Repro Status

Not applicable.

Workaround Status

Strong.

Validity Assessment

Invalid as a bug.

Duplicate / Invalid / Stale Assessment

Do not let generic support frustration bleed into the v2 requirements set.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

If revisited at all, point to command overrides and event-handler docs. This is onboarding material.

v2 Relevance

None.

Red-Test Extraction Note

Not a test candidate.


Issue #5669

Issue Summary

This is a real API/runtime concern around event passthrough on <Editable>. It is not just one version regression.

Thread Summary

The follow-up matters. It confirms the behavior across multiple Slate versions and platforms, which de-risks the “maybe this is one bad release” explanation.

Repro Status

Strong.

Workaround Status

Poor.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep this in the runtime adapter bucket. It is the kind of contract question users actually hit.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Clarify whether Slate intends to preserve native input semantics on <Editable> or whether event normalization deliberately breaks parity.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5667

Issue Summary

Classic React keyed-list misuse. This is not a Slate bug.

Thread Summary

No thread.

Repro Status

Strong enough.

Workaround Status

Strong.

Validity Assessment

Invalid.

Duplicate / Invalid / Stale Assessment

Do not give this architectural weight. It is caused by key={index} and state retention.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Tell them to use stable keys and stop keying editors by array index.

v2 Relevance

None.

Red-Test Extraction Note

Not a test candidate.


Issue #5666

Issue Summary

Weird platform, real problem. This is another input-method bug where the first input and line-start behavior are clearly unstable.

Thread Summary

The comments are helpful. They narrow the weirdness to letter keys, first input on an empty box, and cursor reversal after newline.

Repro Status

Strong.

Workaround Status

Poor.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the input-method cluster, but do not collapse it too quickly into generic Android noise. The TV + Firefox combination may expose a distinct browser path.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Split the problem into two assertions: repeated first-character insertion and reversed cursor progression after newline.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.