Skip to content

macOS audio capture sessions fail reconciliation after recording, causing missing conversations #9083

Description

@Git-on-my-level

Summary

The daily report shows a persistent class of macOS audio/session finalization failures: Phone Mic Recording Error with messages like Session N could not be reconciled after 5 attempts and session_reconciliation_failed.

The headline mic-error count improved, but this failure mode maps directly to the user-visible bug: audio was captured or live transcript existed, but no conversation was created/finalized.

Evidence

Source: Omi Improvements Daily Report — 2026-07-05, posthog_error_breakdown.

Current-day headline:

  • Phone Mic Recording Error: 30 events / 11 users today vs 1,595 events / 339 users 7d ago (improved overall)

But the 7d breakdown still contains many reconciliation failures, especially on 0.11.507:

  • Session 1 could not be reconciled after 5 attempts: 56 events / 54 users
  • Session 6 could not be reconciled after 5 attempts: 51 events / 51 users
  • Session 13 could not be reconciled after 5 attempts: 51 events / 51 users
  • Many additional Session N could not be reconciled after 5 attempts rows affect ~35–50 users each.

Latest-build style row:

app version/build event error_or_message events users first seen last seen
0.12.0 / 12000 Phone Mic Recording Error session_reconciliation_failed 146 39 2026-07-03T07:49:24Z 2026-07-05T12:43:09Z

Why this is not covered by an existing issue

Adjacent but not exact:

Neither specifically tracks the current macOS session-reconciliation failure signature and latest-build telemetry.

Suggested investigation

  1. Split reconciliation failures by capture path: PTT, floating bar, phone mic, Rewind/local transcript, backend-created conversation, local-only segments.
  2. For each failed session, log which reconciliation inputs exist: local audio file, transcript segments, backend conversation id, upload id, Firestore row, retry state.
  3. Add a fallback finalization path from local segments/audio when backend reconciliation fails after retries.
  4. Add user-visible recovery/retry rather than only emitting Phone Mic Recording Error.

Acceptance criteria

  • session_reconciliation_failed includes enough structured fields to diagnose the missing input.
  • Failed sessions can be retried or finalized from available local data.
  • Users no longer lose recorded audio/transcript without a conversation or recovery affordance.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions