MCPcopy Create free account
hub / github.com/simstudioai/sim / stopStreaming

Function stopStreaming

apps/sim/app/(interfaces)/chat/hooks/use-chat-streaming.ts:77–108  ·  view source on GitHub ↗
(setMessages: React.Dispatch<React.SetStateAction<ChatMessage[]>>)

Source from the content-addressed store, hash-verified

75 const lastDisplayedPositionRef = useRef<number>(0) // Track displayed text in synced mode
76
77 const stopStreaming = (setMessages: React.Dispatch<React.SetStateAction<ChatMessage[]>>) => {
78 if (abortControllerRef.current) {
79 // Abort the fetch request
80 abortControllerRef.current.abort()
81 abortControllerRef.current = null
82
83 const latestContent = accumulatedTextRef.current
84
85 setMessages((prev) => {
86 const lastMessage = prev[prev.length - 1]
87
88 if (lastMessage && lastMessage.type === 'assistant') {
89 const content = latestContent || lastMessage.content
90 const updatedContent =
91 content + (content ? '\n\n_Response stopped by user._' : '_Response stopped by user._')
92
93 return [
94 ...prev.slice(0, -1),
95 { ...lastMessage, content: updatedContent, isStreaming: false },
96 ]
97 }
98
99 return prev
100 })
101
102 setIsStreamingResponse(false)
103 accumulatedTextRef.current = ''
104 lastStreamedPositionRef.current = 0
105 lastDisplayedPositionRef.current = 0
106 audioStreamingActiveRef.current = false
107 }
108 }
109
110 const handleStreamedResponse = async (
111 response: Response,

Callers 2

ChatClientFunction · 0.85
useSpeechToTextFunction · 0.85

Calls 1

abortMethod · 0.65

Tested by

no test coverage detected