Remove duplicates from group chats list on load
| @@ -207,6 +207,16 @@ async function validateGroup(group) { | ||
| 207 | 207 | return character; |
| 208 | 208 | }); |
| 209 | 209 | |
| 210 | + // Remove duplicate chat ids | |
| 211 | + if (Array.isArray(group.chats)) { | |
| 212 | + const lengthBefore = group.chats.length; | |
| 213 | + group.chats = group.chats.filter(onlyUnique); | |
| 214 | + const lengthAfter = group.chats.length; | |
| 215 | + if (lengthBefore !== lengthAfter) { | |
| 216 | + dirty = true; | |
| 217 | + } | |
| 218 | + } | |
| 219 | + | |
| 210 | 220 | if (dirty) { |
| 211 | 221 | await editGroup(group.id, true, false); |
| 212 | 222 | } |
| @@ -225,8 +235,8 @@ export async function getGroupChat(groupId, reload = false) { | ||
| 225 | 235 | |
| 226 | 236 | const chat_id = group.chat_id; |
| 227 | 237 | const data = await loadGroupChat(chat_id); |
| 238 | + const metadata = group.chat_metadata ?? {}; | |
| 228 | 239 | let freshChat = false; |
| 229 | - let metadata = group.chat_metadata ?? {}; | |
| 230 | 240 | |
| 231 | 241 | await loadItemizedPrompts(getCurrentChatId()); |
| 232 | 242 | |