🐛fix: Fix message saving missing the last conversation

- Modify saveMessagesImmediately to accept messages parameter
- Pass updated message list to all save calls instead of relying on closure
- Ensure complete message history is saved including the last message
- Fix timing issue where old message state was being saved

This fixes the issue where the last conversation was not being persisted to localStorage.
This commit is contained in:
Apple\Apple
2025-06-02 21:39:51 +08:00
parent f9c8a802ef
commit 18c2e5cd98
5 changed files with 27 additions and 25 deletions

View File

@@ -164,8 +164,8 @@ export const useMessageActions = (message, setMessage, onMessageSend, saveMessag
updatedMessages = prevMessages.filter(msg => msg.id !== targetMessage.id);
}
// 删除消息后保存
setTimeout(() => saveMessages(), 0);
// 删除消息后保存,传入更新后的消息列表
setTimeout(() => saveMessages(updatedMessages), 0);
return updatedMessages;
});
},
@@ -189,8 +189,8 @@ export const useMessageActions = (message, setMessage, onMessageSend, saveMessag
return msg;
});
// 切换角色后保存
setTimeout(() => saveMessages(), 0);
// 切换角色后保存,传入更新后的消息列表
setTimeout(() => saveMessages(updatedMessages), 0);
return updatedMessages;
});