feat(chat-window): fix wrong history while rewriting

This commit is contained in:
ItzCrazyKns
2025-07-22 21:21:49 +05:30
parent 11a828b073
commit 6ea17d54c6

View File

@ -354,7 +354,11 @@ const ChatWindow = ({ id }: { id?: string }) => {
} }
}, [isMessagesLoaded, isConfigReady]); }, [isMessagesLoaded, isConfigReady]);
const sendMessage = async (message: string, messageId?: string) => { const sendMessage = async (
message: string,
messageId?: string,
rewrite = false,
) => {
if (loading) return; if (loading) return;
if (!isConfigReady) { if (!isConfigReady) {
toast.error('Cannot send message before the configuration is ready'); toast.error('Cannot send message before the configuration is ready');
@ -482,6 +486,8 @@ const ChatWindow = ({ id }: { id?: string }) => {
} }
}; };
const messageIndex = messages.findIndex((m) => m.messageId === messageId);
const res = await fetch('/api/chat', { const res = await fetch('/api/chat', {
method: 'POST', method: 'POST',
headers: { headers: {
@ -498,7 +504,9 @@ const ChatWindow = ({ id }: { id?: string }) => {
files: fileIds, files: fileIds,
focusMode: focusMode, focusMode: focusMode,
optimizationMode: optimizationMode, optimizationMode: optimizationMode,
history: chatHistory, history: rewrite
? chatHistory.slice(0, messageIndex === -1 ? undefined : messageIndex)
: chatHistory,
chatModel: { chatModel: {
name: chatModelProvider.name, name: chatModelProvider.name,
provider: chatModelProvider.provider, provider: chatModelProvider.provider,
@ -552,7 +560,7 @@ const ChatWindow = ({ id }: { id?: string }) => {
return [...prev.slice(0, messages.length > 2 ? index - 1 : 0)]; return [...prev.slice(0, messages.length > 2 ? index - 1 : 0)];
}); });
sendMessage(message.content, message.messageId); sendMessage(message.content, message.messageId, true);
}; };
useEffect(() => { useEffect(() => {