From a5476c3ba57cfb1ca5392e6b29a6b7bf19c40a38 Mon Sep 17 00:00:00 2001 From: Thomas Petersen Date: Thu, 4 Jun 2026 07:06:12 -0400 Subject: [PATCH] fix(desktop): keep channel actions with conversation Co-authored-by: Cursor --- .../src/features/channels/ui/ChannelMembersBar.tsx | 12 ++++++------ desktop/src/features/channels/ui/ChannelScreen.tsx | 3 +++ .../src/features/channels/ui/ChannelScreenHeader.tsx | 3 +++ desktop/src/features/chat/ui/ChatHeader.tsx | 11 ++++++++++- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/desktop/src/features/channels/ui/ChannelMembersBar.tsx b/desktop/src/features/channels/ui/ChannelMembersBar.tsx index 54e6ce0a2..83b9f80d4 100644 --- a/desktop/src/features/channels/ui/ChannelMembersBar.tsx +++ b/desktop/src/features/channels/ui/ChannelMembersBar.tsx @@ -87,7 +87,7 @@ export function ChannelMembersBar({
{ try { @@ -132,14 +132,14 @@ export function ChannelMembersBar({
diff --git a/desktop/src/features/channels/ui/ChannelScreen.tsx b/desktop/src/features/channels/ui/ChannelScreen.tsx index 074d1ebc9..c11d5099d 100644 --- a/desktop/src/features/channels/ui/ChannelScreen.tsx +++ b/desktop/src/features/channels/ui/ChannelScreen.tsx @@ -440,6 +440,8 @@ export function ChannelScreen({ Boolean( openThreadHeadMessage || openAgentSessionPubkey || profilePanelPubkey, ); + const headerActionsInsetRightPx = + !isSinglePanelView && openThreadHeadMessage ? threadPanelWidthPx : 0; return ( @@ -449,6 +451,7 @@ export function ChannelScreen({ activeChannelEphemeralDisplay={activeChannelEphemeralDisplay} activeChannelTitle={activeChannelTitle} activeDmPresenceStatus={activeDmPresenceStatus} + actionsInsetRightPx={headerActionsInsetRightPx} currentPubkey={currentPubkey} isJoining={joinChannelMutation.isPending} onJoinChannel={joinChannelMutation.mutateAsync} diff --git a/desktop/src/features/channels/ui/ChannelScreenHeader.tsx b/desktop/src/features/channels/ui/ChannelScreenHeader.tsx index 1421f1366..90e9b3618 100644 --- a/desktop/src/features/channels/ui/ChannelScreenHeader.tsx +++ b/desktop/src/features/channels/ui/ChannelScreenHeader.tsx @@ -15,6 +15,7 @@ type ChannelScreenHeaderProps = { activeChannelEphemeralDisplay: EphemeralChannelDisplay | null; activeChannelTitle: string; activeDmPresenceStatus: PresenceStatus | null; + actionsInsetRightPx?: number; currentPubkey?: string; isJoining?: boolean; showHeaderContent?: boolean; @@ -28,6 +29,7 @@ export function ChannelScreenHeader({ activeChannelEphemeralDisplay, activeChannelTitle, activeDmPresenceStatus, + actionsInsetRightPx = 0, currentPubkey, isJoining = false, showHeaderContent = true, @@ -79,6 +81,7 @@ export function ChannelScreenHeader({ return ( 0 + ? { marginRight: `${actionsInsetRightPx}px` } + : undefined; const topRightActions = (
@@ -144,7 +150,10 @@ export function ChatHeader({ createPortal(topRightActions, document.body) ) ) : ( -
+
{actions ?
{actions}
: null}