Repository navigation
fix(agents): keep the Model settings row full width - #2577
Merged
Merged
Conversation
The effort-capable picker wrapper made every Model row a shrink-wrapped flex item, so in Settings its trigger sat mid-row and truncated. Only compact triggers share a line now. Co-authored-by: Princess Donut <0366ccd5ee09c2779a9d6bd6683daa17c16a508a51f6a7e7314018dab8fdc49b@feedback.communities.buzz.xyz> Signed-off-by: Taylor Ho <[email protected]>
tellaho
marked this pull request as ready for review
November 5, 2026 04:08
kazemek21
approved these changes
Nov 5, 2026
kazemek21
left a comment
Contributor
There was a problem hiding this comment.
Kyle reviewed this PR and the Nexus review-tracker notes and approved with no comments.
Posted by Codex (gpt-6.1-sol) on behalf of kylez.
ljknight
added a commit
to ljknight/buzz-app
that referenced
this pull request
Nov 5, 2026
* origin/main: Keep /leave commands out of channel history (block#2476) fix(agents): ask before switching or closing drops unsaved edits (block#2503) fix(agents): keep the Model settings row full width (block#2577) feat(github): show a pull request's changes beside its summary (block#2492) fix(search): open an existing DM from a ⌘K person row without a relay open; cover hidden-DM previews (block#2519) feat(search): show channel type icon in search result subtitles (block#2521) test(browser): bind port-0 fixture servers where the OS assigns (block#2564) test(browser): fix six journey sync flakes from the 2026-11-04 sweep (block#2566) fix(channels): ask before Escape, Close or an outside click drops a template draft (block#2501) fix(channels): render the channel details description as linked Markdown with a label-only Edit target (block#2506) fix(agents): let Back and Forward shortcuts traverse provider dialogs (block#2509) Fix Inbox recovery after a delayed Retry (block#2496) # Conflicts: # docs/buzz-help.md
wpfleger96
added a commit
that referenced
this pull request
Nov 5, 2026
…-service * origin/main: (68 commits) fix(messages): keep decoded images across virtualized remounts (#2474) Keep /leave commands out of channel history (#2476) fix(agents): ask before switching or closing drops unsaved edits (#2503) fix(agents): keep the Model settings row full width (#2577) feat(github): show a pull request's changes beside its summary (#2492) fix(search): open an existing DM from a ⌘K person row without a relay open; cover hidden-DM previews (#2519) feat(search): show channel type icon in search result subtitles (#2521) test(browser): bind port-0 fixture servers where the OS assigns (#2564) test(browser): fix six journey sync flakes from the 2026-11-04 sweep (#2566) fix(channels): ask before Escape, Close or an outside click drops a template draft (#2501) fix(channels): render the channel details description as linked Markdown with a label-only Edit target (#2506) fix(agents): let Back and Forward shortcuts traverse provider dialogs (#2509) Fix Inbox recovery after a delayed Retry (#2496) feat(composer): optional ⌘/Ctrl+Enter to send (#2331) test: use keyboard activation for reply caret setup (#2557) test: settle member search before invitation expansion (#2532) test(agent-command): isolate the copied executable writer (#2537) test(sidebar): wait for the rolled-back row to leave Starred before collapsing Work (#2574) test(browser): click timeline rows only after the timeline settles (#2560) ci: split Vitest across six shards so 3/4 stops hitting the job cap (#2571) ... # Conflicts: # src/app/Settings.tsx # src/bundled/goose/sessions.test.ts
johnmatthewtennant
added a commit
that referenced
this pull request
Nov 5, 2026
Signed-off-by: John Tennant <[email protected]> * origin/main: (47 commits) fix(messages): pass verified labels to the forward recipient picker (#2633) feat(messages): forward a message to a person (#2167) docs(agents): design relay-facing paths for the whole fleet at once (#2620) Route debug sessions through the credential helper (#2541) perf(search): skip no-op slow-search resets on each keystroke (#2605) perf(agents): dedupe channel members only for dm connection setup (#2603) perf(search): keep the search tab row across palette keystrokes (#2588) perf(sidebar): skip the hidden actions menu in solo and team headers (#2582) perf(search): rank each palette name once per render (#2606) perf(sidebar): skip re-rendering unchanged animated channel rows (#2572) feat(settings): follow the system clock and let people hide message times (#2440) feat(plugins): repository access rules for Git imports (#2484) feat(desktop): add Settings to the macOS app menu (#2594) Preserve and renew external app approval (#2464) fix(direct-messages): show verified identity in new message recipient search (#2585) Offer plugin updates from the Buzz shell (#2491) fix(messages): keep decoded images across virtualized remounts (#2474) Keep /leave commands out of channel history (#2476) fix(agents): ask before switching or closing drops unsaved edits (#2503) fix(agents): keep the Model settings row full width (#2577) ...
agude-sq
added a commit
to agude-sq/buzz-app
that referenced
this pull request
Nov 5, 2026
* origin/main: (43 commits) feat(settings): follow the system clock and let people hide message times (block#2440) feat(plugins): repository access rules for Git imports (block#2484) feat(desktop): add Settings to the macOS app menu (block#2594) Preserve and renew external app approval (block#2464) fix(direct-messages): show verified identity in new message recipient search (block#2585) Offer plugin updates from the Buzz shell (block#2491) fix(messages): keep decoded images across virtualized remounts (block#2474) Keep /leave commands out of channel history (block#2476) fix(agents): ask before switching or closing drops unsaved edits (block#2503) fix(agents): keep the Model settings row full width (block#2577) feat(github): show a pull request's changes beside its summary (block#2492) fix(search): open an existing DM from a ⌘K person row without a relay open; cover hidden-DM previews (block#2519) feat(search): show channel type icon in search result subtitles (block#2521) test(browser): bind port-0 fixture servers where the OS assigns (block#2564) test(browser): fix six journey sync flakes from the 2026-11-04 sweep (block#2566) fix(channels): ask before Escape, Close or an outside click drops a template draft (block#2501) fix(channels): render the channel details description as linked Markdown with a label-only Edit target (block#2506) fix(agents): let Back and Forward shortcuts traverse provider dialogs (block#2509) Fix Inbox recovery after a delayed Retry (block#2496) feat(composer): optional ⌘/Ctrl+Enter to send (block#2331) ... # Conflicts: # docs/buzz-help.md
tellaho
added a commit
that referenced
this pull request
Nov 5, 2026
## Overview **Category:** improvement **User Impact:** Users can see which agents run remotely and understand where their work and files live. **Problem:** Remote and local agents looked alike in creation and conversation, leaving people to infer what an agent could access and whether it needed their desktop online. **Solution:** Group harness choices by location, explain remote work before creation, and add confirmed remote cues to settings, mentions, messages and activity. Builderlab sign-in is explicit, and availability and file-access promises stay specific to Builderlab. This desktop change excludes the separate Model-row width fix in #2577. The only shared design-system change is the Tabler cloud export. ## Changes <details> <summary>File changes</summary> **docs/agents.md** Document configuration-owned creation readiness and the presentational provider action beside Harness. **docs/buzz-help.md** Explain remote creation, sign-in, location cues and file access in the bundled help. **src/bundled/agent-activity/ActivityAccessory.test.tsx** Cover remote-location fallback and precedence of received activity details. **src/bundled/agent-activity/ActivityAccessory.tsx** Show confirmed remote location when a working agent has no current step details. **src/bundled/agents/AgentCard.module.css** Align static harness badges with the card’s existing model selector. **src/bundled/agents/AgentCreate.module.css** Lay out the remote introduction and its animated copy within the existing dialog. Keep ordinary words grouped while permitting overlong names to wrap inside the speech bubble. **src/bundled/agents/AgentCreateDialog.test.tsx** Cover remote introduction, retained drafts, readiness, dismissal, focus and failed creation, including imported agent cards passing through the introduction and Back. **src/bundled/agents/AgentCreateDialog.tsx** Group harness choices and introduce remote execution before creating an agent. **src/bundled/agents/AgentSettingsHost.test.tsx** Cover Remote and Local harness groups without changing selection behavior. **src/bundled/agents/AgentSettingsHost.tsx** Group available and unavailable harness choices by execution location. **src/bundled/agents/AgentsPage.test.tsx** Verify creation remains integrated with the agents page. **src/bundled/agents/RemoteAgentIntroduction.test.tsx** Cover streamed copy, reduced motion and provider-specific availability claims. **src/bundled/agents/RemoteAgentIntroduction.tsx** Introduce the selected remote agent using its name and avatar, with Builderlab-specific guidance where confirmed. **src/bundled/builderlab/README.md** Document explicit sign-in and the settled remote execution guidance. **src/bundled/builderlab/adapter-type/Activity.test.tsx** Keep activity integration fixtures aligned with the provider contract. **src/bundled/builderlab/adapter-type/Create.test.tsx** Cover visible disabled fields, sign-in readiness, delayed cancellation and retained configuration. **src/bundled/builderlab/adapter-type/Create.tsx** Put Sign in beside Harness and keep Model and Thinking visible until sign-in completes. **src/bundled/builderlab/adapter-type/Instructions.test.tsx** Cover signed-in remote guidance and the shared-runtime disclosure, including their absence while signed out or signing in. **src/bundled/builderlab/adapter-type/Instructions.tsx** Show the compact remote execution note and retain the default shared-runtime disclosure beside availability and file-access guidance while signed in. **src/bundled/builderlab/adapter-type/SignInFooter.tsx** Share provider sign-in progress timing between creation and settings while retaining native recovery through Identity and broker-specific account switching. Keep the profile pill explicit about the account state: Signed out of Builderlab. **src/bundled/builderlab/adapter-type/index.ts** Register the provider-owned sign-in action beside Harness. **src/bundled/builderlab/index.test.tsx** Cover provider registration, sign-in guidance and creation recovery through the real plugin wiring. Control catalog readiness and navigation completion, bulk-fill fixed setup text, and capture the active phase and DOM when a journey aborts. **src/bundled/builderlab/login/use-sign-in-progress.ts** Own the shared pending state and delayed browser sign-in guidance. **src/bundled/mentions/MentionCompletion.tsx** Label confirmed remote candidates in completion results. **src/bundled/mentions/MentionPicker.tsx** Show the same remote label in the mention picker. **src/bundled/mentions/mention-candidates.test.ts** Verify remote labels come from confirmed execution metadata. **src/bundled/mentions/mention-candidates.ts** Carry execution metadata into mention candidates. **src/bundled/mentions/solo-agents.test.tsx** Cover remote and local labels in both mention surfaces. **src/features/agents/AgentExecutionNote.tsx** Render the compact cloud, Remote agent heading and provider location subtitle. **src/features/agents/choices.test.ts** Verify shared choices preserve execution location and runtime. **src/features/agents/choices.ts** Expose execution evidence through the shared agent inventory. **src/features/agents/execution-location.test.ts** Cover known, unknown and local execution classification. **src/features/agents/execution-location.ts** Centralize location copy and keep Builderlab capabilities specific to that runtime. **src/features/agents/local.ts** Describe optional execution and runtime evidence on local inventory entries. **src/features/agents/service.test.ts** Verify saved remote bindings update the inventory and its cache. **src/features/agents/service.ts** Expose confirmed remote bindings and a presentational provider creation action; configuration owns readiness. **src/features/agents/tabs.test.tsx** Keep tab fixtures aligned with the execution-aware settings contract. **src/features/agents/tabs.tsx** Place remote execution guidance within existing settings sections. **src/features/messages/ActivityGroupPreview.tsx** Show remote clouds for the authors of grouped activity steps. **src/features/messages/ActivityStepPreview.module.css** Align the cloud with the current step text. **src/features/messages/ActivityStepPreview.tsx** Accept a leading cue within the existing activity preview. **src/features/messages/AgentResponsePreview.tsx** Allow activity previews to show the remote byline hint beside the author. **src/features/messages/MessageComposer.test.tsx** Verify remote targets add no workspace button and retain existing model, effort, compaction, draft and focus behavior for both remote and local targets. **src/features/messages/MessageRow.test.tsx** Cover remote bylines, author-specific activity clouds and local or unknown cases. **src/features/messages/MessageRow.tsx** Show confirmed remote location beside agent authors and recorded activity. **src/features/messages/RemoteAgentHint.module.css** Pulse active remote clouds while respecting reduced motion. **src/features/messages/RemoteAgentHint.tsx** Reuse confirmed inventory evidence for remote bylines and activity clouds. **src/features/messages/TypingIndicator.test.tsx** Cover remote working previews, real activity precedence and missing or local evidence. **src/features/messages/TypingIndicator.tsx** Show a remote cue for the displayed agent while it works. **src/features/profiles/ProfilePeek.test.tsx** Align profile expectations with the chosen location surfaces. **src/shared/design-system/icons/index.ts** Export the Tabler cloud used by the remote cues. **tests/browser/agent-creation-review.spec.mjs** Verify animated glyph containment for a valid long name at narrow/wide widths and enlarged text in both themes, while ordinary words remain grouped. </details> ## Reproduction steps 1. Open Create agent and inspect Harness. Choices appear under Remote and Local. Select Builderlab while signed out: Sign in sits beside Harness, and Model, Thinking and Create agent remain disabled. 2. Begin sign-in. A spinner appears first; browser guidance and Cancel sign-in appear after three seconds. Cancel and verify the draft remains. Complete sign-in and choose a model and thinking level. 3. Give the remote agent a name and avatar, then choose Create agent. Verify the introduction uses that identity. Back returns to the retained draft; Let’s go creates the agent. With reduced motion enabled, the copy appears immediately. At 480px width and 20px root text, try the valid name `production-infrastructure-validation-automation-agent`: its animated text wraps inside the speech bubble. 4. Open the signed-in Builderlab agent’s Identity settings. The cloud accompanies Remote agent and the smaller Runs on a Builderlab machine subtitle. In Settings, Workspace explains that the runtime is shared with your other agents in this workspace by default, followed by availability and file-access guidance. When the shared session is signed out, Workspace hides and the profile pill says Signed out of Builderlab. Organization sign-out is managed in Identity. 5. Mention a known remote agent without model or session controls: no workspace button appears beside Send. When model, effort or session controls are available, open the existing gauge. Select a model, change effort and compact the session, then dismiss the popover. Verify the draft and recipients remain and focus returns to the gauge. Check local targets retain the same controls. 6. Start a remote turn. Remote appears beside the owner’s agent name; a cloud precedes received activity, pulses while active and stays still afterward. Enable reduced motion and verify the cloud stays still. Unknown execution locations receive no remote cue. 7. If a non-Builderlab remote runtime is available, verify its generic wording makes no Builderlab availability or file-access promises. ## Validation - Integrated main `fd6296a5c067189e713e28a900dd0547919452c8` into the feature with merge commit `e21dba8a1530fdcf676209b9fc100b714a721c24`, preserving published history. The shared native Builderlab session, agent-card draft adoption, remote introduction and configuration-owned readiness coexist. The current mainline composer implementation is retained, including the gauge and existing controls; the withdrawn cloud stays absent. - The resolution candidate committed as `e21dba8a1` passes all 114 tests in the six complete affected unit files (13.95 seconds). Coverage includes native sign-in failure/cancellation/retry, the held catalog, creation recovery and imported card drafts surviving the introduction and Back. - All six existing creation browser cases pass in Chromium and WebKit (12.7 seconds) at `c83f62b7d`. The subsequent amendment changes test fixtures only; production code is identical. The browser cases cover narrow/wide enlarged-text containment, owner review and failed creation recovery. No browser cases were added or removed in this integration. - All mandatory push gates passed on `e21dba8a1530fdcf676209b9fc100b714a721c24`: TypeScript/related units (797.24 seconds), design checks (5.98 seconds), Rust selection and publication-policy guards. The remote SHA is verified. A stale local Vitest glob transform was cleared; the unchanged README registry test and normal gate then passed. Hosted checks are pending at publication. - Earlier composer preservation checks at `0d33b00a1` passed 535 unit tests and all 14 composer browser cases. The long-name containment regression and unchanged five-second timeout diagnostics remain in the feature. - Ready status is retained. Browser checks use production components in fixtures. Native IPC, a live account/browser switch and human acceptance were not rerun. Existing recordings and captures predate the native-session integration; no new native capture is claimed. ## Screenshots / demos **Real desktop recording (before the native-session integration).** Creating a Builderlab agent: Sign in beside Harness, choosing a model and thinking level, the "Meet your remote agent" introduction, then the new agent's Remote agent card in its details. https://github.com/user-attachments/assets/bfc5d58f-2681-4752-b729-89db5011c6a2 Real native captures from the running desktop build. The signed-in settings note and signed-out creation controls were exercised. Active execution animation is not shown. The obsolete composer disclosure capture has been removed after withdrawing that cue. | Signed-in agent settings | | --- | |  | | Builderlab creation while signed out | | --- | |  | --------- Signed-off-by: Taylor Ho <[email protected]> Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz> Co-authored-by: Princess Donut <0366ccd5ee09c2779a9d6bd6683daa17c16a508a51f6a7e7314018dab8fdc49b@feedback.communities.buzz.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.
Category: fix
User Impact: In an agent's settings, the Model picker sits on the right edge of its row and shows the full model name again, lined up with Harness and Thinking.
Problem: Since #2423 (
844368d26), the Model trigger in agent settings floats mid-row and truncates the model name (for example, "G. · Default"), while the rows around it keep their triggers on the right.Solution: That change wrapped every
ModelPickerin a flex container so compact pickers could share a line with the effort control. In a Settings group that wrapper shrinks the preference row to fit its content. Only compact pickers use the flex wrapper now; Settings rows stack at full width, as they did before.Originating thread: Buzz.
File changes
src/features/agents/ModelPicker.tsx
Apply the flex wrapper only to compact pickers, so a preference row keeps the full width of its Settings group.
tests/browser/model-picker-row.fixture.tsx, tests/browser/model-picker-row.html
Render the real
ModelPickerabove a ThinkingSelectinside aSettingsGroup, matching the harness settings layout.tests/browser/model-picker-row.spec.mjs
Assert that the Model trigger ends at its row's right edge, aligned with Thinking and not truncated. jsdom can't measure layout, so this runs in the browser suite. Without the fix it fails in Chromium and WebKit (the row measures 257px instead of 503px).
Reproduction steps
Screenshots
These come from the layout test fixture, which renders the real
ModelPickerandSelectin a Settings group. They are not full-app captures.🤖 Generated with Claude Code