fix(voice-call): persist complete Google Live transcripts#84161
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 1, 2026, 6:15 AM ET / 10:15 UTC. Summary PR surface: Source +67, Tests +331, Docs +1. Total +399 across 17 files. Reproducibility: yes. Source inspection on current main and v2026.6.11 shows final assistant realtime text is emitted as Review metrics: 1 noteworthy metric.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Land a rebased, focused voice-call transcript fix that persists exactly one assistant turn, preserves current timer and BOOT.md safeguards, and splits or redesigns the boot-session memory work with separate security and upgrade proof. Do we have a high-confidence way to reproduce the issue? Yes. Source inspection on current main and v2026.6.11 shows final assistant realtime text is emitted as Is this the best way to solve the issue? No. Persisting assistant text is the right direction, but this branch records too broad an event source, creates duplicate final paths, and mixes in boot/session-state changes that need a separate or corrected design. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 129f1bcf28e8. Label changesLabel justifications:
Evidence reviewedPR surface: Source +67, Tests +331, Docs +1. Total +399 across 17 files. View PR surface stats
Security concerns:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
ClawSweeper PR egg 🎁 Pass real behavior proof to wake the egg and unlock a hatchable treat. Where did the egg go?
|
Co-authored-by: Happy Dog Support Bot <[email protected]>
578b502 to
e3acf5f
Compare
|
Maintainer rebuild complete at What changed:
Proof on rebased head:
Known gap: no fresh carrier call on the rebuilt head. Original contributor carrier proof is retained in the PR body; the rebuild adds live Google protocol proof plus focused close/reconnect integration coverage. Thanks @happydog-bot for the report, live carrier proof, and original fix. |
|
Merged via squash.
|
Co-authored-by: Peter Steinberger <[email protected]> Co-authored-by: Happy Dog Support Bot <[email protected]>
Co-authored-by: Peter Steinberger <[email protected]> Co-authored-by: Happy Dog Support Bot <[email protected]>
What Problem This Solves
Completed Google Live voice calls could persist user speech while losing the assistant side of the conversation. The original patch routed assistant text through
call.speaking, but that event is also used for classic telephony state transitions and cannot safely double as a transcript payload.Why This Change Was Made
This rebuild keeps the fix at the owning boundaries:
finishedmarker or permanent bridge close.call.assistant-speechevent while leaving classiccall.speakingbehavior unchanged.The rebuilt commit preserves the original contributor as co-author.
User Impact
Google Live voice-call histories now retain complete user and assistant transcript entries. Transient reconnects no longer turn incomplete speech into an agent request, and the change does not alter classic telephony speaking semantics or add configuration.
Evidence
pnpm check:changedpassed after rebasing onto currentmain, including extension typechecks, lint, storage guards, and import-cycle checks.generationCompleteandturnCompletewithout a transcriptionfinishedmarker; permanent-close flushing covers that observed API behavior.Known gap: no fresh carrier call was placed for this rebuild; the live Google API trace plus close-order integration coverage exercise the changed contract.