From 7a3d4d1f31e4316eb832f820012bf575aa57669a Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 9 Mar 2026 18:57:17 +0000 Subject: [PATCH] fix: stabilize onToggleRuntimeMode with useCallback to preserve memo Co-authored-by: Julius Marminge Applied via @cursor push command --- apps/web/src/components/ChatView.tsx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/web/src/components/ChatView.tsx b/apps/web/src/components/ChatView.tsx index 565ce201ff2a2192f828984bfe5aa192ecbe4be0..5fb47b1a9a54b3694c3dc70b59858fafda67f709 100644 --- a/apps/web/src/components/ChatView.tsx +++ b/apps/web/src/components/ChatView.tsx @@ -1675,6 +1675,11 @@ export default function ChatView({ threadId }: ChatViewProps) { const toggleInteractionMode = useCallback(() => { handleInteractionModeChange(interactionMode === "plan" ? "default" : "plan"); }, [handleInteractionModeChange, interactionMode]); + const toggleRuntimeMode = useCallback(() => { + void handleRuntimeModeChange( + runtimeMode === "full-access" ? "approval-required" : "full-access", + ); + }, [handleRuntimeModeChange, runtimeMode]); const togglePlanSidebar = useCallback(() => { setPlanSidebarOpen((open) => { if (open) { @@ -3745,11 +3750,7 @@ export default function ChatView({ threadId }: ChatViewProps) { onCodexFastModeChange={onCodexFastModeChange} onToggleInteractionMode={toggleInteractionMode} onTogglePlanSidebar={togglePlanSidebar} - onToggleRuntimeMode={() => - void handleRuntimeModeChange( - runtimeMode === "full-access" ? "approval-required" : "full-access", - ) - } + onToggleRuntimeMode={toggleRuntimeMode} /> ) : ( <> -- 2.54.0