GuruRMM — Small Fixes

Show notes: quick, well-scoped wins pulled from the roadmap + UI gaps
Date: 2026-05-30 Sources: FEATURE_ROADMAP.md, UI_GAPS.md Scope: sub-day fixes only

Frontend fixes (React / TS — no server change)

IDFixSizePri
BUG-014 Site Detail page has no agent search box — add agentSearch state + filter. Every other list page already has this. ~30 min P1
Error boundary No ErrorBoundary anywhere — one component throw whites out the whole app. Wrap <AppRoutes> with fallback + reload. ~30 min MED
BUG-009 Logs.tsx — 3 useQuery calls with no isError handling (errors look like "no results"). Copy the pattern from Clients.tsx:164. ~1 hr MED
BUG-010 8 pages still missing isError handling (Alerts, AlertTemplates, Commands, Dashboard, Logs, Settings, Sites, Users) — same pattern. ~half day MED
BUG-011 14 : any annotations across 6 files — swap to existing typed interfaces / unknown + isAxiosError. ~1 hr MED

Server fixes (Rust)

IDFixSizePri
BUG-008 metrics.rs leaks raw e.to_string() DB errors to clients at 5 sites — route through existing internal_err() helper. ~30 min MED
Client row GET /api/agents/:id hardcodes client_name: None, so AgentDetail's "Client" row never renders — enrich get_agent or drop the field. ~1 hr MED
Fleet counts Dashboard recomputes counts client-side; /metrics/summary + /agents/stats exist but are unused — wire them or delete. ~1 hr LOW

Other small ones

IDFixSizePri
BUG-015 Agent missing from Programs & Features — WiX-only edit, add ARP properties + product icon. Spec'd in SPEC-011. ~1 hr P2
Changelog UI Read-only version-history table on AgentDetail. May need one GET endpoint. ~0.5 day P3
Recommended quick session: knock out BUG-014 + Error boundary + BUG-008 together — all three are sub-hour (two frontend, one backend), and BUG-014 is a P1 that Howard reported.
Note: BUG-002 and BUG-006 are already fixed in branch fix/audit-2-remediation but unmerged. That branch can be reviewed/merged separately if useful.