From 213325edaa7bc35873e16c56caaafbdaadbede2e Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Tue, 7 Apr 2026 22:26:14 +0200 Subject: [PATCH] feat: relay dm_close and dm_reopen to federated peers Queue dm_close relay in DELETE /api/dm/:id after broadcasting locally, and queue dm_reopen relay inside the myDm.closed === 1 branch of POST /api/dm so peers are notified only on actual reopen, not new DM creation. --- packages/server/src/routes/dm.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/server/src/routes/dm.ts b/packages/server/src/routes/dm.ts index f6be4a02..afe8d684 100644 --- a/packages/server/src/routes/dm.ts +++ b/packages/server/src/routes/dm.ts @@ -26,6 +26,7 @@ import { appendMutationLog, queueOutboxEvent, queueDmRelay, + queueDmCloseRelay, getDmParticipants, getGroupDmTargetOrigins, isFederationRelayEnabled, @@ -445,6 +446,9 @@ export async function dmRoutes(app: FastifyInstance): Promise { eq(schema.dmMembers.userId, request.userId), )) .run(); + + // Relay reopen to federated peers + queueDmCloseRelay(myDm.dmChannelId, request.userId, 'dm_reopen'); } const dmMemberRows = db.select() @@ -854,6 +858,9 @@ export async function dmRoutes(app: FastifyInstance): Promise { dmChannelId: id, }); + // Relay close to federated peers + queueDmCloseRelay(id, request.userId, 'dm_close'); + return reply.code(200).send({ success: true }); });