Skip to content

Fix meeting capture overflow and show recording status in tray - #67

Merged
rteoo merged 3 commits into
mainfrom
codex/fix-meeting-recording-reliability
Oct 5, 2026
Merged

rteoo merged 3 commits into
mainfrom
codex/fix-meeting-recording-reliability

Conversation

@rteoo

@rteoo rteoo commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Small WASAPI packets exhausted the capture event queue during brief consumer or disk stalls, ending meeting recordings with partial audio. Batch contiguous packets and allow bounded backpressure so capture can recover from temporary stalls while preserving append-only storage and visible errors for sustained overload.

The existing non-activating dictation overlay now shows recording time, pause, saving, and partial/interrupted states while the main window is minimized or closed to the tray. Restoring the main window hides it.

Changes also preserve short packet tails at pause/stop and identify native transport overflow in the terminal error. The initial packet establishes the stream clock; later device discontinuities remain visible.

Validation:

  • Windows desktop suite: 1,187 tests, 10 skips; 40 focused tests passed, plus a real Tk minimize/restore and focus-preservation smoke.
  • MSVC helper build and native self-test passed; Ruff 0.16.3 and diff formatting checks passed.
  • A 12-minute microphone/system capture soak with a five-second consumer stall and pause/resume completed without transport overflow or source failure. All 14,369 emitted blocks survived durable readback. Only synthetic silence was persisted, and the temporary fixture was removed.
  • Manual privacy review covered the outgoing files, diff, and commit metadata. No secret scanner was available.

Limits: buffering remains bounded, and prolonged stalls can still stop capture with partial audio preserved. The soak retained 15 native discontinuity warnings, so continued capture does not establish loss-free device audio. Packaged startup, MP3 integration (PyAV unavailable), and physical macOS capture remain unverified. The installed app has not been updated.

rteoo and others added 3 commits October 4, 2026 17:23
Assert preservation of an owned thread-active window and reject foreground activation of the overlay. A snapshot of unrelated desktop focus can change during runner activation and report a false focus-theft failure.
@rteoo
rteoo merged commit 7925de0 into main Oct 5, 2026
5 checks passed
@rteoo
rteoo deleted the codex/fix-meeting-recording-reliability branch October 5, 2026 14:41
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