From 5bb8a232e2632286e32e2cce9c8faca5e912e918 Mon Sep 17 00:00:00 2001 From: Tianzhou Chen Date: Sat, 6 May 2023 00:07:51 +0800 Subject: [PATCH] chore: re-arrange addMessage to avoid returning partial error Strange I can only observe this in prod. Not in local env even using `next build && next start` --- src/components/ConversationView/index.tsx | 31 +++++++++++++---------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/components/ConversationView/index.tsx b/src/components/ConversationView/index.tsx index 58000d5..b0e4e5c 100644 --- a/src/components/ConversationView/index.tsx +++ b/src/components/ConversationView/index.tsx @@ -150,18 +150,6 @@ const ConversationView = () => { }; messageStore.addMessage(userMessage); - // Add PENDING assistant message to the store. - const assistantMessage: Message = { - id: generateUUID(), - conversationId: currentConversation.id, - creatorId: currentConversation.assistantId, - creatorRole: CreatorRole.Assistant, - createdAt: Date.now(), - content: "", - status: "LOADING", - }; - messageStore.addMessage(assistantMessage); - // Construct the system prompt const messageList = messageStore .getState() @@ -264,13 +252,30 @@ const ConversationView = () => { } catch (error) { // do nth } - messageStore.updateMessage(assistantMessage.id, { + messageStore.addMessage({ + id: generateUUID(), + conversationId: currentConversation.id, + creatorId: currentConversation.assistantId, + creatorRole: CreatorRole.Assistant, + createdAt: Date.now(), content: errorMessage, status: "FAILED", }); return; } + // Add PENDING assistant message to the store. + const assistantMessage: Message = { + id: generateUUID(), + conversationId: currentConversation.id, + creatorId: currentConversation.assistantId, + creatorRole: CreatorRole.Assistant, + createdAt: Date.now(), + content: "", + status: "LOADING", + }; + messageStore.addMessage(assistantMessage); + const data = rawRes.body; if (!data) { toast.error("No data return");