Back to Plate

5129 5066

docs/slate-issues/open-issues-dossiers/5129-5066.md

53.0.623.0 KB
Original Source

Issue #5129

Issue Summary

Changing a node type with setNodes is awkward because it preserves or drops the wrong fields; the request is really for a first-class replace/rewrap transform.

Thread Summary

Thread is a straightforward feature request with light follow-up, not a disputed bug.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Capture it as roadmap input instead of treating it like routine bug debt.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a direct test candidate.


Issue #5124

Issue Summary

This is browser-support cleanup: the old beforeinput polyfill should probably disappear now that the modern event exists everywhere Slate cares about.

Thread Summary

No real thread yet; the value here is the cleanup direction, not extra reproduction detail.

Repro Status

Strong enough.

Workaround Status

Strong.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

fix-current-architecture

Future Reply Direction

Treat it as support-matrix cleanup, not as a user-facing bug story.

v2 Relevance

Indirect.

Red-Test Extraction Note

Not a direct test candidate.


Issue #5119

Issue Summary

Chrome changed something about selection or caret behavior and Slate started placing the cursor wrong in a previously working editing path.

Thread Summary

Thread adds confirmations and debugging notes, which makes it look like a real browser-triggered regression rather than one bad integration.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and narrow the exact selection seam instead of arguing from browser version vibes.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready with minor setup.


Issue #5117

Issue Summary

Placeholder min-height from one editor leaks onto another when multiple editors are mounted, which means the measurement or cache key is shared too broadly.

Thread Summary

Thread is short, but the bug shape is already clear from the report.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Treat it as a runtime identity/isolation bug, not as placeholder styling trivia.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5112

Issue Summary

mergeNodes behavior and documentation do not line up cleanly; this looks more like contract ambiguity than a fresh algorithmic bug.

Thread Summary

The follow-up pushes on docs and semantics more than on a clean current regression.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

share-status

Future Reply Direction

Clarify the contract first. If the docs are wrong, fix that before calling it a deeper engine bug.

v2 Relevance

Indirect.

Red-Test Extraction Note

Not a direct test candidate.


Issue #5110

Issue Summary

This is a Chrome 105 regression report against very old Slate packages, so it is useful history but not a strong current-Slate signal.

Thread Summary

The thread is valuable archaeology, but it is pinned to pre-modern Slate versions.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Stale candidate.

Duplicate / Invalid / Stale Assessment

This issue is mostly stale history now.

Maintainer Action Suggestion

close-stale

Future Reply Direction

Point at unsupported legacy versions and close it instead of letting it pollute current architecture work.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #5108

Issue Summary

Older Slate relied on a browser capability flag that Chrome 105 made less trustworthy, which is another piece of legacy browser-detection debt.

Thread Summary

Thread is mostly legacy detection debate, not a current contract question.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Stale candidate.

Duplicate / Invalid / Stale Assessment

This issue is mostly stale history now.

Maintainer Action Suggestion

close-stale

Future Reply Direction

Keep it as browser-support history, not as active v2 architecture pressure.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #5107

Issue Summary

findEventRange in shadow DOM blows up because the browser point-to-range API does not line up with Slate expectations inside a shadow root.

Thread Summary

The follow-up usefully points at Chrome shadow DOM limitations, which sharpens the seam instead of weakening it.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open as real shadow-DOM selection work, not as random browser weirdness.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5101

Issue Summary

This is an example limitation: search highlighting with decorations needs cross-node logic, and the example only decorates per text node.

Thread Summary

The first comment already explains why the example behaves that way.

Repro Status

Strong enough.

Workaround Status

Strong.

Validity Assessment

Invalid.

Duplicate / Invalid / Stale Assessment

This is mostly unsupported or invalid current-contract behavior.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Explain the example limit and close it. This is not core editor breakage.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #5099

Issue Summary

On Android, pressing backspace in an empty editor clears the placeholder state incorrectly, which is another empty-state input bug.

Thread Summary

Thread has maintainer acknowledgment, which is enough to treat this as part of the real Android empty-state cluster.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it in the mobile empty-state cluster, not as a one-off placeholder bug.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5096

Issue Summary

Safari spellcheck behaves badly with Cyrillic text inside Slate after a few words, which points at external spellcheck and browser text-system interaction.

Thread Summary

There is no thread yet, so the browser-vs-Slate boundary is still somewhat fuzzy.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open, but do not overclaim ownership until reproduction narrows the browser boundary more.

v2 Relevance

Indirect.

Red-Test Extraction Note

Blocked on a tighter repro.


Issue #5095

Issue Summary

The same spellcheck failure shows up on iOS Safari with Cyrillic text, which strengthens the cross-browser Apple text-system angle.

Thread Summary

No extra thread yet, but it clearly reinforces the Safari spellcheck cluster instead of standing alone.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Treat it as recurrence signal for the Safari/Cyrillic text-system issue.

v2 Relevance

Indirect.

Red-Test Extraction Note

Blocked on a tighter repro.


Issue #5089

Issue Summary

Inserting a fragment that spans multiple blocks flattens or merges content incorrectly instead of preserving the block structure.

Thread Summary

No follow-up was needed; the repro shape is already clear from the issue.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it as a clean current transform bug with a direct public test seam.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5088

Issue Summary

scrollSelectionIntoView no longer fully suppresses scrolling after an update, so the customization seam is weaker than it claims to be.

Thread Summary

The follow-up confirms it is still broken, which is enough to keep it in the active runtime pile.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Treat it as a contract regression in the selection bridge, not as app-specific sticky-toolbar noise.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready now.


Issue #5087

Issue Summary

Selecting an inline void exposes the spacer span visually, which means the selection/rendering hack leaks into user-facing UI.

Thread Summary

The update about visibility: hidden not being safe is useful and keeps this grounded in the real seam instead of a CSS band-aid.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open as selection rendering debt.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready now.


Issue #5085

Issue Summary

Replacing an expanded selection by typing can crash because the path lookup goes null in the replace path.

Thread Summary

No thread yet, but the error shape is concrete enough to test directly.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it as a real replacement-path bug until proven otherwise.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5083

Issue Summary

Expanding a selection and then composing Chinese text breaks the DOM/model relationship and can throw outright.

Thread Summary

The issue is clean enough on its own; no extra thread was needed to show this is real IME-selection breakage.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it in the mobile/selection cluster, not as generic CJK noise.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5081

Issue Summary

Deleting an empty paragraph next to an empty list item normalizes the previous list item into a paragraph unexpectedly.

Thread Summary

The comment is a partial debugging note, but the behavioral seam is already sharp.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open as a clean normalization regression.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5080

Issue Summary

Editor.nodes(..., { reverse: true }) does not fully reverse traversal order when nested matches are involved.

Thread Summary

The follow-up confirms others hit the same semantic mismatch in real code.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it as a public API correctness issue, not a docs nit.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.


Issue #5078

  • url: https://github.com/ianstormtaylor/slate/issues/5078
  • title: [Android] The onChange event is not triggered on when the letters are entered, and the current children and selection are not available.
  • author: YasinChan
  • labels: bug, ⚑ cross platform
  • comments read: 2

Issue Summary

Android does not surface text insert/remove operations through onChange during composition, leaving children and selection stale in user code.

Thread Summary

The workaround in the thread is exactly the kind of bad app-layer patch that proves the runtime seam is real.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it in the Android onChange cluster and do not let the workaround excuse the bug.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.


Issue #5075

Issue Summary

The example typing pattern indexes a Node with a string key and TypeScript hates it; this is mostly example typing friction.

Thread Summary

The follow-up workaround is a type escape hatch, not a real resolution.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Treat it as example typing debt, not as deep core breakage.

v2 Relevance

Indirect.

Red-Test Extraction Note

Not a direct test candidate.


Issue #5074

Issue Summary

The example Portal component can desync React tree assumptions from the DOM tree, which makes the official example itself a bad pattern.

Thread Summary

No thread yet, but the issue already names the bad code path precisely.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Fix the example. Do not let official examples teach runtime footguns.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready now.


Issue #5068

Issue Summary

Keyboard selection across line boundaries behaves oddly, but the first comment says many editors share the same limitation, so ownership is fuzzy.

Thread Summary

The comment muddies ownership enough that this should not be treated as a clean Slate bug without a tighter repro.

Repro Status

Weak.

Workaround Status

Acceptable.

Validity Assessment

Unclear.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

ask-for-scope-clarification

Future Reply Direction

Ask for a sharper comparison against browser/native behavior before promoting it.

v2 Relevance

Indirect.

Red-Test Extraction Note

Blocked on a tighter repro.


Issue #5067

Issue Summary

This is an export request for PDF and DOCX, which is an ecosystem adapter problem more than a Slate core gap.

Thread Summary

No thread yet. The ask is clear, but it is still an ecosystem integration story.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in the right cluster and do not let it drift into unrelated themes.

Maintainer Action Suggestion

share-status

Future Reply Direction

Point at serialization/adapter ownership rather than bloating Slate core.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.


Issue #5066

Issue Summary

Editing text before an inline element with Sogou IME can crash, which matches the existing inline-boundary IME failure family.

Thread Summary

The thread already points at #5762, which is good enough duplicate evidence.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Treat this as a duplicate of #5762.

Maintainer Action Suggestion

mark-duplicate

Future Reply Direction

Point at the stronger duplicate and consolidate the cluster instead of carrying parallel copies.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.