Merge pull request #2512 from AllenHyang/fix/inbox-badge-counts-all-mine-issues-not-unread

fix(ui): inbox badge should only count unread mine issues
This commit is contained in:
Dotta 2026-04-07 21:00:26 -05:00 committed by GitHub
commit f559455d92
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 16 additions and 1 deletions

View file

@ -319,6 +319,21 @@ describe("inbox helpers", () => {
});
});
it("excludes read mine issues from the inbox badge count", () => {
const result = computeInboxBadgeData({
approvals: [],
joinRequests: [],
dashboard,
heartbeatRuns: [],
mineIssues: [makeIssue("1", false), makeIssue("2", false), makeIssue("3", true)],
dismissed: new Set<string>(),
});
expect(result.mineIssues).toBe(1);
// inbox = mineIssues(1) + agent-error alert(1) + budget alert(1)
expect(result.inbox).toBe(3);
});
it("keeps read issues in the touched list but excludes them from unread counts", () => {
const issues = [makeIssue("1", true), makeIssue("2", false)];

View file

@ -362,7 +362,7 @@ export function computeInboxBadgeData({
const visibleJoinRequests = joinRequests.filter(
(jr) => !dismissed.has(`join:${jr.id}`),
).length;
const visibleMineIssues = mineIssues.length;
const visibleMineIssues = mineIssues.filter((issue) => issue.isUnreadForMe).length;
const agentErrorCount = dashboard?.agents.error ?? 0;
const monthBudgetCents = dashboard?.costs.monthBudgetCents ?? 0;
const monthUtilizationPercent = dashboard?.costs.monthUtilizationPercent ?? 0;