docs/plans/2026-05-23-slate-v2-android-mark-toggle-no-appium-proof.md
Process cluster 9 as far as we honestly can without adding Appium.
#6022 [Android] Soft keyboard dismisses and cursor jumps when typing after toggling a mark on a collapsed selection#6027.tmp/slate-v2/packages/slate-react/src/hooks/android-input-manager/android-input-manager.ts#6027 identifies the same owner: Android scheduled a follow-up selection from the pre-insert text point after marked insertion changed the leaf structure.Without real Android IME/device artifacts, this lane must not claim Fixes #6022.
Allowed proof now:
Not allowed proof now:
android-input-manager.ts only if that contract proves red in current Slate v2.slate-react verification.supporting proof improved, not fixed, unless raw device proof exists later.[0,0]@2 after marked insertion.at point but no longer runs a second raw selection write..tmp/slate-v2/packages/slate-react/src/hooks/android-input-manager/android-input-manager.ts.tmp/slate-v2/packages/slate-react/test/android-input-manager-contract.test.tsdocs/slate-issues/gitcrawl-v2-sync-ledger.mddocs/slate-v2/ledgers/fork-issue-dossier.mddocs/slate-v2/ledgers/issue-coverage-matrix.mddocs/solutions/ui-bugs/2026-05-23-slate-react-android-marked-inserts-must-not-replay-raw-old-leaf-selection.md.tmp/slate-v2/packages/slate-react: bun test:vitest test/android-input-manager-contract.test.ts
failed because selection was [0,0]@2 instead of [0,1]@1..tmp/slate-v2/packages/slate-react: bun test:vitest test/android-input-manager-contract.test.ts
passed with 7 tests..tmp/slate-v2: bun --filter slate-react typecheck passed..tmp/slate-v2: bun lint:fix passed..tmp/slate-v2: bun test:mobile-device-proof passed and confirmed semantic/proxy rows cannot satisfy raw Android/iOS claims.plate-2: node tooling/scripts/completion-check.mjs passed.Do not close or auto-claim #6022 until a raw Android Chrome/WebView lane proves
keyboard visibility, IME stability, selection, and follow-up typing for the
exact collapsed mark-toggle flow.