Skip to content

Cluster insights: lazy-load node details, use row expander, remove expandable-link#1013

Merged
chensation merged 9 commits intomasterfrom
cluster-insights-lazy-load-node-details
Apr 16, 2026
Merged

Cluster insights: lazy-load node details, use row expander, remove expandable-link#1013
chensation merged 9 commits intomasterfrom
cluster-insights-lazy-load-node-details

Conversation

@chensation
Copy link
Copy Markdown
Collaborator

@chensation chensation commented Apr 14, 2026

Summary

Defers per-node API calls from page load to row expand in the cluster insights panel, significantly reducing initial load time for large clusters. Replaces the expandable-link component with the built-in row expander chevron for both nodes and replicas.

Changes

  • Lazy-load node details: getDeployedReplicasByApplication and getDeployedApplications calls are now made only when a node row is expanded, reducing initial API requests from 2*N to 0
  • Remove System Primary Replicas column: This data is now only shown in the expanded details row
  • Row expander chevron: Both nodes and replicas now use the built-in row expander (same as event tab) instead of the custom expandable-link
  • Object reuse across refreshes: Display objects are updated in place so expanded state persists across data refreshes without needing a Map
  • Delete ExpandableLinkComponent: No longer used anywhere, fully removed
  • Fix type errors: Fix null defaultSortPropertyPaths and ReplicaRole indexing type errors
  • Add expand test: New test verifies that expanding a node row loads and displays the correct replica and application counts
image image

Impact

For a cluster with N nodes, initial page load goes from 2N+1 API calls to just 1. Each expanded node triggers only 2 calls on demand.

- Defer per-node API calls (getDeployedReplicasByApplication, getDeployedApplications) from page load to row expand, reducing initial requests from 2*N to 0
- Remove system primary replica count column from table (only shown in expanded details)
- Add test asserting expanded details show correct replica and app counts
@chensation chensation force-pushed the cluster-insights-lazy-load-node-details branch from 396b242 to e11c3db Compare April 14, 2026 23:42
- Replace expandable-link with built-in row expander chevron for both nodes and replicas
- Reuse display objects across refreshes to preserve expanded state (event-tab pattern)
- Remove expandedReplicasState Map tracking from replica-list
- Delete unused ExpandableLinkComponent and ListColumnSettingWithExpandableLink
- Fix null defaultSortPropertyPaths and type errors
@chensation chensation changed the title Lazy-load node details on expand in cluster insights Cluster insights: lazy-load node details, use row expander, remove expandable-link Apr 15, 2026
@chensation chensation requested a review from Copilot April 15, 2026 00:18
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Improves Cluster Insights performance and UX by deferring node-detail API calls until a row is expanded, switching nodes/replicas to the built-in row expander, and removing the custom expandable-link component.

Changes:

  • Lazy-load per-node details on row expand (removes 2*N calls from initial nodes load)
  • Replace expandable-link with built-in row expander for nodes and replicas
  • Remove expandable-link component/module wiring and update Cypress coverage for expand behavior

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/SfxWeb/src/app/views/cluster-insights/replica-list/replica-list.component.ts Switch replicas to row expander + reuse replica display objects across refreshes
src/SfxWeb/src/app/views/cluster-insights/nodes/nodes.component.ts Lazy-load node details on expand + reuse node display objects across refreshes
src/SfxWeb/src/app/views/cluster-insights/expandable-link/expandable-link.component.ts Deleted unused expandable-link component
src/SfxWeb/src/app/views/cluster-insights/expandable-link/expandable-link.component.scss Deleted expandable-link styles
src/SfxWeb/src/app/views/cluster-insights/expandable-link/expandable-link.component.html Deleted expandable-link template
src/SfxWeb/src/app/views/cluster-insights/cluster-insights.module.ts Remove ExpandableLinkComponent from module declarations
src/SfxWeb/cypress/e2e/cluster-insights.cy.js Update e2e to expand via row expander and assert lazy-loaded details

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/SfxWeb/src/app/views/cluster-insights/nodes/nodes.component.ts
Comment thread src/SfxWeb/src/app/views/cluster-insights/nodes/nodes.component.ts
Comment thread src/SfxWeb/src/app/views/cluster-insights/replica-list/replica-list.component.ts Outdated
@chensation chensation merged commit 8db56a6 into master Apr 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants