mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
#418 Fix freeze on group with all disabled. Allow to send user messages into group with all disabled.
This commit is contained in:
@@ -2512,7 +2512,7 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject,
|
|||||||
//console.log('generate ending');
|
//console.log('generate ending');
|
||||||
} //generate ends
|
} //generate ends
|
||||||
|
|
||||||
function getBiasStrings(textareaText) {
|
export function getBiasStrings(textareaText) {
|
||||||
let promptBias = '';
|
let promptBias = '';
|
||||||
let messageBias = extractMessageBias(textareaText);
|
let messageBias = extractMessageBias(textareaText);
|
||||||
|
|
||||||
@@ -2551,7 +2551,7 @@ export function replaceBiasMarkup(str) {
|
|||||||
return (str ?? '').replace(/{{(\*?.*\*?)}}/g, '');
|
return (str ?? '').replace(/{{(\*?.*\*?)}}/g, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
async function sendMessageAsUser(textareaText, messageBias) {
|
export async function sendMessageAsUser(textareaText, messageBias) {
|
||||||
chat[chat.length] = {};
|
chat[chat.length] = {};
|
||||||
chat[chat.length - 1]['name'] = name1;
|
chat[chat.length - 1]['name'] = name1;
|
||||||
chat[chat.length - 1]['is_user'] = true;
|
chat[chat.length - 1]['is_user'] = true;
|
||||||
|
@@ -48,6 +48,9 @@ import {
|
|||||||
cancelTtsPlay,
|
cancelTtsPlay,
|
||||||
isMultigenEnabled,
|
isMultigenEnabled,
|
||||||
displayPastChats,
|
displayPastChats,
|
||||||
|
sendMessageAsUser,
|
||||||
|
getBiasStrings,
|
||||||
|
saveChatConditional,
|
||||||
} from "../script.js";
|
} from "../script.js";
|
||||||
import { appendTagToList, createTagMapFromList, getTagsList, applyTagsOnCharacterSelect } from './tags.js';
|
import { appendTagToList, createTagMapFromList, getTagsList, applyTagsOnCharacterSelect } from './tags.js';
|
||||||
|
|
||||||
@@ -414,7 +417,7 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
|
|||||||
group_generation_id = Date.now();
|
group_generation_id = Date.now();
|
||||||
const lastMessage = chat[chat.length - 1];
|
const lastMessage = chat[chat.length - 1];
|
||||||
let messagesBefore = chat.length;
|
let messagesBefore = chat.length;
|
||||||
let lastMessageText = lastMessage.mes;
|
let lastMessageText = lastMessage?.mes || '';
|
||||||
let activationText = "";
|
let activationText = "";
|
||||||
let isUserInput = false;
|
let isUserInput = false;
|
||||||
let isGenerationDone = false;
|
let isGenerationDone = false;
|
||||||
@@ -491,7 +494,12 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
|
|||||||
|
|
||||||
if (activatedMembers.length === 0) {
|
if (activatedMembers.length === 0) {
|
||||||
toastr.warning('All group members are disabled. Enable at least one to get a reply.');
|
toastr.warning('All group members are disabled. Enable at least one to get a reply.');
|
||||||
throw new Error('All group members are disabled');
|
|
||||||
|
// Send user message as is
|
||||||
|
const bias = getBiasStrings(userInput);
|
||||||
|
await sendMessageAsUser(userInput, bias.messageBias);
|
||||||
|
await saveChatConditional();
|
||||||
|
$('#send_textarea').val('');
|
||||||
}
|
}
|
||||||
|
|
||||||
// now the real generation begins: cycle through every activated character
|
// now the real generation begins: cycle through every activated character
|
||||||
@@ -714,7 +722,8 @@ function activateNaturalOrder(members, input, lastMessage, allowSelfResponses, i
|
|||||||
}
|
}
|
||||||
|
|
||||||
// pick 1 at random if no one was activated
|
// pick 1 at random if no one was activated
|
||||||
while (activatedMembers.length === 0) {
|
let retries = 0;
|
||||||
|
while (activatedMembers.length === 0 && ++retries <= members.length) {
|
||||||
const randomIndex = Math.floor(Math.random() * members.length);
|
const randomIndex = Math.floor(Math.random() * members.length);
|
||||||
const character = characters.find((x) => x.avatar === members[randomIndex]);
|
const character = characters.find((x) => x.avatar === members[randomIndex]);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user