Skip to content

UX-1488: hide the overview trial banner when the cluster holds an active Enterprise licence - #2642

Open
SpicyPete wants to merge 1 commit into
masterfrom
fix/ux-1488-overview-trial-banner
Open

UX-1488: hide the overview trial banner when the cluster holds an active Enterprise licence#2642
SpicyPete wants to merge 1 commit into
masterfrom
fix/ux-1488-overview-trial-banner

Conversation

@SpicyPete

@SpicyPete SpicyPete commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Fixes UX-1488.

What the reporter saw

The overview page listed two licences, Console Trial (expiring in 30 days) and Redpanda Enterprise (expiring in 90 days), while the banner above the stats said "This cluster is on an Enterprise trial. Register for an additional 30 days of enterprise features."

Why

Two things combine:

  • Console's own licence is a boot-time snapshot. console-enterprise runs CheckLicense once in main.go; when no licence is configured it copies the cluster's licence (organisation, type, expiry) as Console's own, and that value is what ListLicenses reports under source REDPANDA_CONSOLE. A cluster that was on its built-in 30-day trial when Console started keeps reporting "Console Trial" after an Enterprise licence is uploaded, until Console restarts.
  • The banner only looked at trial licences. OverviewLicenseNotification filtered the list to License_Type.TRIAL before deciding what to say, so the Enterprise licence on the core never entered the decision and a licensed cluster was told it was on a trial.

The change

  • license-utils.tsx: new coreHasActiveEnterpriseLicense(licenses) — true for an unexpired ENTERPRISE licence with source REDPANDA_CORE.
  • overview-license-notification.tsx: return null when that holds, so the trial notice never shows over an Enterprise-licensed cluster.

Deliberately core-only: a Console-side Enterprise licence with the cluster still on its trial keeps the notice, because the copy is about this cluster. An expired core Enterprise licence does not suppress it either; the global LicenseNotification owns expired-Enterprise messaging.

Not a Chakra-exit regression

The logic dates from cec4becba ("Trial license banners", 2025-07-21). The Phase 2 PR that touched this file (#2634) only swapped Box / Flex / Alert for Registry primitives; the diff has no logic change.

Tests

license-utils.test.tsx: four unit tests for the helper and four render tests for OverviewLicenseNotification (built-in trial alone → notice shown; trial + active core Enterprise → hidden; trial + expired core Enterprise → shown; Console Enterprise + core trial → shown). The shared backend-api mock gained isRedpanda, clusterOverview and refreshClusterOverview, which the component reads.

Gates

bun run type:check clean · lint:check clean on both source files (the test file carries the same pre-existing test-globals diagnostics as master) · unit 882 passed · integration 1318 passed.

Follow-up (not in this PR)

The frontend can only mask the stale snapshot. console-enterprise should re-check the licence after boot (or on ListLicenses) so Console's own entry follows an uploaded Enterprise licence without a restart.

🤖 Generated with Claude Code

…an active Enterprise licence (UX-1488)

Console's own licence is a boot-time snapshot (console-enterprise runs
CheckLicense once in main.go). A cluster that was on its built-in trial
when Console started keeps reporting "Console Trial" after an Enterprise
licence is uploaded, and OverviewLicenseNotification only looked at TRIAL
licences, so it told a licensed cluster it was on an Enterprise trial.

An unexpired ENTERPRISE licence with source REDPANDA_CORE now suppresses
the trial notice. A Console-side Enterprise licence with the core still
on trial keeps the notice, since the copy is about the cluster.

Pre-existing since cec4bec (2025-07-21); the Chakra-exit PR #2634 only
swapped the Alert primitives and did not touch this logic.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@SpicyPete SpicyPete self-assigned this Sep 9, 2026
@SpicyPete
SpicyPete requested review from a team, datamali, eblairmckee, jvorcak and yougotashovel and removed request for a team September 9, 2026 14:30
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Clean — no registry drift, off-token colours, or ad-hoc classes

App: frontend · Scope: diff vs origin/master · Files: 3

Count
⚠️ Outdated registry components 0
🛠 Locally-modified components 0
❓ Unknown to registry 0
🎨 Off-token palette colours 0
🔢 Ad-hoc utility classes 0

Generated by lookout audit-changes.

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.

1 participant