Save metadata debounced for extensions

This commit is contained in:
SillyLossy
2023-06-01 16:51:35 +03:00
parent 68845481d8
commit 6bc520f800
4 changed files with 8 additions and 12 deletions

View File

@ -1,5 +1,5 @@
import { callPopup, eventSource, event_types, saveSettings, saveSettingsDebounced } from "../script.js"; import { callPopup, eventSource, event_types, saveSettings, saveSettingsDebounced } from "../script.js";
import { isSubsetOf } from "./utils.js"; import { isSubsetOf, debounce } from "./utils.js";
export { export {
getContext, getContext,
getApiUrl, getApiUrl,
@ -14,6 +14,7 @@ export {
let extensionNames = []; let extensionNames = [];
let manifests = []; let manifests = [];
const defaultUrl = "http://localhost:5100"; const defaultUrl = "http://localhost:5100";
export const saveMetadataDebounced = debounce(async () => await getContext().saveMetadata(), 1000);
// Disables parallel updates // Disables parallel updates
class ModuleWorkerWrapper { class ModuleWorkerWrapper {

View File

@ -1,4 +1,4 @@
import { getContext } from "../../extensions.js"; import { getContext, saveMetadataDebounced } from "../../extensions.js";
export { MODULE_NAME }; export { MODULE_NAME };
const MODULE_NAME = 'backgrounds'; const MODULE_NAME = 'backgrounds';
@ -51,13 +51,13 @@ function hasCustomBackground() {
function saveBackgroundMetadata(file) { function saveBackgroundMetadata(file) {
const context = getContext(); const context = getContext();
context.chatMetadata[METADATA_KEY] = file; context.chatMetadata[METADATA_KEY] = file;
context.saveMetadata(); saveMetadataDebounced();
} }
function removeBackgroundMetadata() { function removeBackgroundMetadata() {
const context = getContext(); const context = getContext();
delete context.chatMetadata[METADATA_KEY]; delete context.chatMetadata[METADATA_KEY];
context.saveMetadata(); saveMetadataDebounced();
} }
function setCustomBackground() { function setCustomBackground() {

View File

@ -1,11 +1,8 @@
import { chat_metadata, saveSettingsDebounced } from "../../../script.js"; 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 { registerSlashCommand } from "../../slash-commands.js";
import { debounce } from "../../utils.js";
export { MODULE_NAME }; export { MODULE_NAME };
const saveMetadataDebounced = debounce(async () => await getContext().saveMetadata(), 1000);
const MODULE_NAME = '2_floating_prompt'; // <= Deliberate, for sorting lower than memory const MODULE_NAME = '2_floating_prompt'; // <= Deliberate, for sorting lower than memory
const UPDATE_INTERVAL = 1000; const UPDATE_INTERVAL = 1000;

View File

@ -1,15 +1,13 @@
import { chat_metadata } from "../../../script.js"; import { chat_metadata } from "../../../script.js";
import { getContext, extension_settings } from "../../extensions.js"; import { getContext, extension_settings, saveMetadataDebounced } from "../../extensions.js";
import { import {
substituteParams, substituteParams,
eventSource, eventSource,
event_types, event_types,
} from "../../../script.js"; } from "../../../script.js";
import { debounce } from "../../utils.js";
const MODULE_NAME = "Objective" const MODULE_NAME = "Objective"
const saveMetadataDebounced = debounce(async () => await context.saveMetadata(), 1000);
let globalObjective = "" let globalObjective = ""
let globalTasks = [] let globalTasks = []