feat(server): filter DM read states from ready payload for federated users

This commit is contained in:
Jannis Braun
2026-04-02 11:33:59 +02:00
parent b1ba7b35d2
commit 1d81838868
+6 -4
View File
@@ -1335,10 +1335,12 @@ function buildReadyPayload(userId: string): {
.where(eq(schema.readStates.userId, userId)) .where(eq(schema.readStates.userId, userId))
.all(); .all();
const readStates: ReadState[] = readStateRows.map(rs => ({ const readStates: ReadState[] = readStateRows
channelId: rs.channelId, .filter(rs => !isFederated || visibleChannelIdSet.has(rs.channelId))
lastReadMessageId: rs.lastReadMessageId, .map(rs => ({
})); channelId: rs.channelId,
lastReadMessageId: rs.lastReadMessageId,
}));
// Build user activities snapshot for all visible users // Build user activities snapshot for all visible users
// Auto-inject customStatus as a 'custom' activity for users with no ephemeral activities // Auto-inject customStatus as a 'custom' activity for users with no ephemeral activities