Skip to content

Fix playback, deletion, cache reuse, and recording recovery - #1751

Merged
r3dbars merged 1 commit into
mainfrom
codex/email-bug-sweep
Sep 22, 2026
Merged

r3dbars merged 1 commit into
mainfrom
codex/email-bug-sweep

Conversation

@r3dbars

@r3dbars r3dbars commented Sep 21, 2026 •

Copy link
Copy Markdown
Owner

Summary

Six focused repairs to existing behavior, with reproduced regressions and independent review:

  • Preserve quiet/overlapping microphone audio in newly generated playback mixes instead of suppressing it based on relative track energy. Original tracks and existing playback files are unchanged.
  • Serialize meeting deletion planning and Trash/Undo with transcript writers, reject active retranscription reservations, refresh retained-audio ownership, and reject stale renamed rows using fresh filesystem metadata.
  • Show an explicit fallback when support-email handoff fails; retain the feedback draft and change the clipboard only after explicit Copy Address.
  • Run the existing conservative legacy-model-cache migration before startup prefetch lookup/download.
  • Bind delayed wake recovery to the original recording generation and backend, including after native microphone recovery.
  • Classify two actual permission-denial messages correctly without labeling generic unavailable/silent audio as denied.

No language selector, CLI, device picker, playback-regeneration feature, audio-only backend migration, or version/release metadata change is included. The existing audio-only/plus-menu work remains separate.

Verification

  • Fresh dependency build and authoritative development app build: passed.
  • Full QA bench: PASS, 14 passing steps, zero failures, one non-blocking historical local-log warning.
  • Fast runner: 14,090 assertions passed.
  • Core package: 1,087 passed, 13 skipped, zero failures. Skips require optional speaker models/corpus or live hardware.
  • QA package: 67 tests passed. MCP package: 190 tests passed.
  • Model lifecycle production-executor harness: 59 assertions passed with fake model/cache collaborators.
  • Real-Core deletion-reservation smoke: 47 assertions passed; temporary synthetic files and redirected Trash only.
  • Native navigation smoke: 21 checks passed with isolated test profiles after permission preflight.
  • Exact-commit local app: native synthetic meeting rename preserved capture/transcript identity, original date/time and retained audio bytes, with one renamed row visible. All three permission Review buttons opened their expected macOS panes with existing grants unchanged.
  • Real file-only Parakeet v3 inference via the existing CLI and explicit cached models, with downloads disabled: all words in a generated 3.89-second sentence matched after case/punctuation normalization. No capture or playback was used; this is not the app import/capture path or a broad accuracy benchmark.
  • Existing CLI package with the transcription dependency bundle enabled: 80 tests passed, zero failures; no CLI functionality was added.
  • App/Core integration, deterministic artifact E2E, slow pasteback, imported artifacts, round trip, stress, synthetic audio and deterministic release-health fixtures: passed.
  • Diff whitespace, source-list and agent preflight checks: passed.

The first full Core run found a test-oracle path alias (/var versus /private/var) in the new repeated-speaker-review test. Both URL sides now resolve symlinks while preserving the exact single-file assertion; the focused regression and full rerun passed. Identity, original date/time and byte-idempotence assertions remain intact.

The local-log warning predates this candidate. It is a warning/error-line frequency, not a recording failure rate; it was investigated rather than cleared or suppressed.

Independent review

An independent agent reviewed the full production diff against main 5785b52b9a72ea8302c3304ea3ddf68c1b6a6482, including the new support dispatcher: no actionable findings remained. A follow-up independent review covered the final test-oracle correction and real-Core deletion harness: no actionable findings. No findings were silently dismissed. Codex coordinated and reviewed; other model lanes were skipped for this bounded Swift repair/test work.

Remaining proof / release boundary

  • Real known-speech capture/transcription, remote Zoom/Meet audibility, Bluetooth/USB routes and native interruption/recovery remain unverified on this candidate.
  • Native Home deletion removed synthetic captures and offered Undo; native Undo restoration is still unverified because UI automation missed the short window/transient menu state. Detailed speaker/retranscribe flows, restart persistence, native email fallback, real target-app pasteback and installed MCP upgrade need targeted runtime checks.
  • Isolated onboarding/navigation is not first-time TCC permission or fresh-install proof; granted/denied/retry checks remain separate.
  • The new mix does not regenerate existing playback. Native blocking-microphone interleaving is source-reviewed, not exhaustively runtime-proven.
  • Signed/notarized packaging, real Sparkle upgrade, candidate-specific release health and publication parity are not complete. Deterministic health fixtures are not live Sentry health.

This PR is an implemented and locally verified repair batch, not a release approval. No customer communication or distribution surfaces were changed.

@r3dbars
r3dbars merged commit 05fbe9e into main Sep 22, 2026
7 checks passed
@r3dbars
r3dbars deleted the codex/email-bug-sweep branch September 22, 2026 11:59
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