From dce0378eb201e0964eb31aa6d890c4cdbb94a1fa Mon Sep 17 00:00:00 2001 From: Andrew Pareles Date: Fri, 17 Jan 2025 16:39:24 -0800 Subject: [PATCH] fix cancel streaming --- .../browser/react/src/sidebar-tsx/SidebarChat.tsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx b/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx index 54bc1d85..69b015b2 100644 --- a/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx +++ b/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx @@ -548,7 +548,8 @@ export const SidebarChat = () => { // stream state const chatThreadsStreamState = useChatThreadsStreamState(chatThreadsState.currentThreadId) - const isCurrThreadStreaming = !!chatThreadsStreamState?.streamingToken + const streamingToken = chatThreadsStreamState?.streamingToken + const isStreaming = !!streamingToken const latestError = chatThreadsStreamState?.error const messageSoFar = chatThreadsStreamState?.messageSoFar @@ -569,7 +570,7 @@ export const SidebarChat = () => { const onSubmit = async () => { if (isDisabled) return - if (isCurrThreadStreaming) return + if (isStreaming) return // send message to LLM const userMessage = textAreaRef.current?.value ?? '' @@ -582,9 +583,9 @@ export const SidebarChat = () => { } const onAbort = () => { - const token = chatThreadsStreamState?.streamingToken - if (!token) return - chatThreadsService.cancelStreaming(token) + // this assumes an instant cancellation doesn't happen, since streamingToken state must have updated by this time + if (!streamingToken) return + chatThreadsService.cancelStreaming(streamingToken) } // const [_test_messages, _set_test_messages] = useState([]) @@ -626,7 +627,7 @@ export const SidebarChat = () => { )} {/* message stream */} - + @@ -700,7 +701,7 @@ export const SidebarChat = () => { {/* submit / stop button */} - {isCurrThreadStreaming ? + {isStreaming ? // stop button