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 { 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 {

View File

@ -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);
});
});

View File

@ -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;

View File

@ -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 = []