Suppress error messages when Firefox unloads the tab (#5013) * Fix error messages when Firefox tab reopened after unload #4989 * Export settingsReady flag

b89ffdfecea9766605028c4f8165b8f7f6012689

Cohee <18619528+Cohee1207@users.noreply.github.com>

Signed
2 files changed, +12 -1Showing whitespace changes
public/script.js+6 -1
@@ -388,7 +388,7 @@ let chatSaveTimeout;
388388let importFlashTimeout;
389389export let isChatSaving = false;
390390let firstRun = false;
391391export let settingsReady = false;
392392let currentVersion = '0.0.0';
393393export let displayVersion = 'SillyTavern';
394394
@@ -9463,6 +9463,11 @@ function addAlternateGreeting(template, greeting, index, getArray, popup) {
94639463 * @param {Event} [e] Event that triggered the function call.
94649464 */
94659465export async function createOrEditCharacter(e) {
9466+ if (!settingsReady) {
9467+ console.warn('Settings not ready, aborting character creation/editing.');
9468+ return;
9469+ }
9470+
94669471 $('#rm_info_avatar').html('');
94679472 const formData = new FormData(/** @type {HTMLFormElement} */($('#form_create').get(0)));
94689473 formData.set('fav', String(fav_ch_checked));
public/scripts/power-user.js+6 -0
@@ -30,6 +30,7 @@ import {
3030 extension_prompt_types,
3131 extension_prompt_roles,
3232 deleteMessage,
33+ settingsReady,
3334} from '../script.js';
3435import { isMobile, initMovingUI, favsToHotswap } from './RossAscends-mods.js';
3536import {
@@ -4016,6 +4017,11 @@ jQuery(() => {
40164017 power_user.experimental_macro_engine = !!$(this).prop('checked');
40174018 saveSettingsDebounced();
40184019
4020+ // Check if the app is ready before showing the toast
4021+ if (!settingsReady) {
4022+ return;
4023+ }
4024+
40194025 eventSource.once(event_types.SETTINGS_UPDATED, function() {
40204026 toastr.warning(
40214027 t`Click here to reload.`,