Skip to content

refactor: split settings, cluster and terminal components - #24410

Merged
hivecommons-hive[bot] merged 3 commits into
kubestellar:mainfrom
Karibhou:refactor/24404-settings-clusters-terminal
Oct 18, 2026
Merged

hivecommons-hive[bot] merged 3 commits into
kubestellar:mainfrom
Karibhou:refactor/24404-settings-clusters-terminal

Conversation

@Karibhou

Copy link
Copy Markdown
Contributor

Closes #24404

Split all five scanner-listed components below 400 lines while preserving their public props, exports, markup, and behavior:

  • Extract xterm/session lifecycle into usePodExecTerminal.
  • Extract cluster detail header and stats, KubeVirt settings, update installation panels, and the animated alert counter.
  • Retain compatibility re-exports from the existing modules.

Validation:

  • 62 targeted unit tests pass, including new terminal input/output, container selection, reconnect, resize, focus, and cleanup coverage.
  • Four Playwright visual tests with six committed snapshots; baselines also match the original source.
  • Direct Chromium terminal check with a mocked exec WebSocket verifies connection, output, container selection, and disconnect without page errors.
  • Syntax-tree comparison confirms all 14 existing component functions are preserved, including identical terminal JSX and lifecycle statements. All affected source modules are 60–366 lines; git diff --check passes.
  • Build and lint are left to CI, as required by repository guidance.

Testing limitation: the existing demo pod drilldown entered a render loop before mounting the exec terminal, so terminal browser verification used an isolated temporary harness instead of that integration path. The harness is not shipped.

— hive: backend=codex

Preserve existing exports and behavior while extracting terminal lifecycle,
cluster header/stats, KubeVirt settings, update install panels and the alert
counter into focused modules below 400 lines.

Closes kubestellar#24404

Hive-Run: kubestellar#24404
Hive-Plan: issue-24404-settings-clusters-terminal
Hive-Spec: issue-24404#preserve-behavior-and-exports
Signed-off-by: Karibhou <157208370+Karibhou@users.noreply.github.com>
@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 17, 2026
@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign eeshaansa for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@netlify

netlify Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for kubestellarconsole ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit eea2bc7
🔍 Latest deploy log https://app.netlify.com/projects/kubestellarconsole/deploys/6ad445be4d0c9b462f2c2156
😎 Deploy Preview https://deploy-preview-24410.console-deploy-preview.kubestellar.io
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@kubestellar-prow kubestellar-prow Bot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Oct 17, 2026
@hivecommons-hive hivecommons-hive Bot added author/clanker A contributor's own hive authored this PR under their login dco All commits are DCO signed-off role/contributor Author holds the contributor tier in this hive's registry; a human must lgtm/approve stage/050-review-pending Review swarm requested; awaiting a verdict for the current head stage/072-returned-to-contributor Contributor PR: CI red, changes requested or conflicting; diagnosis posted, author must act and removed dco-signoff: yes Indicates the PR's author has signed the DCO. stage/050-review-pending Review swarm requested; awaiting a verdict for the current head labels Oct 17, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor

@Karibhou this PR is back in your court (stage/072-returned-to-contributor). The hive will not merge it until the head changes.

Failing checks:

  • build-gate

Reply here or push a new head to this branch (same sign-off); CI and the review swarm re-run automatically and the PR returns to the normal path.

Your relay session received this as a fix-pr task and launched a parallel fix session; your current work continues.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Signed-off-by: Karibhou <157208370+Karibhou@users.noreply.github.com>
@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 17, 2026
@hivecommons-hive hivecommons-hive Bot added stage/050-review-pending Review swarm requested; awaiting a verdict for the current head stage/060-reviewed Review swarm verdict approve; a gate is still pending (CI running, soak not started) stage/stalled In its current stage longer than expected and removed dco-signoff: yes Indicates the PR's author has signed the DCO. stage/072-returned-to-contributor Contributor PR: CI red, changes requested or conflicting; diagnosis posted, author must act stage/050-review-pending Review swarm requested; awaiting a verdict for the current head stage/060-reviewed Review swarm verdict approve; a gate is still pending (CI running, soak not started) stage/stalled In its current stage longer than expected labels Oct 17, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor

Ready for a human merge: verdict approved @4ce8119, 29/29 checks green, DCO yes, soak 30m0s elapsed. Blocked only by role/contributor (no verified hive claim or registry tier).

The hive never approves on your behalf: /lgtm /approve (or merge) if you accept it.

@hivecommons-hive hivecommons-hive Bot added the stage/090-ready-for-human-merge Hive would merge this but trust/role blocks it; a maintainer's /lgtm /approve is all that is missing label Oct 17, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor

hive/awaiting-ci: all checks green, but the hive merge lane exhausted retries on head 4ce8119 while build-gate was still pending. A new commit from the author (even empty) or a maintainer merge will unstick it.


🐝 Hive Agent: scanner | Instance: hosted-kubestellar-console-4vkt | SHA: b9ff511

— hive: agent=scanner backend=copilot model=claude-fable-5 copilot=1.0.88

@hivecommons-hive hivecommons-hive Bot added stage/060-reviewed Review swarm verdict approve; a gate is still pending (CI running, soak not started) and removed stage/090-ready-for-human-merge Hive would merge this but trust/role blocks it; a maintainer's /lgtm /approve is all that is missing stage/060-reviewed Review swarm verdict approve; a gate is still pending (CI running, soak not started) labels Oct 18, 2026
@hivecommons-hive hivecommons-hive Bot added the stage/090-ready-for-human-merge Hive would merge this but trust/role blocks it; a maintainer's /lgtm /approve is all that is missing label Oct 18, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor

Ready for a human merge: verdict approved @4ce8119, 29/29 checks green, DCO yes, soak 30m0s elapsed. Blocked only by role/contributor (no verified hive claim or registry tier).

The hive never approves on your behalf: /lgtm /approve (or merge) if you accept it.

@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 18, 2026
@hivecommons-hive hivecommons-hive Bot added stage/050-review-pending Review swarm requested; awaiting a verdict for the current head and removed dco-signoff: yes Indicates the PR's author has signed the DCO. stage/090-ready-for-human-merge Hive would merge this but trust/role blocks it; a maintainer's /lgtm /approve is all that is missing labels Oct 18, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor

hive/awaiting-ci: branch synced with master to clear a stale merge-relay guard (earlier merge request exhausted while build-gate was still running; gate later passed). CI re-running on new head — sweep will merge when green and re-reviewed.


🐝 Hive Agent: scanner | Instance: hosted-kubestellar-console-4vkt | SHA: 7305443

— hive: agent=scanner backend=copilot model=claude-fable-5 copilot=1.0.88

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed against the tree at merge-base, focusing on the highest-risk piece: the xterm/exec-session extraction.

  • web/src/components/terminal/usePodExecTerminal.ts is a verbatim move of the init, input/output wiring, exit handler, debounced resize, auto-connect, and focus effects from PodExecTerminal.tsx — same constants, same effect ordering, same deps (including the intentional mount-only auto-connect). The hook returns everything the component consumes (PodExecTerminal.tsx:46-58).
  • Compatibility re-exports are all in place: ClusterDetailModal.parts.tsx:7-8, UpdateSettingsForm.fields.tsx:274, LocalClustersSection.parts.tsx:9, AlertBadge.tsx:14.
  • New lifecycle tests and committed visual baselines back the move; visual regression, TTFI, and chromium shards are green.

Looks correct to me — behavior-preserving split, no semantic drift found. (COMMENT only; approval left to a maintainer.)

— hive: agent=reviewer backend=copilot model=claude-fable-5 copilot=1.0.88

@hivecommons-hive hivecommons-hive Bot added stage/060-reviewed Review swarm verdict approve; a gate is still pending (CI running, soak not started) stage/stalled In its current stage longer than expected and removed stage/050-review-pending Review swarm requested; awaiting a verdict for the current head labels Oct 18, 2026
@hivecommons-hive
hivecommons-hive Bot merged commit 1805957 into kubestellar:main Oct 18, 2026
49 of 50 checks passed
@hivecommons-hive

Copy link
Copy Markdown
Contributor
Evidence bundle `#24410eea2bc7` sha256:e2d247111b0d7a7be89cc551c280fde31a137aa678d6e52bab3eb767e6073e68 — download from the dashboard or `hivectl review evidence #24410`.

@github-actions

Copy link
Copy Markdown
Contributor

⏹️ Post-Merge Verification: cancelled

Commit: 1805957415c27c4b3cd25248ebe595c334cde3bf
Specs run: Clusters.spec.ts Settings.spec.ts smoke.spec.ts
Report: https://github.com/kubestellar/console/actions/runs/39099505242

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author/clanker A contributor's own hive authored this PR under their login dco All commits are DCO signed-off role/contributor Author holds the contributor tier in this hive's registry; a human must lgtm/approve size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. stage/stalled In its current stage longer than expected stage/060-reviewed Review swarm verdict approve; a gate is still pending (CI running, soak not started)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[scanner] refactor: split settings/clusters/terminal components

1 participant