#2159 Move debounce constants to a separate module
This commit is contained in:
parent
94e9b8f4b1
commit
6ac6c7cfda
|
@ -153,8 +153,8 @@ import {
|
||||||
isValidUrl,
|
isValidUrl,
|
||||||
ensureImageFormatSupported,
|
ensureImageFormatSupported,
|
||||||
flashHighlight,
|
flashHighlight,
|
||||||
debounce_timeout,
|
|
||||||
} from './scripts/utils.js';
|
} from './scripts/utils.js';
|
||||||
|
import { debounce_timeout } from './scripts/constants.js';
|
||||||
|
|
||||||
import { ModuleWorkerWrapper, doDailyExtensionUpdatesCheck, extension_settings, getContext, loadExtensionSettings, renderExtensionTemplate, renderExtensionTemplateAsync, runGenerationInterceptors, saveMetadataDebounced, writeExtensionField } from './scripts/extensions.js';
|
import { ModuleWorkerWrapper, doDailyExtensionUpdatesCheck, extension_settings, getContext, loadExtensionSettings, renderExtensionTemplate, renderExtensionTemplateAsync, runGenerationInterceptors, saveMetadataDebounced, writeExtensionField } from './scripts/extensions.js';
|
||||||
import { COMMENT_NAME_DEFAULT, executeSlashCommands, getSlashCommandsHelp, processChatSlashCommands, registerSlashCommand } from './scripts/slash-commands.js';
|
import { COMMENT_NAME_DEFAULT, executeSlashCommands, getSlashCommandsHelp, processChatSlashCommands, registerSlashCommand } from './scripts/slash-commands.js';
|
||||||
|
|
|
@ -4,7 +4,8 @@ import { callPopup, event_types, eventSource, is_send_press, main_api, substitut
|
||||||
import { is_group_generating } from './group-chats.js';
|
import { is_group_generating } from './group-chats.js';
|
||||||
import { Message, TokenHandler } from './openai.js';
|
import { Message, TokenHandler } from './openai.js';
|
||||||
import { power_user } from './power-user.js';
|
import { power_user } from './power-user.js';
|
||||||
import { debounce, waitUntilCondition, escapeHtml, debounce_timeout } from './utils.js';
|
import { debounce, waitUntilCondition, escapeHtml } from './utils.js';
|
||||||
|
import { debounce_timeout } from './constants.js';
|
||||||
|
|
||||||
function debouncePromise(func, delay) {
|
function debouncePromise(func, delay) {
|
||||||
let timeoutId;
|
let timeoutId;
|
||||||
|
|
|
@ -32,10 +32,11 @@ import {
|
||||||
SECRET_KEYS,
|
SECRET_KEYS,
|
||||||
secret_state,
|
secret_state,
|
||||||
} from './secrets.js';
|
} from './secrets.js';
|
||||||
import { debounce, debounce_timeout, getStringHash, isValidUrl } from './utils.js';
|
import { debounce, getStringHash, isValidUrl } from './utils.js';
|
||||||
import { chat_completion_sources, oai_settings } from './openai.js';
|
import { chat_completion_sources, oai_settings } from './openai.js';
|
||||||
import { getTokenCountAsync } from './tokenizers.js';
|
import { getTokenCountAsync } from './tokenizers.js';
|
||||||
import { textgen_types, textgenerationwebui_settings as textgen_settings, getTextGenServer } from './textgen-settings.js';
|
import { textgen_types, textgenerationwebui_settings as textgen_settings, getTextGenServer } from './textgen-settings.js';
|
||||||
|
import { debounce_timeout } from './constants.js';
|
||||||
|
|
||||||
import Bowser from '../lib/bowser.min.js';
|
import Bowser from '../lib/bowser.min.js';
|
||||||
|
|
||||||
|
|
|
@ -10,8 +10,9 @@ import {
|
||||||
import { selected_group } from './group-chats.js';
|
import { selected_group } from './group-chats.js';
|
||||||
import { extension_settings, getContext, saveMetadataDebounced } from './extensions.js';
|
import { extension_settings, getContext, saveMetadataDebounced } from './extensions.js';
|
||||||
import { registerSlashCommand } from './slash-commands.js';
|
import { registerSlashCommand } from './slash-commands.js';
|
||||||
import { getCharaFilename, debounce, delay, debounce_timeout } from './utils.js';
|
import { getCharaFilename, debounce, delay } from './utils.js';
|
||||||
import { getTokenCountAsync } from './tokenizers.js';
|
import { getTokenCountAsync } from './tokenizers.js';
|
||||||
|
import { debounce_timeout } from './constants.js';
|
||||||
export { MODULE_NAME as NOTE_MODULE_NAME };
|
export { MODULE_NAME as NOTE_MODULE_NAME };
|
||||||
|
|
||||||
const MODULE_NAME = '2_floating_prompt'; // <= Deliberate, for sorting lower than memory
|
const MODULE_NAME = '2_floating_prompt'; // <= Deliberate, for sorting lower than memory
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
/**
|
||||||
|
* Common debounce timeout values to use with `debounce` calls.
|
||||||
|
* @enum {number}
|
||||||
|
*/
|
||||||
|
export const debounce_timeout = {
|
||||||
|
/** [100 ms] For ultra-fast responses, typically for keypresses or executions that might happen multiple times in a loop or recursion. */
|
||||||
|
quick: 100,
|
||||||
|
/** [300 ms] Default time for general use, good balance between responsiveness and performance. */
|
||||||
|
standard: 300,
|
||||||
|
/** [1.000 ms] For situations where the function triggers more intensive tasks. */
|
||||||
|
relaxed: 1000,
|
||||||
|
/** [5 sec] For delayed tasks, like auto-saving or completing batch operations that need a significant pause. */
|
||||||
|
extended: 5000,
|
||||||
|
};
|
|
@ -3,9 +3,10 @@ import { dragElement, isMobile } from '../../RossAscends-mods.js';
|
||||||
import { getContext, getApiUrl, modules, extension_settings, ModuleWorkerWrapper, doExtrasFetch, renderExtensionTemplateAsync } from '../../extensions.js';
|
import { getContext, getApiUrl, modules, extension_settings, ModuleWorkerWrapper, doExtrasFetch, renderExtensionTemplateAsync } from '../../extensions.js';
|
||||||
import { loadMovingUIState, power_user } from '../../power-user.js';
|
import { loadMovingUIState, power_user } from '../../power-user.js';
|
||||||
import { registerSlashCommand } from '../../slash-commands.js';
|
import { registerSlashCommand } from '../../slash-commands.js';
|
||||||
import { onlyUnique, debounce, getCharaFilename, trimToEndSentence, trimToStartSentence, debounce_timeout } from '../../utils.js';
|
import { onlyUnique, debounce, getCharaFilename, trimToEndSentence, trimToStartSentence } from '../../utils.js';
|
||||||
import { hideMutedSprites } from '../../group-chats.js';
|
import { hideMutedSprites } from '../../group-chats.js';
|
||||||
import { isJsonSchemaSupported } from '../../textgen-settings.js';
|
import { isJsonSchemaSupported } from '../../textgen-settings.js';
|
||||||
|
import { debounce_timeout } from '../../constants.js';
|
||||||
export { MODULE_NAME };
|
export { MODULE_NAME };
|
||||||
|
|
||||||
const MODULE_NAME = 'expressions';
|
const MODULE_NAME = 'expressions';
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { getStringHash, debounce, waitUntilCondition, extractAllWords, debounce_timeout } from '../../utils.js';
|
import { getStringHash, debounce, waitUntilCondition, extractAllWords } from '../../utils.js';
|
||||||
import { getContext, getApiUrl, extension_settings, doExtrasFetch, modules, renderExtensionTemplateAsync } from '../../extensions.js';
|
import { getContext, getApiUrl, extension_settings, doExtrasFetch, modules, renderExtensionTemplateAsync } from '../../extensions.js';
|
||||||
import {
|
import {
|
||||||
activateSendButtons,
|
activateSendButtons,
|
||||||
|
@ -20,6 +20,7 @@ import { registerSlashCommand } from '../../slash-commands.js';
|
||||||
import { loadMovingUIState } from '../../power-user.js';
|
import { loadMovingUIState } from '../../power-user.js';
|
||||||
import { dragElement } from '../../RossAscends-mods.js';
|
import { dragElement } from '../../RossAscends-mods.js';
|
||||||
import { getTextTokens, getTokenCountAsync, tokenizers } from '../../tokenizers.js';
|
import { getTextTokens, getTokenCountAsync, tokenizers } from '../../tokenizers.js';
|
||||||
|
import { debounce_timeout } from '../../constants.js';
|
||||||
export { MODULE_NAME };
|
export { MODULE_NAME };
|
||||||
|
|
||||||
const MODULE_NAME = '1_memory';
|
const MODULE_NAME = '1_memory';
|
||||||
|
|
|
@ -2,7 +2,8 @@ import { callPopup, main_api } from '../../../script.js';
|
||||||
import { getContext } from '../../extensions.js';
|
import { getContext } from '../../extensions.js';
|
||||||
import { registerSlashCommand } from '../../slash-commands.js';
|
import { registerSlashCommand } from '../../slash-commands.js';
|
||||||
import { getFriendlyTokenizerName, getTextTokens, getTokenCountAsync, tokenizers } from '../../tokenizers.js';
|
import { getFriendlyTokenizerName, getTextTokens, getTokenCountAsync, tokenizers } from '../../tokenizers.js';
|
||||||
import { resetScrollHeight, debounce, debounce_timeout } from '../../utils.js';
|
import { resetScrollHeight, debounce } from '../../utils.js';
|
||||||
|
import { debounce_timeout } from '../../constants.js';
|
||||||
|
|
||||||
function rgb2hex(rgb) {
|
function rgb2hex(rgb) {
|
||||||
rgb = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);
|
rgb = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);
|
||||||
|
|
|
@ -22,7 +22,8 @@ import {
|
||||||
import { collapseNewlines } from '../../power-user.js';
|
import { collapseNewlines } from '../../power-user.js';
|
||||||
import { SECRET_KEYS, secret_state, writeSecret } from '../../secrets.js';
|
import { SECRET_KEYS, secret_state, writeSecret } from '../../secrets.js';
|
||||||
import { getDataBankAttachments, getFileAttachment } from '../../chats.js';
|
import { getDataBankAttachments, getFileAttachment } from '../../chats.js';
|
||||||
import { debounce, getStringHash as calculateHash, waitUntilCondition, onlyUnique, splitRecursive, debounce_timeout } from '../../utils.js';
|
import { debounce, getStringHash as calculateHash, waitUntilCondition, onlyUnique, splitRecursive } from '../../utils.js';
|
||||||
|
import { debounce_timeout } from '../../constants.js';
|
||||||
import { getSortedEntries } from '../../world-info.js';
|
import { getSortedEntries } from '../../world-info.js';
|
||||||
|
|
||||||
const MODULE_NAME = 'vectors';
|
const MODULE_NAME = 'vectors';
|
||||||
|
|
|
@ -11,10 +11,10 @@ import {
|
||||||
getBase64Async,
|
getBase64Async,
|
||||||
resetScrollHeight,
|
resetScrollHeight,
|
||||||
initScrollHeight,
|
initScrollHeight,
|
||||||
debounce_timeout,
|
|
||||||
} from './utils.js';
|
} from './utils.js';
|
||||||
import { RA_CountCharTokens, humanizedDateTime, dragElement, favsToHotswap, getMessageTimeStamp } from './RossAscends-mods.js';
|
import { RA_CountCharTokens, humanizedDateTime, dragElement, favsToHotswap, getMessageTimeStamp } from './RossAscends-mods.js';
|
||||||
import { power_user, loadMovingUIState, sortEntitiesList } from './power-user.js';
|
import { power_user, loadMovingUIState, sortEntitiesList } from './power-user.js';
|
||||||
|
import { debounce_timeout } from './constants.js';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
chat,
|
chat,
|
||||||
|
|
|
@ -18,7 +18,8 @@ import {
|
||||||
} from '../script.js';
|
} from '../script.js';
|
||||||
import { persona_description_positions, power_user } from './power-user.js';
|
import { persona_description_positions, power_user } from './power-user.js';
|
||||||
import { getTokenCountAsync } from './tokenizers.js';
|
import { getTokenCountAsync } from './tokenizers.js';
|
||||||
import { debounce, debounce_timeout, delay, download, parseJsonFile } from './utils.js';
|
import { debounce, delay, download, parseJsonFile } from './utils.js';
|
||||||
|
import { debounce_timeout } from './constants.js';
|
||||||
|
|
||||||
const GRID_STORAGE_KEY = 'Personas_GridView';
|
const GRID_STORAGE_KEY = 'Personas_GridView';
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ import { getContext } from './extensions.js';
|
||||||
import { getRequestHeaders } from '../script.js';
|
import { getRequestHeaders } from '../script.js';
|
||||||
import { isMobile } from './RossAscends-mods.js';
|
import { isMobile } from './RossAscends-mods.js';
|
||||||
import { collapseNewlines } from './power-user.js';
|
import { collapseNewlines } from './power-user.js';
|
||||||
|
import { debounce_timeout } from './constants.js';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pagination status string template.
|
* Pagination status string template.
|
||||||
|
@ -18,21 +19,6 @@ export const navigation_option = {
|
||||||
previous: -1000,
|
previous: -1000,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* Common debounce timeout values to use with `debounce` calls.
|
|
||||||
* @enum {number}
|
|
||||||
*/
|
|
||||||
export const debounce_timeout = {
|
|
||||||
/** [100 ms] For ultra-fast responses, typically for keypresses or executions that might happen multiple times in a loop or recursion. */
|
|
||||||
quick: 100,
|
|
||||||
/** [300 ms] Default time for general use, good balance between responsiveness and performance. */
|
|
||||||
standard: 300,
|
|
||||||
/** [1.000 ms] For situations where the function triggers more intensive tasks. */
|
|
||||||
relaxed: 1000,
|
|
||||||
/** [5 sec] For delayed tasks, like auto-saving or completing batch operations that need a significant pause. */
|
|
||||||
extended: 5000,
|
|
||||||
};
|
|
||||||
|
|
||||||
export function escapeHtml(str) {
|
export function escapeHtml(str) {
|
||||||
return String(str).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
|
return String(str).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { saveSettings, callPopup, substituteParams, getRequestHeaders, chat_metadata, this_chid, characters, saveCharacterDebounced, menu_type, eventSource, event_types, getExtensionPromptByName, saveMetadata, getCurrentChatId, extension_prompt_roles } from '../script.js';
|
import { saveSettings, callPopup, substituteParams, getRequestHeaders, chat_metadata, this_chid, characters, saveCharacterDebounced, menu_type, eventSource, event_types, getExtensionPromptByName, saveMetadata, getCurrentChatId, extension_prompt_roles } from '../script.js';
|
||||||
import { download, debounce, initScrollHeight, resetScrollHeight, parseJsonFile, extractDataFromPng, getFileBuffer, getCharaFilename, getSortableDelay, escapeRegex, PAGINATION_TEMPLATE, navigation_option, waitUntilCondition, isTrueBoolean, setValueByPath, flashHighlight, debounce_timeout } from './utils.js';
|
import { download, debounce, initScrollHeight, resetScrollHeight, parseJsonFile, extractDataFromPng, getFileBuffer, getCharaFilename, getSortableDelay, escapeRegex, PAGINATION_TEMPLATE, navigation_option, waitUntilCondition, isTrueBoolean, setValueByPath, flashHighlight } from './utils.js';
|
||||||
import { extension_settings, getContext } from './extensions.js';
|
import { extension_settings, getContext } from './extensions.js';
|
||||||
import { NOTE_MODULE_NAME, metadata_keys, shouldWIAddPrompt } from './authors-note.js';
|
import { NOTE_MODULE_NAME, metadata_keys, shouldWIAddPrompt } from './authors-note.js';
|
||||||
import { registerSlashCommand } from './slash-commands.js';
|
import { registerSlashCommand } from './slash-commands.js';
|
||||||
|
@ -9,6 +9,7 @@ import { getTokenCountAsync } from './tokenizers.js';
|
||||||
import { power_user } from './power-user.js';
|
import { power_user } from './power-user.js';
|
||||||
import { getTagKeyForEntity } from './tags.js';
|
import { getTagKeyForEntity } from './tags.js';
|
||||||
import { resolveVariable } from './variables.js';
|
import { resolveVariable } from './variables.js';
|
||||||
|
import { debounce_timeout } from './constants.js';
|
||||||
|
|
||||||
export {
|
export {
|
||||||
world_info,
|
world_info,
|
||||||
|
|
Loading…
Reference in New Issue