Do not regenerate group greeting messages in tainted chats

This commit is contained in:
Cohee
2025-05-21 23:10:35 +03:00
parent 6eeb2dcd75
commit ae1017edcb

View File

@ -226,6 +226,7 @@ export async function getGroupChat(groupId, reload = false) {
const chat_id = group.chat_id; const chat_id = group.chat_id;
const data = await loadGroupChat(chat_id); const data = await loadGroupChat(chat_id);
let freshChat = false; let freshChat = false;
let metadata = group.chat_metadata ?? {};
await loadItemizedPrompts(getCurrentChatId()); await loadItemizedPrompts(getCurrentChatId());
@ -234,7 +235,8 @@ export async function getGroupChat(groupId, reload = false) {
chat.splice(0, chat.length, ...data); chat.splice(0, chat.length, ...data);
await printMessages(); await printMessages();
} else { } else {
if (group && Array.isArray(group.members)) { freshChat = !metadata.tainted;
if (group && Array.isArray(group.members) && freshChat) {
for (let member of group.members) { for (let member of group.members) {
const character = characters.find(x => x.avatar === member || x.name === member); const character = characters.find(x => x.avatar === member || x.name === member);
if (!character) { if (!character) {
@ -253,12 +255,10 @@ export async function getGroupChat(groupId, reload = false) {
addOneMessage(mes); addOneMessage(mes);
await eventSource.emit(event_types.CHARACTER_MESSAGE_RENDERED, (chat.length - 1), 'first_message'); await eventSource.emit(event_types.CHARACTER_MESSAGE_RENDERED, (chat.length - 1), 'first_message');
} }
}
await saveGroupChat(groupId, false); await saveGroupChat(groupId, false);
freshChat = true; }
} }
let metadata = group.chat_metadata ?? {};
updateChatMetadata(metadata, true); updateChatMetadata(metadata, true);
if (reload) { if (reload) {