Loops breaker (supposedly)

This commit is contained in:
SillyLossy
2023-04-05 22:26:08 +03:00
parent 89f605dac6
commit 8548d4ca47

View File

@@ -367,7 +367,8 @@ let novelai_setting_names;
var bg1_toggle = true; // inits the BG as BG1 var bg1_toggle = true; // inits the BG as BG1
var css_mes_bg = $('<div class="mes"></div>').css("background"); var css_mes_bg = $('<div class="mes"></div>').css("background");
var css_send_form_display = $("<div id=send_form></div>").css("display"); var css_send_form_display = $("<div id=send_form></div>").css("display");
let generate_loop_counter = 0;
const MAX_GENERATION_LOOPS = 5;
var colab_ini_step = 1; var colab_ini_step = 1;
let token; let token;
@@ -1782,11 +1783,28 @@ async function Generate(type, automatic_trigger, force_name2) {
//getMessage = getMessage.replace(/^\s+/g, ''); //getMessage = getMessage.replace(/^\s+/g, '');
if (getMessage.length > 0) { if (getMessage.length > 0) {
({ type, getMessage } = saveReply(type, getMessage, this_mes_is_name)); ({ type, getMessage } = saveReply(type, getMessage, this_mes_is_name));
generate_loop_counter = 0;
} else { } else {
++generate_loop_counter;
if (generate_loop_counter > MAX_GENERATION_LOOPS) {
callPopup(`Could not extract reply in ${MAX_GENERATION_LOOPS} attempts. Try generating again`, 'text');
generate_loop_counter = 0;
$("#send_textarea").removeAttr('disabled');
is_send_press = false;
activateSendButtons();
setGenerationProgress(0);
showSwipeButtons();
$('.mes_edit:last').show();
throw new Error('Generate circuit breaker interruption');
}
// regenerate with character speech reenforced // regenerate with character speech reenforced
// to make sure we leave on swipe type while also adding the name2 appendage // to make sure we leave on swipe type while also adding the name2 appendage
setTimeout(() => {
const newType = type == "swipe" ? "swipe" : "force_name2"; const newType = type == "swipe" ? "swipe" : "force_name2";
Generate(newType, automatic_trigger = false, force_name2 = true); Generate(newType, automatic_trigger = false, force_name2 = true);
}, generate_loop_counter * 1000);
} }
} else { } else {
activateSendButtons(); activateSendButtons();