diff --git a/src/client/app.tsx b/src/client/app.tsx index 8177f43..bd6ac7e 100644 --- a/src/client/app.tsx +++ b/src/client/app.tsx @@ -54,9 +54,13 @@ export function App() { return filters.filterMessages(currentSession.messages); }, [currentSession, filters.filterMessages]); + const progressEnabled = filters.enabledCategories.has("hook_progress"); + + // Count across all session messages (not just filtered) — recompute only on session change. + // This avoids re-running 37 regex patterns whenever filter toggles change. const sensitiveCount = useMemo( - () => countSensitiveMessages(filteredMessages), - [filteredMessages] + () => countSensitiveMessages(currentSession?.messages || []), + [currentSession?.messages] ); // Track which filtered-message indices match the search query @@ -224,7 +228,7 @@ export function App() { {/* Main */}