Cancel debounced chat save before clearing chat

e5677b620d590460eaba47f1262d185312bb6535

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

1 files changed, +14 -10Ignore whitespace
public/script.js+14 -10
@@ -1979,7 +1979,19 @@ export async function printMessages() {
1979 }1979 }
1980}1980}
19811981
1982/**
1983 * Cancels the debounced chat save if it is currently pending.
1984 */
1985export function cancelDebouncedChatSave() {
1986 if (chatSaveTimeout) {
1987 console.debug('Debounced chat save cancelled');
1988 clearTimeout(chatSaveTimeout);
1989 chatSaveTimeout = null;
1990 }
1991}
1992
1982export async function clearChat() {1993export async function clearChat() {
1994 cancelDebouncedChatSave();
1983 closeMessageEditor();1995 closeMessageEditor();
1984 extension_prompts = {};1996 extension_prompts = {};
1985 if (is_delete_mode) {1997 if (is_delete_mode) {
@@ -6929,11 +6941,7 @@ export function saveChatDebounced() {
6929 const chid = this_chid;6941 const chid = this_chid;
6930 const selectedGroup = selected_group;6942 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
6938 chatSaveTimeout = setTimeout(async () => {6946 chatSaveTimeout = setTimeout(async () => {
6939 if (selectedGroup !== selected_group) {6947 if (selectedGroup !== selected_group) {
@@ -8646,11 +8654,7 @@ export async function saveChatConditional() {
8646 }8654 }
86478655
8648 try {8656 try {
8649 if (chatSaveTimeout) {8657 cancelDebouncedChatSave();
8650 console.debug('Debounced chat save canceled');
8651 clearTimeout(chatSaveTimeout);
8652 chatSaveTimeout = null;
8653 }
86548658
8655 isChatSaving = true;8659 isChatSaving = true;
86568660