Cancel debounced chat save before clearing chat

This commit is contained in:
Cohee
2025-05-17 15:38:52 +03:00
parent b571723f94
commit e5677b620d

View File

@ -1979,7 +1979,19 @@ export async function printMessages() {
} }
} }
/**
* Cancels the debounced chat save if it is currently pending.
*/
export function cancelDebouncedChatSave() {
if (chatSaveTimeout) {
console.debug('Debounced chat save cancelled');
clearTimeout(chatSaveTimeout);
chatSaveTimeout = null;
}
}
export async function clearChat() { export async function clearChat() {
cancelDebouncedChatSave();
closeMessageEditor(); closeMessageEditor();
extension_prompts = {}; extension_prompts = {};
if (is_delete_mode) { if (is_delete_mode) {
@ -6929,11 +6941,7 @@ export function saveChatDebounced() {
const chid = this_chid; const chid = this_chid;
const selectedGroup = selected_group; const selectedGroup = selected_group;
if (chatSaveTimeout) { cancelDebouncedChatSave();
console.debug('Clearing chat save timeout');
clearTimeout(chatSaveTimeout);
chatSaveTimeout = null;
}
chatSaveTimeout = setTimeout(async () => { chatSaveTimeout = setTimeout(async () => {
if (selectedGroup !== selected_group) { if (selectedGroup !== selected_group) {
@ -8646,11 +8654,7 @@ export async function saveChatConditional() {
} }
try { try {
if (chatSaveTimeout) { cancelDebouncedChatSave();
console.debug('Debounced chat save canceled');
clearTimeout(chatSaveTimeout);
chatSaveTimeout = null;
}
isChatSaving = true; isChatSaving = true;