Cancel debounced chat save before clearing chat

e5677b620d590460eaba47f1262d185312bb6535

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +14 -10Showing whitespace changes
public/script.js+14 -10
@@ -1979,7 +1979,19 @@ export async function printMessages() {
19791979 }
19801980}
19811981
1982+/**
1983+ * Cancels the debounced chat save if it is currently pending.
1984+ */
1985+export function cancelDebouncedChatSave() {
1986+ if (chatSaveTimeout) {
1987+ console.debug('Debounced chat save cancelled');
1988+ clearTimeout(chatSaveTimeout);
1989+ chatSaveTimeout = null;
1990+ }
1991+}
1992+
19821993export async function clearChat() {
1994+ cancelDebouncedChatSave();
19831995 closeMessageEditor();
19841996 extension_prompts = {};
19851997 if (is_delete_mode) {
@@ -6929,11 +6941,7 @@ export function saveChatDebounced() {
69296941 const chid = this_chid;
69306942 const selectedGroup = selected_group;
69316943
6932- if (chatSaveTimeout) {
6944+ cancelDebouncedChatSave();
6933- console.debug('Clearing chat save timeout');
6934- clearTimeout(chatSaveTimeout);
6935- chatSaveTimeout = null;
6936- }
69376945
69386946 chatSaveTimeout = setTimeout(async () => {
69396947 if (selectedGroup !== selected_group) {
@@ -8646,11 +8654,7 @@ export async function saveChatConditional() {
86468654 }
86478655
86488656 try {
8649- if (chatSaveTimeout) {
8657+ cancelDebouncedChatSave();
8650- console.debug('Debounced chat save canceled');
8651- clearTimeout(chatSaveTimeout);
8652- chatSaveTimeout = null;
8653- }
86548658
86558659 isChatSaving = true;
86568660