feat(openchoreo): show Events and Spec tabs for rendered releases#665
Conversation
Selecting a rendered release node in the resource tree now opens a detail panel with Events and Spec tabs (previously just a static name/target-plane summary), mirroring the individual-resource tabs and reusing ResourceEventsTable and YamlViewer. - Events tab: release-level Kubernetes events via the existing events endpoint. - Spec tab: the full RenderedRelease CR rendered as YAML. The RenderedRelease tree node now carries its real GVK (openchoreo.dev/v1alpha1) so events/spec resolve, keeps the target plane in a dedicated field, and exposes the RenderedRelease CR as the node's spec object. Refs openchoreo/openchoreo#3443 Signed-off-by: Udara Wickramarathne <bimsaraudara25@gmail.com>
|
Changeset detected — the following file(s) will be released with this PR: |
|
Warning Review limit reached
Next review available in: 11 seconds Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughAdds a ChangesRelease Detail Tabs Feature
Estimated code review effort: 2 (Simple) | ~15 minutes Sequence Diagram(s)sequenceDiagram
participant User
participant ResourceDetailPanel
participant ReleaseDetailTabs
participant ResourceEventsTable
participant YamlViewer
User->>ResourceDetailPanel: select RenderedRelease node
ResourceDetailPanel->>ReleaseDetailTabs: render(node, namespaceName, releaseBindingName)
ReleaseDetailTabs->>ReleaseDetailTabs: reset activeTab on node.id change
alt Events tab active
ReleaseDetailTabs->>ResourceEventsTable: render(refreshKey)
User->>ReleaseDetailTabs: click refresh icon
ReleaseDetailTabs->>ReleaseDetailTabs: increment refreshKey
ReleaseDetailTabs->>ResourceEventsTable: re-render(refreshKey)
else Spec tab active
alt specObject present
ReleaseDetailTabs->>YamlViewer: render(node.specObject)
else specObject missing
ReleaseDetailTabs->>User: show empty-state message
end
end
Possibly related issues
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…tabs Signed-off-by: Udara Wickramarathne <bimsaraudara25@gmail.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@plugins/openchoreo/src/components/Environments/ReleaseDataRenderer/ResourceTreeView/ReleaseDetailTabs.tsx`:
- Around line 26-99: The release drawer tabs component currently does not
surface the target plane for RenderedRelease nodes, so that context is lost
after opening the drawer. Update ReleaseDetailTabs to render a small summary
chip or label near the tab header when node data includes targetPlane, using the
existing node prop and related drawer header styling so the information stays
visible without changing the tab behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 9d67f3b4-d032-4b28-aa16-f44e4cb78693
📒 Files selected for processing (8)
plugins/openchoreo/src/components/Environments/ReleaseDataRenderer/ResourceTreeView/ReleaseDetailTabs.test.tsxplugins/openchoreo/src/components/Environments/ReleaseDataRenderer/ResourceTreeView/ReleaseDetailTabs.tsxplugins/openchoreo/src/components/Environments/ReleaseDataRenderer/ResourceTreeView/ResourceDetailPanel.test.tsxplugins/openchoreo/src/components/Environments/ReleaseDataRenderer/ResourceTreeView/ResourceDetailPanel.tsxplugins/openchoreo/src/components/Environments/ReleaseDataRenderer/ResourceTreeView/ResourceTreeNode.tsxplugins/openchoreo/src/components/Environments/ReleaseDataRenderer/ResourceTreeView/treeLayoutUtils.test.tsplugins/openchoreo/src/components/Environments/ReleaseDataRenderer/ResourceTreeView/treeLayoutUtils.tsplugins/openchoreo/src/components/Environments/ReleaseDataRenderer/ResourceTreeView/treeTypes.ts
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Show a 'Target: <plane>' chip in the release detail tab header when a RenderedRelease node exposes targetPlane, so the context stays visible after the drawer is opened. Add tests for the chip and cover the ResourceTreeNode target-plane subtitle branch. Signed-off-by: Udara Wickramarathne <bimsaraudara25@gmail.com>
babfcfa to
c0c9cca
Compare
Purpose
Selecting a rendered release node in the resource tree now opens a detail panel with Events and Spec tabs (previously just a static name/target-plane summary), mirroring the individual-resource tabs and reusing ResourceEventsTable and YamlViewer.
The RenderedRelease tree node now carries its real GVK (openchoreo.dev/v1alpha1) so events/spec resolve, keeps the target plane in a dedicated field, and exposes the RenderedRelease CR as the node's spec object.
Refs openchoreo/openchoreo#3443
Related PRs
Backend companion PR: openchoreo/openchoreo#4063
Migrations (if applicable)
Test environment
Learning
Summary by CodeRabbit