From 080e1fa454a0b3ebc2823c150119c541b81ac15d Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 14 May 2026 03:50:34 +0200 Subject: [PATCH] perf(audit-log): wire DataTable virtual prop on audit-log-list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Audit log entries accumulate via cursor pagination — the user can load many pages into the same client-side array. With virtual=true the table only renders the visible viewport rows (plus overscan), so a 10k-row session stays at 60fps instead of choking on a full DOM write per "Load more" click. The other two BACKLOG candidates (super-admin port switcher, client export modal preview) aren't present in the current codebase — the super-admin route group hasn't been built and the export modal is download-only. Skip until those surfaces exist. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/components/admin/audit/audit-log-list.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/admin/audit/audit-log-list.tsx b/src/components/admin/audit/audit-log-list.tsx index 6c9f5d3b..3537efd8 100644 --- a/src/components/admin/audit/audit-log-list.tsx +++ b/src/components/admin/audit/audit-log-list.tsx @@ -518,6 +518,9 @@ export function AuditLogList() { isLoading={loading} getRowId={(row) => row.id} cardRender={(row) => } + virtual + virtualHeightPx={640} + virtualRowHeightPx={56} emptyState={

No audit log entries found.