Conversation
Add the voice restore patches from fix/ov2-voice-restore-20260923 to the V2 manifest and remove voice from the deferred-features list. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Thread transfer impact
This comment will update automatically after the next completed run. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Changed
Puts GPT Live voice back into Fork V2 nightly builds. Voice was pulled from the V2 manifest on 2026-09-22 (#86) so release repairs would not wait on it. The deferred-features doc set the bar for restoring it: replay onto the current V2 stack and pass the affected checks. This PR does that.
.github/downstream-nightly-v2.jsonappends two patches fromfix/ov2-voice-restore-20260923:4c33b55feat(voice): restore GPT Live voice on the current V2 stack. The deferred voice patches (165f817e42f,e7bc50f535d,5286805d436) replayed as one commit. Onlypnpm-lock.yamlconflicted; it was regenerated for thejsdomtest dependency.9a03101fix(voice): close review gaps in the V2 voice restore. Fixes from two review rounds, listed below.docs/operations/ov2-deferred-features.mddrops the two voice entries and records the restore.Why
Voice was deferred to unblock releases, not because it was broken. What was missing was a replay onto the current stack and typechecks passing across the voice stack. Both are done here, and the review found real lifecycle bugs worth fixing before voice ships again.
Fixes from review
closedevent cannot stop a reconnect's new mic.close()waited indefinitely forsession.closed. A stalled upstream left the peer connection open and the UI stuck in "closing". The wait is now bounded at 5s, and local WebRTC closes before broker accounting, so a slow broker cannot hold media open either.uiControls: createDomVoiceControlHost()wiring, solistControlsandclickControlnever worked. The wiring is restored.Known follow-ups (pre-existing in the original fork voice, not introduced here)
delegate()has no production caller, so "start research and report back" launches work but creates no delivery record.Verification
t3code/codex-turn-mappingat060756de5adwith no conflicts. The resulting tree is identical to the tested head9a03101.node --test .github/scripts/downstream-nightly.test.mjs→ 22 passed.vp test run src/voice src/missingThreadRedirects.test.ts src/components/settings/settingsSearch.test.ts→ 412 passed. Each fix has a regression test that fails without it.vp test run src/voice src/environment/ServerEnvironment.test.ts→ 34 passed. Three pre-existing ServerEnvironment tests fail on the base as well when run inside the live T3 desktop session (they inheritT3_SERVICE_LAUNCHER_CONTEXT). With that unset, all pass.vp test run→ 526 passed./api/voiceroute requiresorchestration:operate, settings also requireaccess:write, and the OpenAI key never reaches clients), plus seven correctness findings. Round 2 found two regressions in the round-1 fixes; both are fixed.UI Changes
This PR restores the voice overlay (corner button, expanded panel, minimize) and the Settings → Integrations voice section. Before/after captures have not been made for this revision yet. That gap keeps this PR in draft. On 2026-09-17 an integrated browser pass of the same voice code on the earlier V2 base covered the entry point, settings key status and models, a real broker mint against OpenAI (error mapping), and overlay expand and minimize. That pass is not evidence for this head.
Checklist
Model: Claude Opus 5.5 (replay, fixes, PR) in T3 Code via Claude Code; GPT-6 Astra (review) via Codex; original V2 port by GLM 5.3 Flash via OpenCode.
🤖 Generated with Claude Code