Route the first broken boundary.
Check clean profile, focus, remounts, injected scripts, and stale assets.
Find the first consumed key inside the composition interval.
Compare value length, computed style, wrappers, and the aligned backdrop.
What rc.8 proves—and does not.
Start and end handlers are attached.
Ref, isComposing, and keyCode 229 block submit.
Synthetic composition Enter does not send.
Real OS candidate-window initiation is not covered.
Route translation-extension interference.
Invisible glyphs point to backdrop or computed style—not automatically lost draft state.
A new wrapper or sibling proves injected DOM without proving a React remount.
A disconnected textarea and new node establish remount or subtree replacement.
Compare the exact extension version and site-scoped translation setting.
Exclude the DSH origin from translation, reload, and prove the draft. Do not patch generated JavaScript, installed extension files, or force the intentionally transparent textarea opaque.
Acceptance contract.
The same textarea node must retain focus, selection, wrapping, structured-reference alignment, IME composition, and ordinary Enter behavior. Emptying a draft must not collapse the input area.
- Official IME report #3504
- Translation-extension report #4753
- rc.2 DOM identity and backdrop contract
- rc.8 composer
- rc.8 test
Keep the full diagnostic runbook.
The canonical guide includes an isolation matrix, privacy-safe DevTools capture, site-scoped recovery, and a real-browser regression contract.
Read the complete guide