diff --git a/public/index.html b/public/index.html index 75271911b..0c6bbb938 100644 --- a/public/index.html +++ b/public/index.html @@ -1277,6 +1277,9 @@ + @@ -1892,4 +1895,4 @@ - + \ No newline at end of file diff --git a/public/script.js b/public/script.js index ea3be38da..8fd62410b 100644 --- a/public/script.js +++ b/public/script.js @@ -203,10 +203,12 @@ let dialogueResolve = null; let chat_metadata = {}; let streamingProcessor = null; + const durationSaveEdit = 200; const saveSettingsDebounced = debounce(() => saveSettings(), durationSaveEdit); const saveCharacterDebounced = debounce(() => $("#create_button").click(), durationSaveEdit); const getStatusDebounced = debounce(() => getStatus(), 90000); +const saveChatDebounced = debounce(() => saveChatConditional(), 1000); const system_message_types = { HELP: "help", @@ -2908,6 +2910,22 @@ function isInt(value) { ); } +function messageEditAuto(div) { + let mesBlock = div.closest(".mes_block"); + var text = mesBlock.find(".edit_textarea").val().trim(); + const bias = extractMessageBias(text); + chat[this_edit_mes_id]["mes"] = text; + + // editing old messages + if (!chat[this_edit_mes_id]["extra"]) { + chat[this_edit_mes_id]["extra"] = {}; + } + chat[this_edit_mes_id]["extra"]["bias"] = bias ?? null; + mesBlock.find(".mes_text").val(''); + mesBlock.find(".mes_text").val(messageFormating(text)); + saveChatDebounced(); +} + function messageEditDone(div) { let mesBlock = div.closest(".mes_block"); var text = mesBlock.find(".edit_textarea").val().trim(); @@ -2924,7 +2942,9 @@ function messageEditDone(div) { mesBlock.find(".mes_text").empty(); mesBlock.find(".mes_edit_buttons").css("display", "none"); mesBlock.find(".mes_edit").css("display", "inline-block"); - mesBlock.find(".mes_text").append(messageFormating(text, this_edit_mes_chname, chat[this_edit_mes_id].is_system, chat[this_edit_mes_id].force_avatar)); + mesBlock.find(".mes_text").append( + messageFormating(text, this_edit_mes_chname, chat[this_edit_mes_id].is_system, chat[this_edit_mes_id].force_avatar) + ); mesBlock.find(".mes_bias").empty(); mesBlock.find(".mes_bias").append(messageFormating(bias)); appendImageToMessage(chat[this_edit_mes_id], div.closest(".mes")); @@ -4251,6 +4271,7 @@ $(document).ready(function () { } }); + $("#talkativeness_slider").on("input", function () { if (menu_type == "create") { create_save_talkativeness = $("#talkativeness_slider").val(); @@ -4667,9 +4688,7 @@ $(document).ready(function () { .closest(".mes_block") .find(".mes_text") .append( - '" + `` ); let edit_textarea = $(this) .closest(".mes_block") @@ -4688,6 +4707,13 @@ $(document).ready(function () { updateEditArrowClasses(); } }); + + $(document).on('input', '#curEditTextarea', function () { + if (power_user.auto_save_msg_edits === true) { + messageEditAuto($(this)); + } + }) + $(document).on("click", ".mes_edit_cancel", function () { let text = chat[this_edit_mes_id]["mes"]; @@ -5075,8 +5101,15 @@ $(document).ready(function () { $(document).keyup(function (e) { if (e.key === "Escape") { - closeMessageEditor(); - $("#send_textarea").focus(); + if (power_user.auto_save_msg_edits === false) { + closeMessageEditor(); + $("#send_textarea").focus(); + } + if (power_user.auto_save_msg_edits === true) { + $(`#chat .mes[mesid="${this_edit_mes_id}"] .mes_edit_done`).click() + $("#send_textarea").focus(); + } + } }); diff --git a/public/scripts/RossAscends-mods.js b/public/scripts/RossAscends-mods.js index 1f6f7870b..58ec5d395 100644 --- a/public/scripts/RossAscends-mods.js +++ b/public/scripts/RossAscends-mods.js @@ -94,7 +94,7 @@ function waitForElement(querySelector, timeout) { } waitForElement("#expression-image", 10000).then(function () { - console.log("expression image loaded, now draggable."); + dragElement(document.getElementById("expression-holder")); }).catch(() => { console.log("expression holder not loaded yet"); @@ -591,13 +591,10 @@ $("document").ready(function () { var chatbarInFocus = false; $('#send_textarea').focus(function () { chatbarInFocus = true; - console.log("chatbatInfocus =" + chatbarInFocus); }); $('#send_textarea').blur(function () { - chatbarInFocus = false; - console.log("chatbatInfocus =" + chatbarInFocus); }); @@ -677,28 +674,11 @@ $("document").ready(function () { if (event.ctrlKey && event.key == "Enter") { // Ctrl+Enter for Regeneration Last Response if (is_send_press == false) { - $('#option_regenerate').click(); $('#options').hide(); - //setTimeout(function () { $('#chat').click(); }, 50) //needed to remove the options menu popping up.. - //Generate("regenerate"); } } - /* if (event.ctrlKey && event.key == "ArrowUp") { - //Ctrl+UpArrow for Connect to last server - console.log(main_api); - if (online_status === "no_connection") { - if (main_api == "kobold") { - document.getElementById("api_button").click(); - } - if (main_api == "novel") { - document.getElementById("api_button_novel").click(); - } - if (main_api == "textgenerationwebui") { - document.getElementById("api_button_textgenerationwebui").click(); - } - } - } */ + if (event.ctrlKey && event.key == "ArrowLeft") { //for debug, show all local stored vars CheckLocal(); } diff --git a/public/scripts/extensions/expressions/index.js b/public/scripts/extensions/expressions/index.js index db91de30f..eece43a2c 100644 --- a/public/scripts/extensions/expressions/index.js +++ b/public/scripts/extensions/expressions/index.js @@ -260,12 +260,12 @@ async function getExpressionsList() { console.log('getting expressions list'); // get something for offline mode (default images) if (!modules.includes('classify')) { - console.log('classify not available, loading default'); + return DEFAULT_EXPRESSIONS; } if (Array.isArray(expressionsList)) { - console.log('got array, loading array'); + return expressionsList; } @@ -273,21 +273,21 @@ async function getExpressionsList() { url.pathname = '/api/classify/labels'; try { - console.log('trying for API'); + const apiResult = await fetch(url, { method: 'GET', headers: { 'Bypass-Tunnel-Reminder': 'bypass' }, }); if (apiResult.ok) { - console.log('API ok, adding labels'); + const data = await apiResult.json(); expressionsList = data.labels; return expressionsList; } } catch (error) { - console.log('got error!'); + console.log(error); return []; } @@ -313,7 +313,7 @@ async function setExpression(character, expression, force) { }); } else { if (extension_settings.expressions.showDefault) { - console.log('no character images, trying default expressions'); + setDefault(); } } @@ -344,7 +344,7 @@ function onClickExpressionImage() { (function () { function addExpressionImage() { - console.log('entered addExpressionImage'); + const html = `