Skip to content

Improvement: Governance Logs + notifications low-severity gaps (Category filter no-op on 2 tabs, active tab not in URL, personal notifications capped at 100 with no Load-more) #2092

Description

@yannickmonney

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions