Skip to content

Extend duplicate-URL banner to k8s/helm + kubernetes picker parity - #5699

Merged
norman-abramovitz merged 2 commits into
cloudfoundry:developfrom
nabramovitz:fix/duplicate-url-banner-k8s-helm-parity
Jul 26, 2026
Merged

Extend duplicate-URL banner to k8s/helm + kubernetes picker parity#5699
norman-abramovitz merged 2 commits into
cloudfoundry:developfrom
nabramovitz:fix/duplicate-url-banner-k8s-helm-parity

Conversation

@nabramovitz

Copy link
Copy Markdown
Contributor

Summary

  • Generalizes DuplicateUrlBannerComponent (moved cloud-foundrycore, takes an endpoints$ input) and wires it into /workloads and /monocular/charts, each scoped to its own connected endpoint type so no page's banner leaks unrelated duplicates from another type. CF pages now pass endpoints$ explicitly; behavior unchanged there.
  • Brings the /kubernetes picker to parity with /cloud-foundry's: adds the duplicate-URL banner, restores the row-action kebab (Connect/Disconnect/Reconnect/Edit — Unregister stays admin-only on /endpoints) which was previously suppressed by a legacy dsEndpointType: 'k8s' flag, and drops the custom <app-endpoint-card> card template so both card and table mode render from the same column config the CF picker uses (plain-Host address, dot status, kebab actions) instead of two different rendering paths.

Builds on #5698 (shared-URL banner sentence rework) — this PR only adds new banner call sites and the kubernetes picker parity fix, no changes to the sentence-construction logic itself.

Test plan

  • tsc --noEmit — zero new errors (4268 baseline errors are pre-existing, in unrelated e2e/build files)
  • Full vitest suite (core/store/cloud-foundry/kubernetes projects) — 609 test files / 3127 tests passing, no failures
  • Live-verified against a real dev stack with actual duplicate CF/k8s registrations: /applications, /marketplace, /services, /cloud-foundry, /home, /workloads, /monocular/charts, /kubernetes (card + table mode)

Generalizes DuplicateUrlBannerComponent (moved cloud-foundry -> core,
takes an `endpoints$` input instead of hardcoding CloudFoundryService)
and wires it into the /workloads and /monocular/charts pages, scoped
to their own connected endpoint type so neither page's banner leaks
unrelated duplicates from another type.

CF pages (Application Wall, Marketplace, Services, CF picker) now
pass their endpoints$ explicitly instead of relying on the component's
internal CF-only wiring; behavior unchanged.
Two gaps vs the CF picker: no duplicate-URL banner, and the kebab
menu was deliberately suppressed (a legacy dsEndpointType: 'k8s'
flag). Fixes both, plus brings the address/status rendering and
row-action set (Connect/Disconnect/Reconnect/Edit, no Unregister -
that stays admin-only on /endpoints) to parity with the CF picker.

Drops the custom <app-endpoint-card> cardTemplate entirely so both
card and table mode render from the same SignalListColumn config the
CF picker uses (Name/Address/Status/Actions) instead of two different
rendering paths - this is what makes the address field (plain Host,
no scheme/copy-icon/warning-badge) and the table-mode kebab (missing
before) fall out for free instead of needing separate fixes.

@norman-abramovitz norman-abramovitz 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.

LGTM

@norman-abramovitz
norman-abramovitz merged commit 24e1dda into cloudfoundry:develop Jul 26, 2026
22 checks passed
@nabramovitz
nabramovitz deleted the fix/duplicate-url-banner-k8s-helm-parity branch July 26, 2026 14:25
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.

2 participants