Add durable investigation workspace and history home - #1712
Conversation
PR Summary by QodoAdd durable investigation workspace navigation
AI Description
Diagram
High-Level Assessment
Files changed (7)
|
Code Review by Qodo
1.
|
496b415 to
e4694fb
Compare
e4694fb to
6fd71f1
Compare
6fd71f1 to
a988b53
Compare
a988b53 to
a9e6575
Compare
a9e6575 to
6ea45e0
Compare
6ea45e0 to
59d4514
Compare
59d4514 to
32c06b0
Compare
| !!r.kind && | ||
| !!r.name && | ||
| (r.status === "running" || r.status === "stopping"), | ||
| ) |
There was a problem hiding this comment.
Running indicator ignores cluster runs
Medium Severity
The live-run signature now keeps only resource runs with kind and name. Cluster-scoped question runs therefore do not count as running, so the top-bar pulse undercounts and the 4s poll stops after the workspace is closed even while those investigations are still in flight.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 0628980. Configure here.
There was a problem hiding this comment.
Fixed in e5efc1f. Live-run count now includes resource-free cluster questions for polling and the global indicator, while runningKeys remains resource-only for per-resource buttons.
07b169c to
7c10237
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 5 potential issues.
There are 6 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7c10237. Configure here.
e0f4537 to
713d8a6
Compare
713d8a6 to
cc321c4
Compare


Summary
Adds a reloadable investigations workspace that opens on investigation history instead of silently selecting the last run. Contextual resource investigations remain in the drawer, while explicit workspace routes make focused runs reloadable and shareable.
What changed
/investigationsand/investigations/:runIdas the canonical history home and explicit selection routes.ai-runand preserves the focused run when expanding that drawer.Testing
make tscmake testmake buildgit diff --checkVisual test
Attempted, but the local stack is blocked by existing database migration drift (
orgs.slugmissing). No remote test credential was available.Rollout
After merge, publish the next radar-app package tag before updating the Cloud consumer. No package was published by this PR workflow.
Note
Medium Risk
Large navigation/state refactor across drawer vs workspace modes, deep links, and embedded routers; mistakes could break investigation focus, back/close behavior, or cross-view
ai-runpreservation.Overview
Introduces a durable investigations workspace at
/investigationsand/investigations/:runId, while contextual investigations stay on the underlying page via?ai-run. The global AI entry and expand/restore flow now route through this workspace, with return-path state so Close/Back can land back on the docked origin without leaving stray query params.Diagnose navigation moves off direct
window.historywrites to React Router (navigate/location), including embedded MemoryRouter mode viaforceRouterURLStateand anonInvestigationFocuscallback after a run is verified server-side. Primary-rail navigation usesdismissForNavigationinstead of fully closing investigations when leaving a maximized workspace.App shell threads the focused run through resource/Helm/GitOps/workload navigation (
ai-runset/cleared explicitly), reads search params from React Router (notwindow.location), and preserves workspace URLs on cluster switch. The panel home is a dedicatedInvestigationHome(optional Issues CTA), history stays visible on workspace home at narrow widths, re-run replaces the misleading “plus” action, and unavailable-run copy differs for embedded hosts.Exports
investigationWorkspaceSearch/investigationWorkspaceNavigationStatefor embedders; adds unit tests for workspace route helpers and UI gates.Reviewed by Cursor Bugbot for commit cc321c4. Bugbot is set up for automated code reviews on this repo. Configure here.