Skip to content

feat(voice-to-text): screen wake lock + persist recording across reloads - #84

Merged
slaveofcode merged 1 commit into
developfrom
feat/voice-wakelock-persist
Aug 1, 2026
Merged

feat(voice-to-text): screen wake lock + persist recording across reloads#84
slaveofcode merged 1 commit into
developfrom
feat/voice-wakelock-persist

Conversation

@slaveofcode

Copy link
Copy Markdown
Owner

Reported: while the model downloads, the phone locks, the browser discards the tab, and the recording is gone on return (a general mobile SPA state-loss pattern).

  • Wake Lock during transcription/download (useWakeLock) so the phone doesn't auto-lock and discard the tab; re-acquired on foreground.
  • Persist the recording in IndexedDB (recording-store) and restore it on load — so even if the tab IS discarded, the recording comes back ('Restored your last recording.').

545 tests · lint clean · build green. Mobile behaviors are build + manual smoke.

🤖 Generated with Claude Code

…oads

Reported: while the model downloads, the phone screen locks, the browser discards
the backgrounded tab, and on return the recording is gone (a general mobile SPA
state-loss pattern).

- useWakeLock: hold a screen Wake Lock during transcription/download so the phone
  doesn't auto-lock (re-acquired on返回 to foreground). Prevents the discard.
- recording-store (IndexedDB): persist the last recording and restore it on load,
  so even if the tab IS discarded, the recording comes back ('Restored your last
  recording.'). Blobs can't live in localStorage, hence IndexedDB.

545 tests · lint clean · build green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@slaveofcode
slaveofcode merged commit d9baf9c into develop Aug 1, 2026
1 of 2 checks passed
@slaveofcode
slaveofcode deleted the feat/voice-wakelock-persist branch August 1, 2026 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant