From 4a54b63cc05fc1859b4c46be0bf069867e1d8b94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20H=C3=BCttemann?= Date: Tue, 13 Jun 2023 12:32:11 +0200 Subject: [PATCH] Fix error for duplicate room memberships --- src/handlers/rooms.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/handlers/rooms.ts b/src/handlers/rooms.ts index 33165d2..8889418 100644 --- a/src/handlers/rooms.ts +++ b/src/handlers/rooms.ts @@ -64,10 +64,13 @@ export async function mapRoom(rcRoom: RcRoom): Promise { if (rcRoom.uids) { await Promise.all( - rcRoom.uids.map(async (uid) => { - await createMembership(rcRoom._id, uid) - log.debug(`${uid} membership in direct chat ${rcRoom._id} created`) - }) + [...new Set(rcRoom.uids)] // Deduplicate users + .map(async (uid) => { + await createMembership(rcRoom._id, uid) + log.debug( + `${uid} membership in direct chat ${rcRoom._id} created` + ) + }) ) } else { throw new Error('Found a direct chat without uids. This is unexpected.')