diff --git a/src/screens/chat/chat-screen.tsx b/src/screens/chat/chat-screen.tsx index 9b81a52c1..f3068c291 100644 --- a/src/screens/chat/chat-screen.tsx +++ b/src/screens/chat/chat-screen.tsx @@ -1295,7 +1295,19 @@ export function ChatScreen({ return } if (navCancelKeyRef.current !== navKey) { + const activeSend = activeSendRef.current + const isResolvingActiveSend = + Boolean(activeSend) && + !isNewChat && + (activeSend?.sessionKey === activeCanonicalKey || + activeSend?.friendlyId === activeFriendlyId) + navCancelKeyRef.current = navKey + + if (isResolvingActiveSend) { + return + } + cancelStreaming() } }, [activeCanonicalKey, activeFriendlyId, isNewChat, cancelStreaming])