UX-1488: hide the overview trial banner when the cluster holds an active Enterprise licence - #2642
Open
SpicyPete wants to merge 1 commit into
Open
UX-1488: hide the overview trial banner when the cluster holds an active Enterprise licence#2642SpicyPete wants to merge 1 commit into
SpicyPete wants to merge 1 commit into
Conversation
…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
requested review from
a team,
datamali,
eblairmckee,
jvorcak and
yougotashovel
and removed request for
a team
September 9, 2026 14:30
Contributor
✅ Clean — no registry drift, off-token colours, or ad-hoc classesApp:
Generated by lookout audit-changes. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
CheckLicenseonce inmain.go; when no licence is configured it copies the cluster's licence (organisation, type, expiry) as Console's own, and that value is whatListLicensesreports under sourceREDPANDA_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.OverviewLicenseNotificationfiltered the list toLicense_Type.TRIALbefore 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: newcoreHasActiveEnterpriseLicense(licenses)— true for an unexpiredENTERPRISElicence with sourceREDPANDA_CORE.overview-license-notification.tsx: returnnullwhen 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
LicenseNotificationowns 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 swappedBox/Flex/Alertfor Registry primitives; the diff has no logic change.Tests
license-utils.test.tsx: four unit tests for the helper and four render tests forOverviewLicenseNotification(built-in trial alone → notice shown; trial + active core Enterprise → hidden; trial + expired core Enterprise → shown; Console Enterprise + core trial → shown). The sharedbackend-apimock gainedisRedpanda,clusterOverviewandrefreshClusterOverview, which the component reads.Gates
bun run type:checkclean ·lint:checkclean on both source files (the test file carries the same pre-existing test-globals diagnostics asmaster) · 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