OTA-2088: Fix identified bugs from video recordings#20
Conversation
- Add missing execution phases (Approved, Executing, AwaitingSync, Verifying) to ACTIVE_AGENTIC_RUN_PHASES so in-flight runs don't disappear from the Updates plan tab (V2#2) - Detect sandbox allocation in derivePhase() to return Analyzing before the Analyzed condition is set by the operator (V2#3) - Add shared DECISION_DISPLAY map with getDecisionDisplay() helper to remap "block" to "NOT RECOMMENDED" and eliminate duplicated inline decision-color logic (V1#10) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Sort version dropdown by semver using compareSemVer (V3#1) - Filter expandable panels to show only the selected version's proposal instead of all active runs (V3#2) - Suppress stale decision badge during re-analysis by checking phase !== Analyzing (V3#3) - Track user-collapsed panels in a ref so the auto-expand useEffect respects manual collapses (V1#7, V2#4) - Fix pod logs link: append /logs to URL path, use react-router Link instead of raw <a> tag (V2#1) - Use shared getDecisionDisplay() in both UpdatePlanTab and AnalysisResultView, replacing inline toUpperCase() (V1#10) - Replace bare "No agentic runs available" with a Card explaining how update plans are created (V1#8) - Remove DecisionActions rendering for TP (V1#6) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix grammatical error in page description: "plan how this cluster
version is newer" -> "plan your update to newer" (V3#4)
- Remove Update history tab for Tech Preview (V1#2)
- Remove conditional tab rendering ({activeTab === N && ...}) that
caused UpdatePlanTab to unmount on tab switch, destroying local
state like expandedPanels and submittedNames (V2#2, V2#4)
- Update i18n locale files
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add console.flag/model extension that creates an AGENTIC_RUN feature flag based on the AgenticRun CRD. Gate both the console.navigation/href and console.page/route extensions on this flag so the Cluster Update nav item only appears when the Lightspeed operator is installed (V1#1). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace plain Card with PF EmptyState component using CubesIcon, matching the existing pattern in ActivePlansTab.tsx (V1#8). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Verification ScreenshotsV3#4 + V1#2 + V3#1 — Grammar fix, no Update history tab, sorted dropdownV3#1 — Dropdown sorted by semver (5.0.1 → 5.1.4)V3#2 — Only selected version's proposal shown (5.0.8 selected, only 5.0.8 panel visible)V1#10 — "NOT RECOMMENDED" instead of "BLOCK" (5.1.1 minor update)V1#6 — No Approve/Reject/Schedule buttons (full page, no DecisionActions)V1#7 + V2#4 — Collapse state preserved after tab switch (panel stays collapsed)V2#1 — "View pod logs" link during analysis (in-app link, no target=_blank)V2#1 — Navigates directly to Logs tab (not Details)V1#8 — PatternFly EmptyState when no agenticRuns exist |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jhadvig The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@jhadvig: This pull request references OTA-2088 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@jhadvig: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |









Summary
Fixes 14 bugs and UX issues identified by Subin across three screen recording reviews of the Cluster Update plugin (2026-07-20 and 2026-07-21). Two additional items (V1#4 Tech Preview badge, V1#5 concurrent analyses) were already fixed in PRs #19 and #12 respectively.
Bugs fixed
userCollapsedRefto track manual collapses and respect them during auto-expand.Linkwith/logspath suffix.Approved,Executing,AwaitingSync,Verifying) toACTIVE_AGENTIC_RUN_PHASES. Also removed conditional tab rendering that destroyed component state on tab switch.derivePhase()to return "Analyzing" before theAnalyzedcondition is set.compareSemVersort before rendering dropdown options.activeRuns.map()toactiveRuns.filter(r => r.metadata?.name === selectedName).map().pPhase !== 'Analyzing'guard on the decision badge.UX improvements
EmptyStatecomponent.DECISION_DISPLAYmap inagenticrun.ts, used by bothUpdatePlanTabandAnalysisResultView.TP scoping
console.flag/modelextension forAgenticRunCRD. Nav item and route gated onAGENTIC_RUNflag so they only appear when the Lightspeed operator is installed.Not addressed (operator-side)
needsRevision(). Tracked separately.Verification
All fixes verified on a live cluster (jeramos-1328) with the Lightspeed Agentic operator installed. Screenshots to follow in comments.
Test plan
yarn lint— 0 new errors (pre-existing test eslint config issues only)yarn test— 56/56 tests passingyarn i18n— locale files updated🤖 Generated with Claude Code