Selaa lähdekoodia

fix: frontend handle sometimes server not generate the wrong follow up data struct (#7916)

Joel 7 kuukautta sitten
vanhempi
commit
7fdd964379

+ 10 - 5
web/app/components/base/chat/chat/hooks.ts

@@ -372,11 +372,16 @@ export const useChat = (
             handleUpdateChatList(newChatList)
           }
           if (config?.suggested_questions_after_answer?.enabled && !hasStopResponded.current && onGetSuggestedQuestions) {
-            const { data }: any = await onGetSuggestedQuestions(
-              responseItem.id,
-              newAbortController => suggestedQuestionsAbortControllerRef.current = newAbortController,
-            )
-            setSuggestQuestions(data)
+            try {
+              const { data }: any = await onGetSuggestedQuestions(
+                responseItem.id,
+                newAbortController => suggestedQuestionsAbortControllerRef.current = newAbortController,
+              )
+              setSuggestQuestions(data)
+            }
+            catch (e) {
+              setSuggestQuestions([])
+            }
           }
         },
         onFile(file) {

+ 10 - 5
web/app/components/workflow/panel/debug-and-preview/hooks.ts

@@ -248,11 +248,16 @@ export const useChat = (
           }
 
           if (config?.suggested_questions_after_answer?.enabled && !hasStopResponded.current && onGetSuggestedQuestions) {
-            const { data }: any = await onGetSuggestedQuestions(
-              responseItem.id,
-              newAbortController => suggestedQuestionsAbortControllerRef.current = newAbortController,
-            )
-            setSuggestQuestions(data)
+            try {
+              const { data }: any = await onGetSuggestedQuestions(
+                responseItem.id,
+                newAbortController => suggestedQuestionsAbortControllerRef.current = newAbortController,
+              )
+              setSuggestQuestions(data)
+            }
+            catch (error) {
+              setSuggestQuestions([])
+            }
           }
         },
         onMessageEnd: (messageEnd) => {