Skip to content

Commit 34cbb6b

Browse files
authored
fix(federation): DM creation sending invite twice (#37222)
1 parent 4711b48 commit 34cbb6b

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

ee/packages/federation-matrix/src/FederationMatrix.ts

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -314,27 +314,28 @@ export class FederationMatrix extends ServiceClass implements IFederationMatrixS
314314
// For group DMs (more than 2 members), create a private room
315315
const roomName = room.name || room.fname || `Group chat with ${members.length} members`;
316316
matrixRoomResult = await this.homeserverServices.room.createRoom(userIdSchema.parse(actualMatrixUserId), roomName, 'invite');
317-
}
318317

319-
for await (const member of members) {
320-
if (member._id === creatorId) {
321-
continue;
322-
}
318+
for await (const member of members) {
319+
if (member._id === creatorId) {
320+
continue;
321+
}
323322

324-
if (!isUserNativeFederated(member)) {
325-
continue;
326-
}
323+
if (!isUserNativeFederated(member)) {
324+
continue;
325+
}
327326

328-
try {
329-
await this.homeserverServices.invite.inviteUserToRoom(
330-
userIdSchema.parse(member.username),
331-
roomIdSchema.parse(matrixRoomResult.room_id),
332-
userIdSchema.parse(actualMatrixUserId),
333-
);
334-
} catch (error) {
335-
this.logger.error('Error creating or updating bridged user for DM:', error);
327+
try {
328+
await this.homeserverServices.invite.inviteUserToRoom(
329+
userIdSchema.parse(member.username),
330+
roomIdSchema.parse(matrixRoomResult.room_id),
331+
userIdSchema.parse(actualMatrixUserId),
332+
);
333+
} catch (error) {
334+
this.logger.error('Error creating or updating bridged user for DM:', error);
335+
}
336336
}
337337
}
338+
338339
await Rooms.setAsFederated(room._id, {
339340
mrid: matrixRoomResult.room_id,
340341
origin: this.serverName,

0 commit comments

Comments
 (0)