Remove duplicates from group chats list on load
| @@ -207,6 +207,16 @@ async function validateGroup(group) { | |||
| 207 | return character; | 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 | if (dirty) { | 220 | if (dirty) { |
| 211 | await editGroup(group.id, true, false); | 221 | await editGroup(group.id, true, false); |
| 212 | } | 222 | } |
| @@ -225,8 +235,8 @@ export async function getGroupChat(groupId, reload = false) { | |||
| 225 | 235 | ||
| 226 | const chat_id = group.chat_id; | 236 | const chat_id = group.chat_id; |
| 227 | const data = await loadGroupChat(chat_id); | 237 | const data = await loadGroupChat(chat_id); |
| 238 | const metadata = group.chat_metadata ?? {}; | ||
| 228 | let freshChat = false; | 239 | let freshChat = false; |
| 229 | let metadata = group.chat_metadata ?? {}; | ||
| 230 | 240 | ||
| 231 | await loadItemizedPrompts(getCurrentChatId()); | 241 | await loadItemizedPrompts(getCurrentChatId()); |
| 232 | 242 | ||