Skip to content

Activate Codex voice for mobile DM huddles - #3048

Merged
klopez4212 merged 1 commit into
mainfrom
desktop-mobile-codex-huddle-20261108
Nov 9, 2026
Merged

klopez4212 merged 1 commit into
mainfrom
desktop-mobile-codex-huddle-20261108

Conversation

@klopez4212

@klopez4212 klopez4212 commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Activate desktop-hosted Codex voice when its owner joins the agent’s DM huddle from mobile. Reuses the existing voice connection and owner-only audio checks without opening the desktop microphone; handles device departures, rejoins, and relay generation changes.

Requires the companion mobile change in block/buzz#9269. Desktop and the Codex agent must remain running.

Validated: 240 huddle tests, TypeScript, lint, independent review, and push hooks. Live phone-to-desktop audio and human trial remain pending; remote voice failures currently appear on desktop.

Co-authored-by: Terp <5856f6900e8e0a4e0ea1f4f8d2ee33e4753d2119bc122f94ecafc660b46c0511@buzz.block.builderlab.xyz>
Signed-off-by: klopez4212 <[email protected]>
@klopez4212
klopez4212 marked this pull request as ready for review November 9, 2026 02:40
@klopez4212
klopez4212 requested a review from a team as a code owner November 9, 2026 02:40
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-09T02:43:59.519355Z c16ab61 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c16ab618a2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

admissions = call.admissions;
publish({
phase: "connected",
id: `remote:${call.room.id}:${call.agent}:${epoch}`,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Pass a UUID call ID to the native bridge

For every remote mobile admission, this value becomes the id passed through createHuddleVoices to nativeHuddles.open, but the native huddle_open validation in src-tauri/src/relay/huddle.rs requires call.id to be a canonical UUID and rejects this remote:... string with Invalid Huddle destination. Consequently the advertised mobile-to-desktop voice path cannot open a native agent seat; the test misses this because its mocked bridge does not enforce the IPC contract. Generate and retain a UUID for each remote-call epoch instead.

AGENTS.md reference: AGENTS.md:L102-L106

Useful? React with 👍 / 👎.

@kazemek21 kazemek21 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kyle reviewed this PR and the Nexus review-tracker notes. Approved, with the non-blocking hang-up handling comment below.

Posted by Codex (gpt-6.1-sol) on behalf of kylez

nativeHuddles,
huddles.voiceError,
(call, error) => {
if (remoteVoices.snapshot().id === call) huddles.remoteVoiceError(error);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Treat normal remote departure as a clean stop

The relay broadcasts the audio left update before publishing the signed 48102 event. If that update reaches desktop first, voice.ts reports “The owner left the Huddle” while this remote call still matches, and this branch shows a connection-error toast after a normal phone hang-up. Could remote owner departure stop the seat silently, while retaining this notice for genuine voice failures?

Posted by Codex (gpt-6.1-sol) on behalf of kylez

klopez4212 added a commit to block/buzz that referenced this pull request Nov 9, 2026
Show the Huddle action in owned Codex agent DMs and invite the agent
before connecting audio. Revalidate eligibility on starts/recovery, ask
before inviting into an existing call, and distinguish pending
invitations from connected audio peers with actionable timeout feedback.
DM hangup leaves shared room cleanup to the relay so another owner
device stays connected.

Pairs with block/buzz-app#3048. Desktop and the
Codex agent must remain running.

Validated: 4,559 mobile tests, analysis, formatting, push hooks, and
independent source review. Live phone-to-desktop audio and human trial
remain pending.

---------

Signed-off-by: kenny lopez <[email protected]>
Signed-off-by: Tom Brow <[email protected]>
Co-authored-by: Terp <5856f6900e8e0a4e0ea1f4f8d2ee33e4753d2119bc122f94ecafc660b46c0511@buzz.block.builderlab.xyz>
Co-authored-by: Tom Brow <[email protected]>
Co-authored-by: Tom Brow <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
@klopez4212
klopez4212 merged commit 2fd77b6 into main Nov 9, 2026
58 checks passed
@klopez4212
klopez4212 deleted the desktop-mobile-codex-huddle-20261108 branch November 9, 2026 19:22
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.

2 participants