File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 22072207
22082208 const stopResponse = async () => {
22092209 if (taskIds ) {
2210- for (const taskId of taskIds ) {
2211- const res = await stopTask (localStorage .token , taskId ).catch ((error ) => {
2212- toast .error (` ${error } ` );
2213- return null ;
2214- });
2215- }
2216-
2210+ const _taskIds = [... taskIds ];
22172211 taskIds = null ;
22182212
2213+ // Immediately mark all response messages as done for instant UI feedback
22192214 const responseMessage = history .messages [history .currentId ];
2220- // Set all response messages to done
22212215 if (responseMessage .parentId && history .messages [responseMessage .parentId ]) {
22222216 for (const messageId of history .messages [responseMessage .parentId ].childrenIds ) {
22232217 history .messages [messageId ].done = true ;
22292223 if (autoScroll ) {
22302224 scrollToBottom ();
22312225 }
2226+
2227+ // Send stop requests to backend in parallel, non-blocking
2228+ Promise .all (
2229+ _taskIds .map ((taskId ) =>
2230+ stopTask (localStorage .token , taskId ).catch ((error ) => {
2231+ console .error (` Failed to stop task ${taskId }: ` , error );
2232+ })
2233+ )
2234+ );
22322235 }
22332236
22342237 if (generating ) {
You can’t perform that action at this time.
0 commit comments