<#833 frontend: SPA UX polish — TargetSelector, au...
# osctrl
g
#833 frontend: SPA UX polish — TargetSelector, audit fix, CSRF priming Pull request opened by alvarofraguas Summary • TargetSelector typeahead for query/carve target selection (search by UUID prefix, hostname, platform, tag) • Carves/new page two-column layout matching queries/new • Node detail page cleanup — consistent tab ordering and field display • Audit page self-pollution fix: reading
/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/osctrl