Neutralize self-hosted activation empty state

This commit is contained in:
rcourtman 2026-04-29 00:01:30 +01:00
parent 81d3414040
commit f30f9e7a81
3 changed files with 7 additions and 5 deletions

View file

@ -1496,9 +1496,11 @@ it as a current public Pulse Pro+ package. When direct plan-selection intent
opens the explicit self-hosted comparison surface, the shared presentation
helpers must show Pro's operations, admin, and reporting extras together while
still framing Community, Relay, and Pro as unlimited core monitoring rather
than monitored-system capacity tiers. The same factual plan surface must use
neutral inactive-state copy such as paid self-hosted activation rather than
v5-era "No Pro license" language.
than monitored-system capacity tiers. The same factual plan surface must keep
inactive-state copy neutral: default Community installs may say no activation
key is active, but they must not foreground paid self-hosted activation or
v5-era "No Pro license" language before the operator opens an explicit
comparison, checkout, activation, or recovery path.
The shared license presentation owner also holds self-hosted Pro settings
trial-ended notice copy for `ProLicensePlanSection.tsx`; that surface must
consume canonical helper notices instead of carrying inline upgrade copy or

View file

@ -46,7 +46,7 @@ describe('licensePresentation', () => {
text: 'Loading license status...',
});
expect(getNoActiveSelfHostedActivationState()).toEqual({
text: 'No paid self-hosted activation is active on this instance.',
text: 'No activation key is active on this instance.',
});
expect(SELF_HOSTED_RECOVERY_PRESENTATION).toMatchObject({
disclosureLabel: 'Redeem existing key',

View file

@ -803,7 +803,7 @@ export const getLicenseStatusLoadingState = (): LicenseLoadingStateCopy => ({
});
export const getNoActiveSelfHostedActivationState = (): LicenseLoadingStateCopy => ({
text: 'No paid self-hosted activation is active on this instance.',
text: 'No activation key is active on this instance.',
});
export const SELF_HOSTED_RECOVERY_PRESENTATION: SelfHostedRecoveryPresentation = {