Merge branch 'staging' of https://github.com/Cohee1207/SillyTavern into staging

This commit is contained in:
RossAscends 2024-09-30 21:49:41 +09:00
commit da161b9628
3 changed files with 34 additions and 18 deletions

View File

@ -8476,12 +8476,22 @@ const CONNECT_API_MAP = {
selected: 'novel',
button: '#api_button_novel',
},
'koboldcpp': {
selected: 'textgenerationwebui',
button: '#api_button_textgenerationwebui',
type: textgen_types.KOBOLDCPP,
},
// KoboldCpp alias
'kcpp': {
selected: 'textgenerationwebui',
button: '#api_button_textgenerationwebui',
type: textgen_types.KOBOLDCPP,
},
'openai': {
selected: 'openai',
button: '#api_button_openai',
source: chat_completion_sources.OPENAI,
},
// OpenAI alias
'oai': {
selected: 'openai',

View File

@ -56,22 +56,25 @@ let counterNonce = Date.now();
const observerConfig = { childList: true, subtree: true };
const countTokensDebounced = debounce(RA_CountCharTokens, debounce_timeout.relaxed);
const countTokensShortDebounced = debounce(RA_CountCharTokens, debounce_timeout.short);
const checkStatusDebounced = debounce(RA_checkOnlineStatus, debounce_timeout.short);
const observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (!(mutation.target instanceof HTMLElement)) {
return;
}
if (mutation.target.classList.contains('online_status_text')) {
RA_checkOnlineStatus();
checkStatusDebounced();
} else if (mutation.target.parentNode === SelectedCharacterTab) {
setTimeout(RA_CountCharTokens, 200);
countTokensShortDebounced();
} else if (mutation.target.classList.contains('mes_text')) {
if (mutation.target instanceof HTMLElement) {
for (const element of mutation.target.getElementsByTagName('math')) {
element.childNodes.forEach(function (child) {
if (child.nodeType === Node.TEXT_NODE) {
child.textContent = '';
}
});
}
for (const element of mutation.target.getElementsByTagName('math')) {
element.childNodes.forEach(function (child) {
if (child.nodeType === Node.TEXT_NODE) {
child.textContent = '';
}
});
}
}
});
@ -159,8 +162,8 @@ export function shouldSendOnEnter() {
export function humanizedDateTime() {
const now = new Date(Date.now());
const dt = {
year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate(),
hour: now.getHours(), minute: now.getMinutes(), second: now.getSeconds(),
year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate(),
hour: now.getHours(), minute: now.getMinutes(), second: now.getSeconds(),
};
for (const key in dt) {
dt[key] = dt[key].toString().padStart(2, '0');
@ -725,9 +728,7 @@ export function addSafariPatch() {
export function initRossMods() {
// initial status check
setTimeout(() => {
RA_checkOnlineStatus();
}, 100);
checkStatusDebounced();
if (power_user.auto_load_chat) {
RA_autoloadchat();
@ -752,7 +753,7 @@ export function initRossMods() {
setTimeout(() => RA_autoconnect(PrevAPI), 100);
});
$('#api_button').click(function () { setTimeout(RA_checkOnlineStatus, 100); });
$('#api_button').on('click', () => checkStatusDebounced());
//toggle pin class when lock toggle clicked
$(RPanelPin).on('click', function () {

View File

@ -2530,8 +2530,13 @@ async function askCharacter(args, text) {
return;
}
setCharacterId(prevChId);
setCharacterName(characters[prevChId].name);
if (prevChId !== undefined) {
setCharacterId(prevChId);
setCharacterName(characters[prevChId].name);
} else {
setCharacterId(undefined);
setCharacterName(neutralCharacterName);
}
// Only force the new avatar if the character name is the same
// This skips if an error was fired