diff --git a/public/scripts/extensions.js b/public/scripts/extensions.js index daf51109e..b21d7348a 100644 --- a/public/scripts/extensions.js +++ b/public/scripts/extensions.js @@ -1,5 +1,5 @@ import { callPopup, eventSource, event_types, saveSettings, saveSettingsDebounced } from "../script.js"; -import { isSubsetOf } from "./utils.js"; +import { isSubsetOf, debounce } from "./utils.js"; export { getContext, getApiUrl, @@ -14,6 +14,7 @@ export { let extensionNames = []; let manifests = []; const defaultUrl = "http://localhost:5100"; +export const saveMetadataDebounced = debounce(async () => await getContext().saveMetadata(), 1000); // Disables parallel updates class ModuleWorkerWrapper { diff --git a/public/scripts/extensions/backgrounds/index.js b/public/scripts/extensions/backgrounds/index.js index e9a1c541d..3c7dbfafb 100644 --- a/public/scripts/extensions/backgrounds/index.js +++ b/public/scripts/extensions/backgrounds/index.js @@ -1,4 +1,4 @@ -import { getContext } from "../../extensions.js"; +import { getContext, saveMetadataDebounced } from "../../extensions.js"; export { MODULE_NAME }; const MODULE_NAME = 'backgrounds'; @@ -51,13 +51,13 @@ function hasCustomBackground() { function saveBackgroundMetadata(file) { const context = getContext(); context.chatMetadata[METADATA_KEY] = file; - context.saveMetadata(); + saveMetadataDebounced(); } function removeBackgroundMetadata() { const context = getContext(); delete context.chatMetadata[METADATA_KEY]; - context.saveMetadata(); + saveMetadataDebounced(); } function setCustomBackground() { @@ -126,4 +126,4 @@ $(document).ready(function () { addSettings(); setInterval(moduleWorker, UPDATE_INTERVAL); -}); \ No newline at end of file +}); diff --git a/public/scripts/extensions/floating-prompt/index.js b/public/scripts/extensions/floating-prompt/index.js index a454d56b5..ad2a491d8 100644 --- a/public/scripts/extensions/floating-prompt/index.js +++ b/public/scripts/extensions/floating-prompt/index.js @@ -1,11 +1,8 @@ import { chat_metadata, saveSettingsDebounced } from "../../../script.js"; -import { ModuleWorkerWrapper, extension_settings, getContext } from "../../extensions.js"; +import { ModuleWorkerWrapper, extension_settings, getContext, saveMetadataDebounced } from "../../extensions.js"; import { registerSlashCommand } from "../../slash-commands.js"; -import { debounce } from "../../utils.js"; export { MODULE_NAME }; -const saveMetadataDebounced = debounce(async () => await getContext().saveMetadata(), 1000); - const MODULE_NAME = '2_floating_prompt'; // <= Deliberate, for sorting lower than memory const UPDATE_INTERVAL = 1000; diff --git a/public/scripts/extensions/objective/index.js b/public/scripts/extensions/objective/index.js index 1799bd3c8..857387449 100644 --- a/public/scripts/extensions/objective/index.js +++ b/public/scripts/extensions/objective/index.js @@ -1,15 +1,13 @@ import { chat_metadata } from "../../../script.js"; -import { getContext, extension_settings } from "../../extensions.js"; +import { getContext, extension_settings, saveMetadataDebounced } from "../../extensions.js"; import { substituteParams, eventSource, event_types, } from "../../../script.js"; -import { debounce } from "../../utils.js"; const MODULE_NAME = "Objective" -const saveMetadataDebounced = debounce(async () => await context.saveMetadata(), 1000); let globalObjective = "" let globalTasks = []