Просмотр исходного кода

Merge pull request #9721 from weseek/feat/162841-show-latest-chat-history

impv: Show latest chat history
Yuki Takei 1 год назад
Родитель
Сommit
7eb3f68c4f

+ 3 - 1
apps/app/src/features/openai/client/components/AiAssistant/AiAssistantChatSidebar/AiAssistantChatSidebar.tsx

@@ -76,7 +76,9 @@ const AiAssistantChatSidebarSubstance: React.FC<AiAssistantChatSidebarSubstanceP
     const fetchAndSetMessageData = async() => {
       const messageData = await mutateMessageData();
       if (messageData != null) {
-        const normalizedMessageData = messageData.data.filter(message => message.metadata?.shouldHideMessage !== 'true');
+        const normalizedMessageData = messageData.data
+          .reverse()
+          .filter(message => message.metadata?.shouldHideMessage !== 'true');
 
         setMessageLogs(() => {
           return normalizedMessageData.map((message, index) => (

+ 2 - 2
apps/app/src/features/openai/server/routes/get-messages.ts

@@ -53,13 +53,13 @@ export const getMessagesFactory: GetMessagesFactory = (crowi) => {
           threadId, aiAssistantId, limit, before, after,
         } = req.params;
 
-        const isAiAssistantUsable = openaiService.isAiAssistantUsable(aiAssistantId, req.user);
+        const isAiAssistantUsable = await openaiService.isAiAssistantUsable(aiAssistantId, req.user);
         if (!isAiAssistantUsable) {
           return res.apiv3Err(new ErrorV3('The specified AI assistant is not usable'), 400);
         }
 
         const messages = await openaiService.getMessageData(threadId, req.user.lang, {
-          limit, before, after, order: 'asc',
+          limit, before, after, order: 'desc',
         });
 
         return res.apiv3({ messages });

+ 1 - 1
apps/app/src/features/openai/server/services/delete-ai-assistant.ts

@@ -17,7 +17,7 @@ const logger = loggerFactory('growi:service:openai:delete-ai-assistant');
 export const deleteAiAssistant = async(ownerId: string, aiAssistantId: string): Promise<AiAssistantDocument> => {
   const openaiService = getOpenaiService();
   if (openaiService == null) {
-    throw createError('openaiService is not initialized', 500);
+    throw createError(500, 'openaiService is not initialized');
   }
 
   const aiAssistant = await AiAssistantModel.findOne({ owner: ownerId, _id: aiAssistantId });