Browse Source

Reorganize thread mutation process

Shun Miyazawa 11 months ago
parent
commit
1e74a14876

+ 0 - 6
apps/app/src/features/openai/client/components/AiAssistant/AiAssistantSidebar/AiAssistantSidebar.tsx

@@ -214,13 +214,7 @@ const AiAssistantSidebarSubstance: React.FC<AiAssistantSidebarSubstanceProps> =
         }
 
         setCurrentThreadId(thread.threadId);
-
         currentThreadId_ = thread.threadId;
-
-        // No need to await because data is not used
-        if (!isEditorAssistant) {
-          mutateThreadData();
-        }
       }
       catch (err) {
         logger.error(err.toString());

+ 6 - 1
apps/app/src/features/openai/client/services/knowledge-assistant.tsx

@@ -7,6 +7,7 @@ import { handleIfSuccessfullyParsed } from '~/features/openai/utils/handle-if-su
 import type { IThreadRelationHasId } from '../../interfaces/thread-relation';
 import { ThreadType } from '../../interfaces/thread-relation';
 import { useAiAssistantSidebar } from '../stores/ai-assistant';
+import { useSWRMUTxThreads } from '../stores/thread';
 
 interface CreateThread {
   (aiAssistantId: string, initialUserMessage: string): Promise<IThreadRelationHasId>;
@@ -38,6 +39,7 @@ export const useKnowledgeAssistant: UseKnowledgeAssistant = () => {
   const { data: aiAssistantSidebarData } = useAiAssistantSidebar();
   const { aiAssistantData } = aiAssistantSidebarData ?? {};
   const { threadData } = aiAssistantSidebarData ?? {};
+  const { trigger: mutateThreadData } = useSWRMUTxThreads(aiAssistantData?._id);
 
   // States
   const [currentThreadTitle, setCurrentThreadId] = useState(threadData?.title);
@@ -53,8 +55,11 @@ export const useKnowledgeAssistant: UseKnowledgeAssistant = () => {
 
     setCurrentThreadId(thread.title);
 
+    // No need to await because data is not used
+    mutateThreadData();
+
     return thread;
-  }, []);
+  }, [mutateThreadData]);
 
   const postMessage: PostMessage = useCallback(async(aiAssistantId, threadId, userMessage, summaryMode) => {
     const response = await fetch('/_api/v3/openai/message', {