Skip to content

feat(desktop): open profile panel from MembersSidebar rows#962

Merged
wesbillman merged 2 commits into
mainfrom
tho/profile-ingress-from-members
Jun 11, 2026
Merged

feat(desktop): open profile panel from MembersSidebar rows#962
wesbillman merged 2 commits into
mainfrom
tho/profile-ingress-from-members

Conversation

@tellaho

@tellaho tellaho commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator
Screen Recording 2026-06-10 at 5 48 32 PM

Summary

Click the avatar / name region of a member row in the People & Bots sidebar to open that user's profile panel. Reuses the existing ProfilePanelContext opener that already powers profile opens from @mentions and UserProfilePopover — same code path, same target panel.

Behavior

  • Clicking the left region (avatar + display name + role badges + pubkey) opens the profile panel for that pubkey.
  • The kebab menu remains a separate sibling button, so role changes, view-activity, remove-from-channel, etc. still work without intercepting the row click.
  • Closes the members sheet first, then opens the profile — matches the existing onViewActivity flow.
  • Falls back to the original non-clickable layout when ProfilePanelContext isn't available (defensive — every current caller provides it, but the hook returns {openProfilePanel: null} if no provider).

Why

The People list is the most natural place to discover an identity you don't already have a message thread with — especially useful for finding agents you don't talk to often. The profile panel already exists; this just adds the obvious click ingress that was missing.

New testid: sidebar-member-open-profile-<pubkey> on the clickable region.

Test plan

  • tsc --noEmit clean
  • biome check clean on touched files
  • 627/627 unit tests pass
  • Manual: open the Members sidebar, click a row → profile panel opens for that pubkey, sheet closes
  • Manual: kebab menu actions (change role, remove, view activity) still work without opening the profile
  • Manual: keyboard nav reaches the row button (focus ring visible)

@tellaho tellaho marked this pull request as ready for review June 11, 2026 00:50
tellaho and others added 2 commits June 11, 2026 01:17
Click the avatar / name region of a member row to open that user's
profile panel — closes the members sheet first, then routes through
the existing ProfilePanelContext used by mentions and popovers. The
kebab menu remains a sibling outside the click target so its actions
aren't intercepted.

Falls back to the original non-clickable layout when ProfilePanelContext
isn't available (e.g. host surfaces that don't render a profile panel).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
UserProfilePanel only renders inside ChannelPane, which forum channels
replace with ForumView — so clicking a member row in a forum's members
sheet would close the sheet and open nothing. Withhold onOpenProfile
for forum channels so rows fall back to their non-clickable form.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@tellaho tellaho force-pushed the tho/profile-ingress-from-members branch from 4a55a93 to 5c1197a Compare June 11, 2026 08:18
@wesbillman wesbillman merged commit dcb2639 into main Jun 11, 2026
15 checks passed
@wesbillman wesbillman deleted the tho/profile-ingress-from-members branch June 11, 2026 14:42
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.

2 participants