Repository navigation
Reduce dictation device startup and post-release overhead - #80
DevelopedByDev wants to merge 3 commits into
Conversation
|
QA handoff Tested head: Microphone discovery is cached without acquiring an idle microphone. Capture no longer waits for enumeration, retains the last known choice during pending discovery, rejects stale scan results, and discards a failed cached device. An admitted private dictation take avoids a redundant session request on release. HTTP 401 forces one session refresh and one replay with the same operation key; cancellation aborts refresh and prevents replay. Public bridge calls still authenticate independently. Validation:
Companion: LayerNorm/overlay-web#368. It pins No hosted Preview was requested: no web UI/API, backend, provider, billing or environment behavior changed. These tests use an isolated local HTTP fixture in actual Electron. No new physical-device latency benchmark or real-provider latency distribution was measured. Cold hardware opening remains; streaming recognition is a proposed next phase, not implemented here. Microphone remains off until invoked. No installer published. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Automatic microphone discovery now runs at launch and on device changes. A shortcut opens the cached built-in microphone immediately, or the system default while the initial scan is pending. A device query can no longer hold capture open; stale scan completions cannot replace newer choices. Discovery does not acquire a microphone, and existing device fallback remains.
An admitted HUD take now reuses that take's native session admission when sending audio after release. Previously, recordings exceeding the five-second session cache could add another native session HTTP request before upload. Standalone bridge uploads still admit independently, explicit retries re-admit, and the web endpoint still enforces current authentication, workspace access, plan limits and billing.
An expired-session 401 triggers one forced session refresh and upload replay with the same idempotency key. Cancellation aborts that refresh. A failed cached device is discarded so unavailable device discovery cannot keep retrying a removed input.
Validation: nine focused capture/lifecycle tests, native TypeScript checking and targeted lint passed locally. Full tests, real Electron interaction checks and packaging run in CI. Electron coverage includes pending device enumeration, delayed flush cancellation, a take longer than the admission cache, retry admission, expired-session replay and its cancellation, provider cancellation and denied uploads. Heavy checks stay in CI.
This removes overhead from the existing batch path. It does not implement incremental speech recognition or claim zero-latency first device opening. No provider, billing policy or binary publication setting changes.