fix: only filter broadcast inbox (*), keep user inbox

The user inbox (user.json) contains real teammate-to-user messages
generated by Claude Code CLI. Filtering it as a system inbox was
incorrect — it broke message aggregation for user-directed messages.

Only the broadcast inbox (*.json) needs to be excluded since '*'
is not a valid member name and causes a phantom member in the UI.
This commit is contained in:
Artem Rootman 2026-04-05 16:45:31 +00:00
parent fdc49f475e
commit 23796cddc3
No known key found for this signature in database
GPG key ID: B7C30676209A822C

View file

@ -42,14 +42,10 @@ export class TeamInboxReader {
throw error;
}
// Exclude broadcast inbox (*.json) and user inbox (user.json) — these are
// system inboxes, not real team members. Without this filter, '*' appears
// as a phantom member in the UI that can't be removed.
const SYSTEM_INBOX_NAMES = new Set(['*', 'user']);
return entries
.filter((name) => name.endsWith('.json') && !name.startsWith('.'))
.map((name) => name.replace(/\.json$/, ''))
.filter((name) => !SYSTEM_INBOX_NAMES.has(name));
.filter((name) => name !== '*');
}
async getMessagesFor(teamName: string, member: string): Promise<InboxMessage[]> {