Repository navigation
fix(channels): put the huddle launcher after the other header tools - #2660
Merged
Merged
Conversation
Co-authored-by: Fizz <6be7be23ec5bba868f3e1db5ec86013d76bd1a293dce5b435a192158fec13641@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Diem Nguyen <[email protected]>
ngthuydiem
marked this pull request as ready for review
November 5, 2026 20:00
Co-authored-by: Fizz <6be7be23ec5bba868f3e1db5ec86013d76bd1a293dce5b435a192158fec13641@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Diem Nguyen <[email protected]>
ngthuydiem
requested review from
morgmart,
square-tomb,
tellaho and
tlongwell-block
November 5, 2026 20:05
morgmart
approved these changes
Nov 5, 2026
wpfleger96
added a commit
that referenced
this pull request
Nov 5, 2026
…leanup * origin/main: fix(dialog): limit footer click-through to the gradient gutter (#2545) fix(channels): put the huddle launcher after the other header tools (#2660) feat(drafts-sent): bundle Drafts & sent for everyone (#2644) feat(identity): one Builderlab sign-in, the native NIP-FI session (#2576) fix(agents): let people dismiss connection setup cards (#2631) Co-authored-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz> Signed-off-by: Will Pfleger <[email protected]> # Conflicts: # .github/workflows/release.yml # crates/plugin-manager/src/lib.rs # docs/configuration.md # src/bundled/builderlab/apps/client.test.ts # src/bundled/builderlab/apps/environment.ts # src/features/identity/builderlab-hosted.test.ts # src/features/identity/identity.test.tsx # vite.config.ts
wpfleger96
added a commit
that referenced
this pull request
Nov 5, 2026
…-service * origin/main: fix(sidebar): highlight collapsed sections with unread channels (#2539) perf(threads): isolate thread rows inside the scroller (#2462) perf(messages): skip the glass on closed message action bars (#2461) perf(threads): measure long-thread scrolling in browsers and the macOS app (#2460) docs(threads): set scrolling requirements and targets for long threads (#2459) fix(composer): seed required recipients in saved briefs (#2667) fix: preserve agent activity ownership and remove Solo composer gap (#2613) feat(agents): open agent card links in Create agent (#2662) Align Bestie messaging with the shared conversation workspace (#2614) feat(messages): add a compact message density (#2547) fix(dialog): limit footer click-through to the gradient gutter (#2545) fix(channels): put the huddle launcher after the other header tools (#2660) feat(drafts-sent): bundle Drafts & sent for everyone (#2644) feat(identity): one Builderlab sign-in, the native NIP-FI session (#2576) fix(agents): let people dismiss connection setup cards (#2631) AIDA-2425: Preserve links beside pasted images (#2520) feat(activity): show reactions to your messages in Activity (#2638) # Conflicts: # docs/identity.md # src-tauri/src/federated_identity/agent/mod.rs # src-tauri/src/federated_identity/mod.rs # src-tauri/src/federated_identity/tests.rs # src/bundled/codex/runtime.ts
ngthuydiem
added a commit
that referenced
this pull request
Nov 5, 2026
Tapping the headphones button in a conversation header used to start a
huddle straight away, so a stray tap (for example while reaching for the
members button) started a call and turned on the microphone. Now, when
no huddle is running, the button opens a "Start a huddle?" confirmation
with Cancel and Start huddle.
- Uses the shared `AlertDialog` the same way `MarkAllReadShortcut` does:
Cancel has initial focus, so pressing Enter or Escape doesn't start a
call.
- Joining a huddle that's already running, cancelling a connection,
showing the active huddle and leaving all stay one tap.
- The Solo chat-actions menu item ("Start a huddle") doesn't ask,
because choosing from a menu is already deliberate.
- Confirming goes through the launcher's existing `activate`, so if
someone else starts a huddle while the dialog is open, you join theirs.
Related to #2660, which moves the button further from the members
button. This PR is independent of it.
### Screenshots
Rendered from `tests/fixtures/huddles.html` in a DM with no huddle
running, after clicking the headphones button.
Before (the call starts connecting immediately):

After:

### Validation
- `HuddleLauncher.test.tsx` covers the new behavior: Cancel gets focus,
Cancel doesn't start a call, Start huddle does.
- `tests/browser/huddles.spec.mjs` passes in Chromium and WebKit (43
passed). The four journeys that start a new call from the header now
click Start huddle.
- Full `vitest run`: 18,283 passed, 2 failed in unrelated media tests.
The HEIC dimensions test fails in this local environment, and
`MediaDownloadAction` passes when run alone.
- `tsc --noEmit` and `biome check` are clean.
- Not yet checked: the native desktop app, and a human trying it.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Signed-off-by: Diem Nguyen <[email protected]>
Co-authored-by: Fizz <6be7be23ec5bba868f3e1db5ec86013d76bd1a293dce5b435a192158fec13641@buzz.block.builderlab.xyz>
Co-authored-by: Claude Opus 5.5 <[email protected]>
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.
The huddle launcher was pinned first among the channel header tools, right after the members button, so it was easy to start a call by accident. It now sorts after the other header tools (Todos, Terminal, …), next to the overflow menu. The linked-PR shortcut keeps its place just before it, so the two still sit together.
Change: invert
launcherOrderinsrc/bundled/channels/useChannelPanels.tsxand update its ordering test.Screenshots
Rendered with the real
useChannelPanelsordering plus the real Todos, Terminal and Huddle launchers, on sample data in a browser fixture. The huddle registers first so the header's sort is what you see. The headphones button is tinted because the fixture has a huddle in progress ("Join active huddle").Before:
After:
Validation
1,373 unit tests across
src/bundled/channels,src/bundled/huddles, andsrc/features/channel-navigationpass. Not yet checked in the native desktop app.🤖 Generated with Claude Code