Do not regenerate group greeting messages in tainted chats
| @@ -226,6 +226,7 @@ export async function getGroupChat(groupId, reload = false) { | |||
| 226 | const chat_id = group.chat_id; | 226 | const chat_id = group.chat_id; |
| 227 | const data = await loadGroupChat(chat_id); | 227 | const data = await loadGroupChat(chat_id); |
| 228 | let freshChat = false; | 228 | let freshChat = false; |
| 229 | let metadata = group.chat_metadata ?? {}; | ||
| 229 | 230 | ||
| 230 | await loadItemizedPrompts(getCurrentChatId()); | 231 | await loadItemizedPrompts(getCurrentChatId()); |
| 231 | 232 | ||
| @@ -234,7 +235,8 @@ export async function getGroupChat(groupId, reload = false) { | |||
| 234 | chat.splice(0, chat.length, ...data); | 235 | chat.splice(0, chat.length, ...data); |
| 235 | await printMessages(); | 236 | await printMessages(); |
| 236 | } else { | 237 | } else { |
| 237 | if (group && Array.isArray(group.members)) { | 238 | freshChat = !metadata.tainted; |
| 239 | if (group && Array.isArray(group.members) && freshChat) { | ||
| 238 | for (let member of group.members) { | 240 | for (let member of group.members) { |
| 239 | const character = characters.find(x => x.avatar === member || x.name === member); | 241 | const character = characters.find(x => x.avatar === member || x.name === member); |
| 240 | if (!character) { | 242 | if (!character) { |
| @@ -253,12 +255,10 @@ export async function getGroupChat(groupId, reload = false) { | |||
| 253 | addOneMessage(mes); | 255 | addOneMessage(mes); |
| 254 | await eventSource.emit(event_types.CHARACTER_MESSAGE_RENDERED, (chat.length - 1), 'first_message'); | 256 | await eventSource.emit(event_types.CHARACTER_MESSAGE_RENDERED, (chat.length - 1), 'first_message'); |
| 255 | } | 257 | } |
| 256 | } | ||
| 257 | await saveGroupChat(groupId, false); | 258 | await saveGroupChat(groupId, false); |
| 258 | freshChat = true; | 259 | } |
| 259 | } | 260 | } |
| 260 | 261 | ||
| 261 | let metadata = group.chat_metadata ?? {}; | ||
| 262 | updateChatMetadata(metadata, true); | 262 | updateChatMetadata(metadata, true); |
| 263 | 263 | ||
| 264 | if (reload) { | 264 | if (reload) { |