Area / route
Three confirmed low-severity gaps in Governance Logs and the notifications inbox. Grouped as polish; itemized below.
Sites
- [114] Logs page Category filter renders on all 4 tabs but is a no-op on "Sign-in blocks" and "Activity logs"
- Evidence: audit-logs-page.tsx:147-222: DataTableFilters(auditFilterConfigs) sits in Tabs
actions (shared across all items). category is passed only to useListAuditLogsPaginated (line 46-50) and ErrorLogTable (line 216). BlockCountersTable (line 198) and ActivityLogView (line 204-207) take no category prop; confirmed no category usage in block-counters-table.tsx and activity-log-view.tsx.
- [115] Governance > Logs active tab is not reflected in the URL — reload/deep-link/Back reset to "Audit logs"
- Evidence: audit-logs-page.tsx:148 Tabs defaultValue="audit" with no value/onValueChange wiring; the route schema (routes/.../logs.tsx:8-10) only validates
category, not a tab key, so tab state is component-local.
- [119] Personal notifications capped at 100 with no Load-more path (Load-more only paginates the org stream)
- Evidence: services/platform/convex/collab/notifications.ts:74-81 (take(INBOX_PAGE_CAP) no pagination), :96-99 (myUnreadCount take(INBOX_PAGE_CAP+1)) ; services/platform/app/features/notifications/components/notification-list-panel.tsx:178-179,332-342 (canLoadMore/loadMore come only from the org stream)
Notes
[114] render the DataTableFilters block only on the audit/errors tabs (drive Tabs controlled). [115] add an optional tab enum to the route validateSearch and drive Tabs in controlled mode (mirroring the existing category round-trip). [119] paginate listMyNotifications and drive a combined load-more from both streams (or surface a 'showing first 100' affordance).
Filed by an automated manual-review pass (live browser QA + a 25-agent code-grounded audit, each finding adversarially verified). Deduped against open issues (incl. #1972–#1999, settings/forms epic #1941–#1966, audit cluster #1842–#1846) and recently-closed issues.
Area / route
Three confirmed low-severity gaps in Governance Logs and the notifications inbox. Grouped as polish; itemized below.
Sites
actions(shared across all items). category is passed only to useListAuditLogsPaginated (line 46-50) and ErrorLogTable (line 216). BlockCountersTable (line 198) and ActivityLogView (line 204-207) take no category prop; confirmed nocategoryusage in block-counters-table.tsx and activity-log-view.tsx.category, not a tab key, so tab state is component-local.Notes
[114] render the DataTableFilters block only on the audit/errors tabs (drive Tabs controlled). [115] add an optional
tabenum to the route validateSearch and drive Tabs in controlled mode (mirroring the existingcategoryround-trip). [119] paginate listMyNotifications and drive a combined load-more from both streams (or surface a 'showing first 100' affordance).Filed by an automated manual-review pass (live browser QA + a 25-agent code-grounded audit, each finding adversarially verified). Deduped against open issues (incl. #1972–#1999, settings/forms epic #1941–#1966, audit cluster #1842–#1846) and recently-closed issues.