Files
mward4 32381a6d00 v0.1.2: support the DSH 0.1.7-alpha.2 turn-status label
DSH 0.1.7-alpha.2 removed the visible [role="status"] turn status. The
running label now lives inside a <button data-turn-process> and reads
"Deep diving for 12s" (en) / "深度求索中,用时12s" (zh), rewritten every
second with the live duration. The only remaining [role="status"] is a
visually hidden screen-reader announcement, which the plugin previously
rewrote by mistake while the visible label went untouched.

- Locate the label via [data-turn-process], falling back to the legacy
  [role="status"] text node on DSH <= 0.1.5.
- Match running labels by locale-aware prefix so duration rewording and
  future locales keep working.
- Release the claim when the label stops meaning "a turn is running", so
  the final "Worked for 12s" is never clobbered.
- Restore the label synchronously from the MutationObserver fast path:
  observer callbacks run before paint, so React's per-second duration
  rewrite no longer flashes the stock text through.
- Never touch the visually hidden announcement; screen readers still get
  the real status.
- Wrap the effect in try/catch so an unexpected error disables the plugin
  instead of breaking the chat view.
- 29 new phrases (125 total).
- Test suite expanded to twelve checks covering both DOM layouts,
  turn-end release, and phrase-list integrity.
2026-09-23 19:15:50 -04:00
..