Repository navigation
End desktop Huddles when the creator is the last human - #3328
Merged
Merged
Conversation
Co-authored-by: Terp <5856f6900e8e0a4e0ea1f4f8d2ee33e4753d2119bc122f94ecafc660b46c0511@buzz.block.builderlab.xyz> Signed-off-by: klopez4212 <[email protected]>
klopez4212
marked this pull request as ready for review
November 11, 2026 23:44
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Co-authored-by: Terp <5856f6900e8e0a4e0ea1f4f8d2ee33e4753d2119bc122f94ecafc660b46c0511@buzz.block.builderlab.xyz> Signed-off-by: klopez4212 <[email protected]>
kazemek21
approved these changes
Nov 12, 2026
kazemek21
left a comment
Contributor
There was a problem hiding this comment.
Kyle reviewed the PR and the Nexus review-tracker notes. Approved with no comments.
Posted by Codex (gpt-6.1-sol) on behalf of kylez.
johnmatthewtennant
added a commit
that referenced
this pull request
Nov 12, 2026
Co-authored-by: Simone <0828be588d5c9c4d092c5b1cf01761d5aef63d6b104807fd8e8284d517dd1a99@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <[email protected]> * origin/main: (260 commits) feat(markdown): share one Markdown renderer across messages and documents (#3319) fix(solo): reload workspaces by themselves after a relay pause (#3262) fix(agents): apply prompt and core memory changes at each conversation's next turn (#3170) Bind plugin operations to active native agent calls (#3303) Reopen recently closed threads without the loading mark (#3204) [buzz-app] Restore the last selected thread tab on Back and Forward (#3350) fix(notifications): keep alert sounds out of media controls (#3298) feat(shell): find on screen with Cmd/Ctrl+Shift+F (#2550) Bump block/buzz to pick up messages search --before (#3362) fix(media): save relay images from the native Download Image menu on macOS (#3337) feat(plugins): let plugins lift a message image's subject (#2470) feat(decisions): guide TypeSafe setup and align API key controls (#3365) Fix live sidebar updates after CLI moves (#3213) End desktop Huddles when the creator is the last human (#3328) Skip unchanged artifact row and index writes (#3364) fix(goose): propagate ACP work cancellation to plugin tools (#3351) Keep Solo source selection when opening a channel (#3356) fix(desktop): sign a channel-less deletion of one reaction (#3288) AIDA-2426: Set a default User-Agent for plugins (#2697) fix(plugins): explain Git import refs (#3314) ... Signed-off-by: John Tennant <[email protected]>
johnmatthewtennant
added a commit
that referenced
this pull request
Nov 12, 2026
…o jtennant/martha/activity-step-previews * origin/chung/feat-enriced-activity: (121 commits) feat(markdown): share one Markdown renderer across messages and documents (#3319) fix(solo): reload workspaces by themselves after a relay pause (#3262) fix(agents): apply prompt and core memory changes at each conversation's next turn (#3170) Bind plugin operations to active native agent calls (#3303) Reopen recently closed threads without the loading mark (#3204) [buzz-app] Restore the last selected thread tab on Back and Forward (#3350) fix(notifications): keep alert sounds out of media controls (#3298) feat(shell): find on screen with Cmd/Ctrl+Shift+F (#2550) Bump block/buzz to pick up messages search --before (#3362) fix(media): save relay images from the native Download Image menu on macOS (#3337) feat(plugins): let plugins lift a message image's subject (#2470) feat(decisions): guide TypeSafe setup and align API key controls (#3365) Fix live sidebar updates after CLI moves (#3213) End desktop Huddles when the creator is the last human (#3328) Skip unchanged artifact row and index writes (#3364) fix(goose): propagate ACP work cancellation to plugin tools (#3351) Keep Solo source selection when opening a channel (#3356) fix(desktop): sign a channel-less deletion of one reaction (#3288) AIDA-2426: Set a default User-Agent for plugins (#2697) fix(plugins): explain Git import refs (#3314) ... Signed-off-by: John Tennant <[email protected]> # Conflicts: # src/features/messages/TypingIndicator.test.tsx
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.
When the creator leaves a Huddle with only agents connected to audio, desktop now publishes the ended state and archives the room. This replaces the leave path's unconditional reliance on relay teardown, which could leave the card offering Join. The existing View action and transcript membership are preserved.
The service counts attendance from raw audio admissions, using fresh relay-signed membership to classify bot roles. Departed humans keep transcript membership without counting as present. Connected legacy agents with a member role are recognized from verified kind-30177 records signed by the viewer or room owners, matching the old desktop trust policy. Known additional devices, other connected humans, unknown peers, failed classification reads, failed joins, connection errors, and retired sessions cannot trigger ending. Native signing now validates and permits the existing 48103 event. Concurrent relay archival is confirmed as successful cleanup.
This is the desktop client counterpart to mobile #9375; relay #9376 remains independent. Only the creator or relay may announce an ending. Membership and audio snapshots cannot atomically exclude a device joining during hangup; non-creators and ambiguous rosters retain relay cleanup.
Validation: typecheck and all 63 Huddle service tests pass. Restoring the old ending helper makes the new positive regressions fail. The full Vitest run at this follow-up completed with 21,049 passes and 10 failures across six files outside Huddles; all six files pass isolated reruns with BUZZ_TEST_WORKERS=2 (229 tests). All required pre-push checks pass at 6d201b6 with BUZZ_TEST_WORKERS=4: TypeScript/related tests, design guards, and workspace Clippy. Independent review found no blockers.
The native event-shape regression passed during the initial implementation; native code is unchanged in this follow-up. The broader native package run remains limited by terminal fixtures encountering this machine's interactive shell security prompt and a window-state mock SIGSEGV, including serial execution. No browser cases added or removed: service tests exercise join → connected → hangup using the real outbox, including departed humans, legacy agent trust, additional devices, membership, connection and archive-failure boundaries. Existing Huddle card/View tests pass.
Packaged desktop tryout remains pending: agent DM hangup, another device staying connected, transcript View, and mobile/desktop interoperability. No deployment or live-device validation claimed.