Do not regenerate group greeting messages in tainted chats

ae1017edcbe686b4ea43d927a0a78c0241700ddc

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +4 -4Ignore whitespace
public/scripts/group-chats.js+4 -4
@@ -226,6 +226,7 @@ export async function getGroupChat(groupId, reload = false) {
226226 const chat_id = group.chat_id;
227227 const data = await loadGroupChat(chat_id);
228228 let freshChat = false;
229+ let metadata = group.chat_metadata ?? {};
229230
230231 await loadItemizedPrompts(getCurrentChatId());
231232
@@ -234,7 +235,8 @@ export async function getGroupChat(groupId, reload = false) {
234235 chat.splice(0, chat.length, ...data);
235236 await printMessages();
236237 } else {
237- if (group && Array.isArray(group.members)) {
238+ freshChat = !metadata.tainted;
239+ if (group && Array.isArray(group.members) && freshChat) {
238240 for (let member of group.members) {
239241 const character = characters.find(x => x.avatar === member || x.name === member);
240242 if (!character) {
@@ -253,12 +255,10 @@ export async function getGroupChat(groupId, reload = false) {
253255 addOneMessage(mes);
254256 await eventSource.emit(event_types.CHARACTER_MESSAGE_RENDERED, (chat.length - 1), 'first_message');
255257 }
258+ await saveGroupChat(groupId, false);
256259 }
257- await saveGroupChat(groupId, false);
258- freshChat = true;
259260 }
260261
261- let metadata = group.chat_metadata ?? {};
262262 updateChatMetadata(metadata, true);
263263
264264 if (reload) {