Timothy Jaeryang Baek 4 months ago
parent
commit
0d5ce23885
2 changed files with 18 additions and 7 deletions
  1. 4 4
      backend/open_webui/utils/middleware.py
  2. 14 3
      src/lib/components/chat/Chat.svelte

+ 4 - 4
backend/open_webui/utils/middleware.py

@@ -541,7 +541,7 @@ async def process_chat_response(request, response, user, events, metadata, tasks
                 for event in events:
                     await event_emitter(
                         {
-                            "type": "chat-completion",
+                            "type": "chat:completion",
                             "data": event,
                         }
                     )
@@ -590,7 +590,7 @@ async def process_chat_response(request, response, user, events, metadata, tasks
 
                     await event_emitter(
                         {
-                            "type": "chat-completion",
+                            "type": "chat:completion",
                             "data": data,
                         }
                     )
@@ -623,7 +623,7 @@ async def process_chat_response(request, response, user, events, metadata, tasks
 
                             await event_emitter(
                                 {
-                                    "type": "chat-title",
+                                    "type": "chat:title",
                                     "data": title,
                                 }
                             )
@@ -658,7 +658,7 @@ async def process_chat_response(request, response, user, events, metadata, tasks
 
                                 await event_emitter(
                                     {
-                                        "type": "chat-tags",
+                                        "type": "chat:tags",
                                         "data": tags,
                                     }
                                 )

+ 14 - 3
src/lib/components/chat/Chat.svelte

@@ -244,13 +244,13 @@
 							message.sources = [data];
 						}
 					}
-				} else if (type === 'chat-completion') {
+				} else if (type === 'chat:completion') {
 					chatCompletionEventHandler(data, message, event.chat_id);
-				} else if (type === 'chat-title') {
+				} else if (type === 'chat:title') {
 					chatTitle.set(data);
 					currentChatPage.set(1);
 					await chats.set(await getChatList(localStorage.token, $currentChatPage));
-				} else if (type === 'chat-tags') {
+				} else if (type === 'chat:tags') {
 					chat = await getChatById(localStorage.token, $chatId);
 					allTags.set(await getAllTags(localStorage.token));
 				} else if (type === 'message') {
@@ -303,6 +303,17 @@
 
 				history.messages[event.message_id] = message;
 			}
+		} else {
+			await tick();
+			const type = event?.data?.type ?? null;
+			const data = event?.data?.data ?? null;
+
+			if (type === 'chat:title') {
+				currentChatPage.set(1);
+				await chats.set(await getChatList(localStorage.token, $currentChatPage));
+			} else if (type === 'chat:tags') {
+				allTags.set(await getAllTags(localStorage.token));
+			}
 		}
 	};