Merge branch 'dev' into feature/chromadb

This commit is contained in:
Mark Ceter
2023-05-21 18:04:35 +03:00
committed by GitHub
4 changed files with 93 additions and 21 deletions

View File

@ -107,7 +107,17 @@ import {
setPoeOnlineStatus,
} from "./scripts/poe.js";
import { debounce, delay, restoreCaretPosition, saveCaretPosition, end_trim_to_sentence, countOccurrences, isOdd } from "./scripts/utils.js";
import {
debounce,
delay,
restoreCaretPosition,
saveCaretPosition,
end_trim_to_sentence,
countOccurrences,
isOdd,
isElementInViewport,
} from "./scripts/utils.js";
import { extension_settings, loadExtensionSettings, runGenerationInterceptors } from "./scripts/extensions.js";
import { executeSlashCommands, getSlashCommandsHelp, registerSlashCommand } from "./scripts/slash-commands.js";
import {
@ -195,6 +205,7 @@ export {
talkativeness_default,
default_ch_mes,
extension_prompt_types,
setCharListVisible,
}
// API OBJECT FOR EXTERNAL WIRING
@ -801,6 +812,7 @@ function printCharacters() {
printGroups();
sortCharactersList();
favsToHotswap();
setCharListVisible();
}
async function getCharacters() {
@ -2967,7 +2979,9 @@ function extractNameFromMessage(getMessage, force_name2, isImpersonate) {
// Like OAI, Poe is very unlikely to send you an incomplete message.
// But it doesn't send "name:" either, so we assume that we always have a name
// prepend to have clearer logs when building up a prompt context.
if (force_name2 || main_api == 'poe')
// Instruct mode needs to have it on to make sure you won't have names lost
// if disable in a middle of a solo chat.
if (force_name2 || main_api == 'poe' || power_user.instruct.enabled)
this_mes_is_name = true;
if (isImpersonate) {
@ -4767,6 +4781,33 @@ const swipe_right = () => {
}
}
function setCharListVisible() {
const $children = $("#rm_print_characters_block").children();
$children.each(function () {
if (isElementInViewport($(this))) {
$(this)
//.css('opacity', 1);
//.css('display', 'flex');
.stop(true, false).animate({ opacity: 1 }, { duration: 50, queue: false });
}
if (!isElementInViewport($(this)) &&
($(this).css('opacity') === '1' || $(this).css('opacity') === undefined)) {
//.css('opacity', 0);
$(this)
//.css('opacity', 0);
//.css('display', 'none');
.stop(true, false).animate({ opacity: 0 }, { duration: 50, queue: false });
};
/* console.log(`chid ${$(elem).find('.ch_name').text()}
inview? ${isElementInViewport($(elem))}
opacity? ${$(elem).css('opacity')}`
); */
})
}
$(document).ready(function () {
@ -5688,13 +5729,11 @@ $(document).ready(function () {
duration: 250,
easing: animation_easing,
});
console.log('displayed AN panel');
if ($("#ANBlockToggle")
.siblings('.inline-drawer-content')
.css('display') !== 'block') {
$("#ANBlockToggle").click();
console.log('opened AN box');
}
} else {
$("#floatingPrompt").transition({
@ -5704,7 +5743,6 @@ $(document).ready(function () {
});
setTimeout(function () {
$("#floatingPrompt").hide();
console.log('hid AN panel');
}, 250);
}
@ -6165,6 +6203,24 @@ $(document).ready(function () {
showSwipeButtons();
});
setTimeout(function () {
const $children = $("#rm_print_characters_block").children();
const originalHeight = $children.length * $children.first().outerHeight();
$("#rm_print_characters_block").css('height', originalHeight);
//show and hide charlist divs on pageload (causes load lag)
//$children.each(function () { setCharListVisible($(this)) });
$("#rm_print_characters_block").on('scroll', debounce(function () {
const containerHeight = $children.length * $children.first().outerHeight();
$("#rm_print_characters_block").css('height', containerHeight);
//show and hide on scroll
setCharListVisible();
}, 1));
//delay timer to allow for charlist to populate,
//should be set to an onload for rm_print_characters or windows?
}, 1000);
$(document).on("click", ".mes_edit_delete", function () {
if (!confirm("Are you sure you want to delete this message?")) {
return;