Add agent lifecycle controls to channel members sidebar#291
Merged
Conversation
Per-bot stop/respawn actions and bulk spawn-all/stop-all/remove-all controls in the members sidebar. Shared managed-agent control rules extracted so AgentsView and the sidebar use the same start/stop/delete logic. Multi-channel orphan check prevents premature managed-agent record deletion. E2E coverage for respawn, bulk remove, multi-channel orphan, and permission gating. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Drop card borders in favor of hover backgrounds, replace UserMinus icon with X for remove actions, show per-bot action buttons on hover only, use ghost variant with consistent muted-foreground styling, and shrink icon buttons to h-7/w-7 with h-3.5 icons for a lighter feel. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Give both the header bulk controls and per-row action containers the same fixed width (5.75rem = 3 buttons + 2 gaps) with justify-end, so the X/remove buttons form a clean right-aligned column. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace inline icon buttons on each member row with a single 3-dot (Ellipsis) dropdown menu matching the AgentActionsMenu pattern from ManagedAgentRow. Bot rows show lifecycle action (stop/respawn/spawn) and remove; people rows show remove. Eliminates the alignment problem between header bulk buttons and per-row actions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the 3 inline icon buttons (spawn-all, stop-all, remove-all) in the Bots section header with a single 3-dot dropdown menu, consistent with the per-row member action menus. Remove the now-unused MembersSidebarIconButton component and TooltipProvider wrapper. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The Ellipsis trigger is hidden by default (opacity-0) and fades in on row hover (group-hover:opacity-100) or when the menu is open (data-[state=open]:opacity-100). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Collaborator
Author
The 3-dot trigger has opacity-0 by default and only becomes visible on row hover. Playwright considers opacity-0 elements not actionable, so we must hover the row first. Extract openMemberMenu helper. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace hover-then-click with force:true click to bypass Playwright's opacity actionability check. The element exists in the DOM and is clickable — it's just visually hidden until hover. force:true is more reliable in CI where hover timing can be flaky. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- openMemberMenu: scroll into view, hover row, then open via keyboard (focus + Enter) to work around @radix-ui/react-dropdown-menu@2.1.16 ignoring pointer re-opens after onCloseAutoFocus - Add data-channel-id to sidebar channel buttons so tests can read UUIDs - Fix command count expectations in multi-channel orphan test (delta-based) - Rewrite "bulk remove" test to use a relay-observed bot (alice) the user doesn't manage, with accurate comments about hasControllableManagedBots Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
tlongwell-block
added a commit
that referenced
this pull request
Apr 11, 2026
…ona-migration * origin/main: feat(desktop): add Pulse social notes surface (#296) Fix flaky desktop smoke tests (#294) Add agent lifecycle controls to channel members sidebar (#291) Update nest_agents.md tagging info (#292) feat: add Sprout nest — persistent agent workspace at ~/.sprout (#290) Fix auth and SSRF vulns (#261) Add per-agent MCP toolset configuration to agent setup (#279) feat(desktop): team & persona import/edit flows (#288) Remove menu item subtitles and fix persona card overflow (#289) feat: Phase 1 video upload support (Blossom-compliant-ish) (#285) Add inline subtitles to menu items and field descriptions (#276) Improve ephemeral channel affordances and hide archived sidebar rows (#286) Fix @mention search to use word-boundary prefix matching (#278) Allow bot owners to remove their agents from any channel (#284) [codex] Polish agent selectors and settings layout (#283) # Conflicts: # desktop/scripts/check-file-sizes.mjs
tellaho
added a commit
that referenced
this pull request
Apr 14, 2026
* origin/main: Replace inline channel creation with dialog (#312) chore: improve chat message layout to left-aligned design (#309) Add edit dialog for managed agents with relay profile sync (#277) fix(ci): build relay with optimized profile to fix flaky e2e tests (#307) Update actions/checkout action to v6 (#305) Update dependency @tanstack/react-query to v5.98.0 (#304) Update dependency @playwright/test to v1.59.1 (#303) Update react monorepo to v19.2.5 (#302) feat(mobile): scaffold Flutter app with Riverpod & Catppuccin theme (#306) Update dependency @tanstack/react-router to v1.168.13 (#301) feat: Markdown-based persona packs (crate + ACP + desktop) (#297) feat(desktop): improve Agents page UX (#298) feat(desktop): add Pulse social notes surface (#296) Fix flaky desktop smoke tests (#294) Add agent lifecycle controls to channel members sidebar (#291) # Conflicts: # desktop/pnpm-lock.yaml
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.



Summary
managedAgentControlActions.ts) so the Agents view and sidebar use the same start/stop/delete logicTest plan
pnpm test:e2eto validate all E2E tests pass🤖 Generated with Claude Code