From d4d160ff101f28bece87152dc9b4cc86903b8c76 Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Fri, 27 Mar 2026 03:49:20 +0100 Subject: [PATCH] fix: filter closed DMs from WebSocket ready payload The buildReadyPayload query fetched all dm_members rows without checking the closed flag, causing closed DMs to reappear on every page reload. The REST endpoint GET /api/dm already filtered correctly. --- packages/server/src/ws/handler.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/server/src/ws/handler.ts b/packages/server/src/ws/handler.ts index 38389e87..3f4b49a0 100644 --- a/packages/server/src/ws/handler.ts +++ b/packages/server/src/ws/handler.ts @@ -1043,7 +1043,10 @@ function buildReadyPayload(userId: string): { // Get DM channels const dmMemberships = db.select() .from(schema.dmMembers) - .where(eq(schema.dmMembers.userId, userId)) + .where(and( + eq(schema.dmMembers.userId, userId), + eq(schema.dmMembers.closed, 0), + )) .all(); const dmChannelIds = dmMemberships.map(dm => dm.dmChannelId);