mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-02-09 08:38:53 +01:00
Copy migrated preset into loaded presets
Since this only is populated once during page load
This commit is contained in:
parent
7fb896ce2a
commit
b1254fa2ab
@ -542,7 +542,7 @@ this
|
||||
};
|
||||
|
||||
// Register configuration migrations
|
||||
registerPromptManagerMigration(saveSettings);
|
||||
registerPromptManagerMigration();
|
||||
|
||||
$(document).ajaxError(function myErrorHandler(_, xhr) {
|
||||
if (xhr.status == 403) {
|
||||
@ -5089,7 +5089,7 @@ async function getSettings(type) {
|
||||
$("#your_name").val(name1);
|
||||
}
|
||||
|
||||
// Allow subscribers to mutate settings before applying any modifiers
|
||||
// Allow subscribers to mutate settings
|
||||
eventSource.emit(event_types.SETTINGS_LOADED_BEFORE, settings);
|
||||
|
||||
//Load KoboldAI settings
|
||||
|
@ -5,45 +5,32 @@ import {power_user} from "./power-user.js";
|
||||
/**
|
||||
* Register migrations for the prompt manager when settings are loaded or an Open AI preset is loaded.
|
||||
*/
|
||||
const registerPromptManagerMigration = (saveSettingsCallback) => {
|
||||
const migrate = (settings, preset) => {
|
||||
// If any of the specified settings exist, run the migration
|
||||
const registerPromptManagerMigration = () => {
|
||||
const migrate = (settings) => {
|
||||
if (settings.main_prompt || settings.nsfw_prompt || settings.jailbreak_prompt) {
|
||||
console.log('Running prompt manager configuration migration');
|
||||
if (settings.prompts === undefined || settings.prompts.length === 0) settings.prompts = chatCompletionDefaultPrompts.prompts;
|
||||
|
||||
const findPrompt = (identifier) => settings.prompts.find(prompt => identifier === prompt.identifier);
|
||||
if (preset.main_prompt) {
|
||||
findPrompt('main').content = preset.main_prompt
|
||||
if (settings.main_prompt) {
|
||||
findPrompt('main').content = settings.main_prompt
|
||||
delete settings.main_prompt;
|
||||
}
|
||||
|
||||
if (preset.nsfw_prompt) {
|
||||
findPrompt('nsfw').content = preset.nsfw_prompt
|
||||
if (settings.nsfw_prompt) {
|
||||
findPrompt('nsfw').content = settings.nsfw_prompt
|
||||
delete settings.nsfw_prompt;
|
||||
}
|
||||
|
||||
if (preset.jailbreak_prompt) {
|
||||
findPrompt('jailbreak').content = preset.jailbreak_prompt
|
||||
if (settings.jailbreak_prompt) {
|
||||
findPrompt('jailbreak').content = settings.jailbreak_prompt
|
||||
delete settings.jailbreak_prompt;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const migrateSettings = (settings) => {
|
||||
if (settings.main_prompt || settings.nsfw_prompt || settings.jailbreak_prompt) {
|
||||
console.log(`Migrating configuration`);
|
||||
migrate(settings, settings);
|
||||
}
|
||||
}
|
||||
|
||||
const migratePreset = (event) => {
|
||||
if (event.preset.main_prompt || event.preset.nsfw_prompt || event.preset.jailbreak_prompt) {
|
||||
console.log(`Migrating preset ${event.presetName}`);
|
||||
migrate(event.settings, event.preset);
|
||||
event.callback(event.presetName, event.settings, false);
|
||||
}
|
||||
}
|
||||
|
||||
eventSource.on(event_types.SETTINGS_LOADED_BEFORE, settings => migrateSettings(settings));
|
||||
eventSource.on(event_types.OAI_PRESET_CHANGED, settings => migratePreset(settings));
|
||||
eventSource.on(event_types.SETTINGS_LOADED_BEFORE, settings => migrate(settings));
|
||||
eventSource.on(event_types.OAI_PRESET_CHANGED, event => migrate(event.preset));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2358,6 +2358,10 @@ function onSettingsPresetChange() {
|
||||
oai_settings.preset_settings_openai = presetName;
|
||||
const preset = openai_settings[openai_setting_names[oai_settings.preset_settings_openai]];
|
||||
|
||||
eventSource.emit(event_types.OAI_PRESET_CHANGED, {preset: preset, settings: oai_settings})
|
||||
.then(() => saveOpenAIPreset(presetName, preset, false)
|
||||
.then(() => openai_settings[openai_setting_names[oai_settings.preset_settings_openai]] = preset));
|
||||
|
||||
const updateInput = (selector, value) => $(selector).val(value).trigger('input');
|
||||
const updateCheckbox = (selector, value) => $(selector).prop('checked', value).trigger('input');
|
||||
|
||||
@ -2413,8 +2417,6 @@ function onSettingsPresetChange() {
|
||||
$(`#chat_completion_source`).trigger('change');
|
||||
$(`#openai_logit_bias_preset`).trigger('change');
|
||||
|
||||
eventSource.emit(event_types.OAI_PRESET_CHANGED, {preset: preset, settings: oai_settings, presetName: presetName, callback: saveOpenAIPreset});
|
||||
|
||||
saveSettingsDebounced();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user