mirror of
https://github.com/wahyd4/links.git
synced 2026-08-09 05:06:16 +10:00
Fixes: 1. Race condition: after await startRec(), check isSpaceDownRef again — fast-tap released before mic ready was leaving phase stuck at 'listening' 2. Global window mouseup/touchend/touchcancel listeners as fallback so releasing outside the button boundary always triggers handleSpaceUp 3. Show ✕ cancel button during ALL non-idle phases (was only thinking/speaking) 4. handleCancel now stops the recorder if called during listening/acquiring 5. Safety auto-cancel timeout: if stuck in 'listening' > 60s, auto-stop 6. Add stopRec to handleSpaceDown dep array Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>