Back to Plate

4160 4074

docs/slate-issues/open-issues-dossiers/4160-4074.md

53.0.621.7 KB
Original Source

Issue #4160

Issue Summary

hasRange lived in ReactEditor even though the logic was core/editor logic, which is exactly the kind of small framework-coupling drift worth cleaning up.

Thread Summary

Tiny issue, but a good decoupling signal.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it as package-boundary hygiene.

Maintainer Action Suggestion

share-status

Future Reply Direction

Reply with package-boundary scope.

v2 Relevance

Indirect.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4146

Issue Summary

This is just the mentions example being modified in a way that changes its semantics; the reporter switched insertNodes to wrapNodes and got different behavior.

Thread Summary

No deeper thread. This is consumer misuse, not core debt.

Repro Status

Strong enough.

Workaround Status

Strong.

Validity Assessment

Invalid.

Duplicate / Invalid / Stale Assessment

Do not treat this as architecture pressure.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Explain the misuse and close it.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4145

Issue Summary

This is a support question about inserting a divider node, not a clear Slate bug.

Thread Summary

No thread, no reduced repro, no real signal beyond “docs/examples could be clearer.”

Repro Status

Not enough.

Workaround Status

Poor.

Validity Assessment

Invalid.

Duplicate / Invalid / Stale Assessment

Do not let support questions distort the architecture map.

Maintainer Action Suggestion

close-invalid

Future Reply Direction

Reply with docs/examples guidance or close it.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4141

Issue Summary

Editing deeply nested blocks still causes parent rerenders all the way to the root, which is the same broad invalidation problem seen elsewhere but with depth involved.

Thread Summary

The comments are useful because they separate unavoidable React behavior from Slate-specific memoization and children-array churn.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Benchmark-worthy, but it overlaps heavily with #4210.

Maintainer Action Suggestion

share-status

Future Reply Direction

Keep it tied to rerender-breadth work instead of treating it as an independent architecture theme.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4140

Issue Summary

This is just a vague input-method bug report against an out-of-date example state.

Thread Summary

The only comment says it was already fixed and the online example was stale.

Repro Status

Weak.

Workaround Status

Strong.

Validity Assessment

Stale candidate.

Duplicate / Invalid / Stale Assessment

Do not let this inflate current IME severity beyond the real issues.

Maintainer Action Suggestion

close-stale

Future Reply Direction

Reply with the fixed scope and close it.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4139

Issue Summary

Indenting with wrapNodes from the top level can throw the caret up to the previous block.

Thread Summary

The report is crisp and versioned. This is a good direct selection-transform seam.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it with indent/wrap selection bugs.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and scoped to wrap/indent caret behavior.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.

Issue #4136

Issue Summary

Entering multibyte characters can crash after clearing the editor or near inline boundaries, which makes placeholder/composition reconciliation look brittle.

Thread Summary

The follow-ups matter because they narrow it to placeholder and inline-adjacent composition cases.

Repro Status

Strong enough with minor setup.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it with placeholder/composition bugs.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and scoped to multibyte composition.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.

Issue #4131

Issue Summary

Deleting leaf content at the start of a block can jump the caret to the previous block instead of keeping it local.

Thread Summary

There is even a workaround plugin in the thread, which is usually a good sign the seam is real and painful.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in delete/caret positioning.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and scoped to start-of-block delete behavior.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.

Issue #4122

Issue Summary

The richtext example can emit or accept nested list structures that are not truly modeled as a supported list feature.

Thread Summary

The comments make the scope clear: Slate core is not shipping a list API here; the example just leaks a half-supported structure.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Unclear.

Duplicate / Invalid / Stale Assessment

Keep it as example-scope debt.

Maintainer Action Suggestion

share-status

Future Reply Direction

Reply with example scope, not core guarantee.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4121

Issue Summary

Under a specific cross-mark selection shape, pressing Delete can erase text before the actual selection range.

Thread Summary

The workaround attempts in the thread are useful mainly because they show the bug is serious and not trivial to patch locally.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in selection-overreach, not generic delete bugs.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and scoped to range-delete correctness.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready now.

Issue #4112

Issue Summary

A debug tool was proposed, open-sourced externally, and explicitly agreed to live outside core first.

Thread Summary

The thread already resolves the next step. This should not stay open pretending to be undecided.

Repro Status

Strong enough.

Workaround Status

Strong.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Resolved in thread; do not treat it as open architecture pressure.

Maintainer Action Suggestion

close-stale

Future Reply Direction

No reply needed beyond closure.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4111

Issue Summary

IE11 support was much shakier than the docs implied, with selection, DOM APIs, Immer ES5 mode, and scroll behaviors all breaking down.

Thread Summary

The comment archaeology is useful, but the end state is clear: docs were updated and IE11 is not a good active design target.

Repro Status

Strong enough with minor setup.

Workaround Status

Acceptable.

Validity Assessment

Stale candidate.

Duplicate / Invalid / Stale Assessment

Keep it as browser-support/docs debt, not current engine direction.

Maintainer Action Suggestion

close-stale

Future Reply Direction

Share the current support stance if needed.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4110

Issue Summary

Embeds and inputs inside the editor can show Firefox caret placement in the wrong physical locations.

Thread Summary

The only comment points at known Firefox selection weirdness, which suggests this is a real browser bridge seam not a random consumer bug.

Repro Status

Strong enough with minor setup.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it with browser selection drift.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and scoped to Firefox embed selection.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready with minor setup.

Issue #4104

Issue Summary

Selecting an inline void by itself can break copy/cut behavior, especially once it is rendered with contentEditable={false} and has no text fallback.

Thread Summary

The replies muddy block versus inline void, but they do not actually invalidate the inline-void-only case.

Repro Status

Strong enough with minor setup.

Workaround Status

Acceptable.

Validity Assessment

Likely valid.

Duplicate / Invalid / Stale Assessment

Keep it with inline-void clipboard handling.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Reply with the current inline-void scope rather than dismiss it as generic image copying.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready with minor setup.

Issue #4095

Issue Summary

The rich-text example uses narrowings that confuse TypeScript readers because the helper code is written loosely and the node type is broader than the example implies.

Thread Summary

No thread, but the report is fair: example typing and runtime narrowing were easy to misread.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in docs/example typing.

Maintainer Action Suggestion

share-status

Future Reply Direction

Reply with example typing guidance.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4094

Issue Summary

Replacing editor content from outside can crash if the old selection points beyond the new shorter text.

Thread Summary

The thread is useful because it shows what people actually do today: blur or deselect first, or manually remap selection. That is runtime-contract debt.

Repro Status

Strong enough with minor setup.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in controlled/external update issues.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and scoped to external-value updates.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.

Issue #4093

Issue Summary

People interacting with Slate from browser console or userscripts do not have a clear documented path for setting editor value safely.

Thread Summary

No thread, so this is mostly docs and framework-decoupling pressure.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in docs/interop, not core bugs.

Maintainer Action Suggestion

share-status

Future Reply Direction

Reply with the current supported interop surface.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4089

Issue Summary

The post-0.50 plugin surface felt too fragmented because consumers had to wire multiple moving parts by hand.

Thread Summary

There is no thread, but the request is a clean signal that the plugin seam got more powerful and less ergonomic at the same time.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Treat it as plugin API pressure, not a fixable bug.

Maintainer Action Suggestion

v2-roadmap

Future Reply Direction

Reply in terms of plugin-surface direction.

v2 Relevance

Direct.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4088

Issue Summary

Copying the mentions example range logic into an app can blow up with DOM-point resolution errors.

Thread Summary

The linked duplicate hint is useful: this is likely a known example/runtime seam, not an isolated new failure mode.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it with mentions range logic and link it to #4000.

Maintainer Action Suggestion

share-status

Future Reply Direction

Reply with current example scope and related issue context.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready now.

Issue #4085

Issue Summary

Safari Mac autocorrect stops working while Editable carries Slate’s normal data-slate-editor marker.

Thread Summary

Short thread, real seam. This is browser-input interop debt.

Repro Status

Strong enough with minor setup.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in browser input/autocorrect.

Maintainer Action Suggestion

keep-open

Future Reply Direction

Keep it open and scoped to Safari autocorrect.

v2 Relevance

Direct.

Red-Test Extraction Note

Ready with minor setup.

Issue #4084

Issue Summary

The richtext example had obvious paper cuts around placeholder visibility and deleting the final block.

Thread Summary

No thread. Good example debt, weak architecture signal.

Repro Status

Strong enough.

Workaround Status

Poor.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in example quality, not core design.

Maintainer Action Suggestion

share-status

Future Reply Direction

Reply with example scope or fold it into example maintenance.

v2 Relevance

None.

Red-Test Extraction Note

Ready now.

Issue #4083

Issue Summary

Users wanted an obvious plugin ecosystem path after 0.50 instead of scavenging examples and scattered community packages.

Thread Summary

The replies already point at the real state of the world: community packages existed, discoverability was just weak.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it in ecosystem/discoverability, not core runtime.

Maintainer Action Suggestion

share-status

Future Reply Direction

Reply with current ecosystem status or linking strategy.

v2 Relevance

Indirect.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4081

Issue Summary

Live reload in CRA can recreate editor state in a way that leaves Slate’s weak-map-backed DOM/editor associations broken.

Thread Summary

The thread is the useful part here: it documents the stable-editor-instance rule and the common workarounds.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it with fast-refresh/editor-singleton issues.

Maintainer Action Suggestion

share-status

Future Reply Direction

Reply with the stable-instance rule and current workarounds.

v2 Relevance

Indirect.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4076

Issue Summary

This is just an examples enhancement request for search-highlighting behavior and color choice.

Thread Summary

Ian already green-lit it as an example improvement, which is exactly the right scope.

Repro Status

Strong enough.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Do not mistake example polish for core architecture pressure.

Maintainer Action Suggestion

share-status

Future Reply Direction

Reply with example scope.

v2 Relevance

None.

Red-Test Extraction Note

Not a direct test candidate.

Issue #4074

Issue Summary

Typing inside inline elements in Chrome fails because the browser cannot represent some inline boundary caret positions the way Slate wants.

Thread Summary

The later comments are the key value: this is partly a Chromium bug and partly Slate’s default insertText behavior around inlines.

Repro Status

Strong enough with minor setup.

Workaround Status

Acceptable.

Validity Assessment

Valid.

Duplicate / Invalid / Stale Assessment

Keep it with inline-boundary browser-selection issues.

Maintainer Action Suggestion

share-status

Future Reply Direction

Reply with the browser limitation and workaround context.

v2 Relevance

Indirect.

Red-Test Extraction Note

Ready with minor setup.