Back to Plate

Slate v2 Test Candidate Map: 5912-5771

docs/slate-issues/test-candidate-map/5912-5771.md

53.0.67.6 KB
Original Source

Slate v2 Test Candidate Map: 5912-5771

Scope

These TDD handoff notes cover issues #5912 through #5771 from the pilot set. Use the top-level index for range navigation and the dossiers for fuller thread context.


Issue #5912

  • package: cross-package
  • TDD readiness: not-a-test-candidate
  • public test seam: WeChat Browser composition

Why Not A Direct Test Candidate

This is currently a browser-support boundary question, not a clean Slate-owned regression.


Issue #5895

  • package: ecosystem
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

The thread treats this as consumer/plugin behavior rather than a promised Slate default.


Issue #5894

  • package: ecosystem
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

The thread already lands on plugin/presentation solutions and does not point to a live core regression.


Issue #5891

  • package: slate-dom and slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: Android first-line autocorrect

Minimal Repro Setup

  • empty editor with placeholder state
  • Android autocorrect-capable harness
  • first word that should autocorrect on space

Expected Failing Assertion

  • first-line autocorrect should apply when moving from empty editor state into content

Issue #5883

  • package: slate-dom and slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: Android IME composition in empty leaves

Minimal Repro Setup

  • empty text node or mark-created empty leaf
  • Android IME composition path

Expected Failing Assertion

  • composition should remain active across the second character in an empty leaf

Issue #5874

  • package: slate and slate-dom
  • TDD readiness: ready-now
  • public test seam: duplicate node insertion by object identity

Minimal Repro Setup

  • one node object inserted into the document twice
  • follow-up edit or focus on the first copy

Expected Failing Assertion

  • Slate should fail with an intentional guardrail or otherwise avoid DOM/tree desync

Issue #5867

  • package: slate-dom and slate-react
  • TDD readiness: ready-now
  • public test seam: DOMEditor.focus with selected inline void

Minimal Repro Setup

  • mention or inline void selected
  • explicit DOMEditor.focus(editor) call

Expected Failing Assertion

  • focus should preserve the current logical selection instead of jumping to the start

Issue #5847

  • package: slate and slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: triple-click hanging range delete

Minimal Repro Setup

  • Chrome or Safari
  • triple-click selection over a block

Expected Failing Assertion

  • backspace or cut should remove the entire block where that browser normally creates a hanging range

Issue #5844

  • package: docs-only
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

This is mentions example UX, not core editor behavior.


Issue #5839

  • package: slate-dom and slate-react
  • TDD readiness: blocked-on-repro
  • public test seam: Safari last-block cursor alignment

Current Blocker

The issue is too thin. We need better steps than a video before writing a serious test.


Issue #5838

  • package: ecosystem
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

This is an announcement, not an issue.


Issue #5836

  • package: slate-dom and slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: Android repeated insert/remove same char

Minimal Repro Setup

  • Android editor
  • repeated insert_text/remove_text of the same character

Expected Failing Assertion

  • selection should not drift left under repeated same-character churn

Issue #5833

  • package: docs-only
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

The thread resolves it as consumer rendering logic.


Issue #5830

  • package: slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: composition onBlur on empty editor

Minimal Repro Setup

  • empty editor
  • composition-capable non-Latin input
  • move focus away mid-composition

Expected Failing Assertion

  • onBlur should still fire when focus is lost during composition

Issue #5826

  • package: slate-react
  • TDD readiness: ready-now
  • public test seam: refocus auto-scroll on long document

Minimal Repro Setup

  • long document
  • previous selection near the top
  • blur, scroll, click a new position, refocus

Expected Failing Assertion

  • refocus should not snap-scroll back toward the old selection

Issue #5824

  • package: ecosystem
  • TDD readiness: not-a-test-candidate
  • public test seam: iOS Notes rich paste

Why Not A Direct Test Candidate

This is parser capability scope, not a crisp Slate regression.


Issue #5820

  • package: docs-only
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

The thread points at outdated or unsupported value-swapping patterns, not a live core bug.


Issue #5813

  • package: slate-react
  • TDD readiness: not-a-test-candidate
  • public test seam: paused rendering and decorators

Why Not A Direct Test Candidate

Debugger pause behavior is too underspecified and likely entangled with React/debugger semantics.


Issue #5811

  • package: slate
  • TDD readiness: ready-now
  • public test seam: custom normalize wrap/unwrap loop

Minimal Repro Setup

  • custom normalization that wraps in one direction
  • built-in normalization that unwraps the same shape

Expected Failing Assertion

  • normalization should not spin until the iteration guard trips

Issue #5806

  • package: slate-dom and slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: drag selection over custom inline element

Minimal Repro Setup

  • custom inline element such as a button
  • drag-selection over it in the browser

Expected Failing Assertion

  • selection state should reflect the inline element instead of returning empty/null

Issue #5805

  • package: slate-dom and slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: iPhone Safari Chinese IME in comments

Minimal Repro Setup

  • iPhone Safari or equivalent harness
  • Chinese IME composition in a comments-style editable

Expected Failing Assertion

  • direct IME input should work without the delete-composition workaround hack

Issue #5798

  • package: slate-react
  • TDD readiness: blocked-on-repro
  • public test seam: first-focus fast symbol insertion

Current Blocker

The issue body is too vague to turn into a trustworthy test.


Issue #5786

  • package: repo-only
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

This is repo tooling debt.


Issue #5774

  • package: slate-react
  • TDD readiness: blocked-on-repro
  • public test seam: Vite HMR re-edit lockup

Current Blocker

It needs a cleaner minimal repro and current-version check before it becomes test work.


Issue #5771

  • package: slate and slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: high-QPS remote insert_text versus local selection

Minimal Repro Setup

  • collaborative edit simulation
  • repeated remote insert_text at high rate
  • local selection attempt inside the same block

Expected Failing Assertion

  • remote edits should not steal or indefinitely expand the local selection unexpectedly