GitHub
05/19/2026, 7:26 AM/audit-logs no longer writes audit entries (was causing 0.7 writes/sec idle, refetch every ~1.5s → now 10s)
• Audit query key memoized to prevent unnecessary refetches
• primeCsrfFromCookie() at app boot for OIDC redirect flows where the CSRF cookie arrives before the SPA JS initializes
• Environment creation: default icon + type, split error messages for better UX
Depends on
• #832 (SPA Users page parity)
Test plan
• TargetSelector filters nodes by UUID prefix, hostname, platform
• Carve creation form layout renders correctly
• Audit page no longer creates audit entries on read (verified via DB query count)
• OIDC redirect login → SPA loads correctly with CSRF token primed
• Environment creation with minimal fields works (name + hostname only)
• Frontend builds clean (npm run typecheck && npm run build)
jmpsec/osctrlGitHub
05/19/2026, 10:37 PM