diff --git a/frontend/src/app/pages/AgentChat/AgentChat.tsx b/frontend/src/app/pages/AgentChat/AgentChat.tsx index 617390a8..299a6c87 100644 --- a/frontend/src/app/pages/AgentChat/AgentChat.tsx +++ b/frontend/src/app/pages/AgentChat/AgentChat.tsx @@ -1604,6 +1604,8 @@ const AgentChat: React.FC = ({ sessionId: sessionIdProp, onClose { void dispatch(reopenLastClosed()); } }, diff --git a/frontend/src/app/pages/Dashboard/cards/AgentCard.tsx b/frontend/src/app/pages/Dashboard/cards/AgentCard.tsx index 3c79e260..2e889cdb 100644 --- a/frontend/src/app/pages/Dashboard/cards/AgentCard.tsx +++ b/frontend/src/app/pages/Dashboard/cards/AgentCard.tsx @@ -820,7 +820,7 @@ const AgentCard: React.FC = ({ e.stopPropagation(); onDoubleClick?.(session.id, 'agent'); }} - onContextMenu={(e: React.MouseEvent) => { if (isNativeMenuTarget(e)) return; openCardContextMenu(e, { + onContextMenu={(e: React.MouseEvent) => { if (isNativeMenuTarget(e)) return; if ((e.target as HTMLElement).closest?.('[data-chat-transcript]')) return; openCardContextMenu(e, { rename: { value: displayChatTitle(session), onCommit: (name) => dispatch(renameSession({ sessionId: session.id, name })) }, items: agentCardMenuRows({ session, dispatch, expanded, tileZone, expandedSessionIds, diff --git a/frontend/src/app/pages/Dashboard/cards/browserCardMenuRows.ts b/frontend/src/app/pages/Dashboard/cards/browserCardMenuRows.ts index 385d332e..ca7f3631 100644 --- a/frontend/src/app/pages/Dashboard/cards/browserCardMenuRows.ts +++ b/frontend/src/app/pages/Dashboard/cards/browserCardMenuRows.ts @@ -62,7 +62,8 @@ export function browserCardMenuRows({ }]), }, { kind: 'separator' }, - { label: 'Close', danger: true, onClick: () => closeBrowserCard(browserId, dispatch) }, + // Close is recoverable (Cmd+Shift+T reopens); danger styling is reserved for true deletes, matching the agent and app cards. + { label: 'Close', onClick: () => closeBrowserCard(browserId, dispatch) }, ]; }