diff --git a/public/script.js b/public/script.js index fdf42d92c..079372274 100644 --- a/public/script.js +++ b/public/script.js @@ -2335,7 +2335,7 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject, } } - function onSuccess(data) { + async function onSuccess(data) { hideStopButton(); is_send_press = false; if (!data.error) { @@ -2401,7 +2401,7 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject, else { ({ type, getMessage } = saveReply('appendFinal', getMessage, this_mes_is_name, title)); } - eventSource.emit(event_types.MESSAGE_RECEIVED, (chat.length - 1)); + await eventSource.emit(event_types.MESSAGE_RECEIVED, (chat.length - 1)); } activateSendButtons(); diff --git a/public/scripts/eventemitter.js b/public/scripts/eventemitter.js index 96c0f64e2..c7f22bad6 100644 --- a/public/scripts/eventemitter.js +++ b/public/scripts/eventemitter.js @@ -56,7 +56,13 @@ EventEmitter.prototype.emit = async function (event) { length = listeners.length; for (i = 0; i < length; i++) { - await listeners[i].apply(this, args); + try { + await listeners[i].apply(this, args); + } + catch (err) { + console.error(err); + console.trace('Error in event listener'); + } } } }; diff --git a/public/scripts/extensions/translate/index.js b/public/scripts/extensions/translate/index.js index 991b995c2..5b1e1f009 100644 --- a/public/scripts/extensions/translate/index.js +++ b/public/scripts/extensions/translate/index.js @@ -157,8 +157,6 @@ async function translateIncomingMessage(messageId) { message.extra.display_text = translation; $(`#chat .mes[mesid="${messageId}"] .mes_text`).html(messageFormatting(translation, message.name, message.is_system, message.is_user)); - - context.saveChat(); } async function translateProviderGoogle(text, lang) { @@ -264,8 +262,10 @@ jQuery(() => { saveSettingsDebounced(); }); $(document).on('click', '.mes_translate', function () { + const context = getContext(); const messageId = $(this).closest('.mes').attr('mesid'); translateIncomingMessage(messageId); + context.saveChat(); }); loadSettings();