Merge branch 'staging' of https://github.com/SillyTavern/SillyTavern into staging

c807e9f36ccdb24f1e3dce5b97ee2ad7dbae1e03

Yokayo <nonameutubecomm@gmail.com>

5 files changed, +17 -10Ignore whitespace
default/config.yaml+3 -1
@@ -90,9 +90,11 @@ whitelistImportDomains:
9090## headers:
9191## User-Agent: "Googlebot/2.1 (+http://www.google.com/bot.html)"
9292requestOverrides: []
9393# -- PLUGINEXTENSIONS CONFIGURATION --
9494# Enable UI extensions
9595enableExtensions: true
96+# Automatically update extensions when a release version changes
97+enableExtensionsAutoUpdate: true
9698# Extension settings
9799extras:
98100 # Disables automatic model download from HuggingFace
public/script.js+4 -2
@@ -416,6 +416,7 @@ export const event_types = {
416416 GENERATION_STOPPED: 'generation_stopped',
417417 GENERATION_ENDED: 'generation_ended',
418418 EXTENSIONS_FIRST_LOAD: 'extensions_first_load',
419+ EXTENSION_SETTINGS_LOADED: 'extension_settings_loaded',
419420 SETTINGS_LOADED: 'settings_loaded',
420421 SETTINGS_UPDATED: 'settings_updated',
421422 GROUP_UPDATED: 'group_updated',
@@ -6517,9 +6518,10 @@ export async function getSettings() {
65176518 selected_button = settings.selected_button;
65186519
65196520 if (data.enable_extensions) {
6521+ const enableAutoUpdate = Boolean(data.enable_extensions_auto_update);
65206522 const isVersionChanged = settings.currentVersion !== currentVersion;
65216523 await loadExtensionSettings(settings, isVersionChanged, enableAutoUpdate);
65226524 await eventSource.emit(event_types.EXTENSION_SETTINGS_LOADED);
65236525 }
65246526
65256527 firstRun = !!settings.firstRun;
public/scripts/extensions.js+7 -6
@@ -307,7 +307,7 @@ async function activateExtensions() {
307307
308308 if (!isDisabled) {
309309 const promise = Promise.all([addExtensionScript(name, manifest), addExtensionStyle(name, manifest)]);
310310 await promise
311311 .then(() => activeExtensions.add(name))
312312 .catch(err => console.log('Could not activate extension: ' + name, err));
313313 promises.push(promise);
@@ -822,16 +822,17 @@ export async function installExtension(url) {
822822 const response = await request.json();
823823 toastr.success(`Extension "${response.display_name}" by ${response.author} (version ${response.version}) has been installed successfully!`, 'Extension installation successful');
824824 console.debug(`Extension "${response.display_name}" has been installed successfully at ${response.extensionPath}`);
825825 await loadExtensionSettings({}, false, false);
826826 await eventSource.emit(event_types.EXTENSION_SETTINGS_LOADED);
827827}
828828
829829/**
830830 * Loads extension settings from the app settings.
831831 * @param {object} settings App Settings
832832 * @param {boolean} versionChanged Is this a version change?
833+ * @param {boolean} enableAutoUpdate Enable auto-update
833834 */
834835async function loadExtensionSettings(settings, versionChanged, enableAutoUpdate) {
835836 if (settings.extension_settings) {
836837 Object.assign(extension_settings, settings.extension_settings);
837838 }
@@ -842,11 +843,11 @@ async function loadExtensionSettings(settings, versionChanged) {
842843 $('#extensions_notify_updates').prop('checked', extension_settings.notifyUpdates);
843844
844845 // Activate offline extensions
845846 await eventSource.emit(event_types.EXTENSIONS_FIRST_LOAD);
846847 extensionNames = await discoverExtensions();
847848 manifests = await getManifests(extensionNames);
848849
849850 if (versionChanged && enableAutoUpdate) {
850851 await autoUpdateExtensions(false);
851852 }
852853
public/scripts/showdown-underscore.js+1 -1
@@ -8,7 +8,7 @@ export const markdownUnderscoreExt = () => {
88
99 return [{
1010 type: 'output',
1111 regex: new RegExp('(<code(?:\\s+[^>]*)?>[\\s\\S]*?<\\/code>)|\\b(?<!_)_(?!_)(.*?)(?<!_)_(?!_)\\b', 'g'),
1212 replace: function(match, codeContent, italicContent) {
1313 if (codeContent) {
1414 // If it's inside <code> tags, return unchanged
src/endpoints/settings.js+2 -0
@@ -9,6 +9,7 @@ const { jsonParser } = require('../express-common');
99const { getAllUserHandles, getUserDirectories } = require('../users');
1010
1111const ENABLE_EXTENSIONS = getConfigValue('enableExtensions', true);
12+const ENABLE_EXTENSIONS_AUTO_UPDATE = getConfigValue('enableExtensionsAutoUpdate', true);
1213const ENABLE_ACCOUNTS = getConfigValue('enableUserAccounts', false);
1314
1415// 10 minutes
@@ -268,6 +269,7 @@ router.post('/get', jsonParser, (request, response) => {
268269 instruct,
269270 context,
270271 enable_extensions: ENABLE_EXTENSIONS,
272+ enable_extensions_auto_update: ENABLE_EXTENSIONS_AUTO_UPDATE,
271273 enable_accounts: ENABLE_ACCOUNTS,
272274 });
273275});