Skip to content

feat(desktop): persona-first agent UX + bug fixes#570

Merged
wesbillman merged 6 commits into
mainfrom
agent-ux-overhaul
May 13, 2026
Merged

feat(desktop): persona-first agent UX + bug fixes#570
wesbillman merged 6 commits into
mainfrom
agent-ux-overhaul

Conversation

@wesbillman
Copy link
Copy Markdown
Collaborator

Summary

  • Persona-first agent UX overhaul — unified agents view groups agents by persona with collapsible sections, replacing the flat list
  • Consolidated "+ New" dropdown — single creation entry point replacing scattered buttons (Persona, Catalog, Custom Agent, Import)
  • Smart agent reuse — when adding a bot to a channel that already has an agent for that persona, reuses the existing agent with updated respondTo settings instead of creating a duplicate
  • Serialized channel agent creation — fixes race condition where Promise.allSettled caused last-write-wins on relay membership events; now sequential for...of loop
  • Respond-to editing in members sidebar — badge showing Owner only / Anyone / Allowlist(N) on bot cards + "Edit respond-to..." context menu item with inline dialog
  • Respond-to dot on bot message avatars — green dot = responds to anyone, amber = allowlist; visible at a glance in chat
  • Deactivated persona grouping — deactivated built-in personas render with opacity-60 + "Deactivated" badge instead of falling into "Unknown Persona"
  • Empty allowlist guard — submit button disabled when respondTo is "allowlist" with zero entries
  • Dead code cleanup — deleted unused PersonasSection.tsx
  • ffmpeg resolve_command fix — use Tauri's resolve_command for sandboxed ffmpeg discovery

Test plan

  • Open the Agents page — verify unified persona-grouped view with collapsible sections
  • Click "+ New" dropdown — verify clean menu (Persona, Choose from Catalog, Custom Agent, Import) with no icons
  • Add 2+ bots to a channel simultaneously — verify all appear in the members list (serialized creation fix)
  • Open members sidebar for a channel with bots — verify respond-to badges on bot cards
  • Right-click a bot → "Edit respond-to..." — verify dialog opens with correct current state
  • Send messages as a bot configured with "anyone" — verify green dot on avatar in chat
  • Check deactivated built-in personas appear with opacity + badge in the agents view

🤖 Generated with Claude Code

wesbillman and others added 6 commits May 13, 2026 11:35
1. Group agents by persona in ManagedAgentsSection with collapsible groups
2. Merge Personas + Managed Agents into unified "Your Agents" view
   (new UnifiedAgentsSection + AgentGroupRows + PersonaActionsMenu)
3. Demote "Create Agent" to "Advanced" dropdown; primary action is
   "Create Persona"
4. Add RespondTo field to AddChannelBotDialog (per-batch setting)
5. Smart reuse in channelAgents.ts — reuse existing managed agents
   with matching personaId instead of always creating new ones

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…sona grouping, dead code cleanup

- Update reused agent's respondTo/respondToAllowlist before attaching to channel
- Disable submit when respondTo is "allowlist" with empty allowlist
- Pass all personas (including deactivated) to UnifiedAgentsSection so
  deactivated built-ins render with a "Deactivated" badge instead of
  falling into "Unknown Persona"
- Delete unused PersonasSection.tsx (replaced by UnifiedAgentsSection)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…bers sidebar

- Consolidate SectionHeader into single "+ New" dropdown (Persona,
  Choose from Catalog, Custom Agent, Import persona file)
- Replace Promise.allSettled with sequential loop in
  createChannelManagedAgents to prevent last-write-wins on
  kind:39002 membership events
- Show respond-to badge on bot cards in members sidebar
- Add "Edit respond-to..." menu item in bot context menu
- Wire EditRespondToDialog in MembersSidebar using
  CreateAgentRespondToField + useUpdateManagedAgentMutation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… avatars

- Remove icons from +New dropdown menu items for cleaner appearance
- Add respond-to mode indicator dot on bot message avatars:
  green dot = responds to anyone, amber dot = responds to allowlist
- Thread respondTo data through formatTimelineMessages via new lookup

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The persona-first agent UX overhaul replaced PersonasSection with
UnifiedAgentsSection and changed the agent creation flow to use a
+New dropdown menu. Update the E2E tests to match:

- Use agents-library-personas testid on the unified section root
- Open persona catalog via +New → Choose from Catalog...
- Create agent via +New → Custom Agent
- Reference unified section for agent table assertions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Deactivated built-in personas now stay visible in the unified section,
so remove the "No agents yet" empty-state check and verify deselection
via aria-pressed instead of text disappearance.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@wesbillman wesbillman merged commit efbdc7b into main May 13, 2026
15 checks passed
@wesbillman wesbillman deleted the agent-ux-overhaul branch May 13, 2026 22:13
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.

1 participant