Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build-dev/index.asset.php
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => '485019c0ccf8491204de');
<?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => '274a0dda6a99eb6e2e32');
42 changes: 21 additions & 21 deletions build-dev/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -940,7 +940,7 @@ __webpack_require__.r(__webpack_exports__);


/**
* @since TBD
* @since 1.3.0
*/
function NexcessLogo({
className
Expand Down Expand Up @@ -1581,7 +1581,7 @@ __webpack_require__.r(__webpack_exports__);


/**
* @since TBD Read subscriptionsUrl through the getHarborDataValue helper.
* @since 1.3.0 Read subscriptionsUrl through the getHarborDataValue helper.
* @since 1.0.0
*/

Expand Down Expand Up @@ -1666,7 +1666,7 @@ __webpack_require__.r(__webpack_exports__);


/**
* @since TBD Use the shared getLicenseKeyPlaceholder helper for the placeholder.
* @since 1.3.0 Use the shared getLicenseKeyPlaceholder helper for the placeholder.
* @since 1.0.0
*/
function LicenseKeyInput({
Expand Down Expand Up @@ -2016,7 +2016,7 @@ __webpack_require__.r(__webpack_exports__);


/**
* @since TBD Read activationUrl through the getHarborDataValue helper.
* @since 1.3.0 Read activationUrl through the getHarborDataValue helper.
* @since 1.0.0
*/

Expand Down Expand Up @@ -2361,7 +2361,7 @@ __webpack_require__.r(__webpack_exports__);


/**
* @since TBD
* @since 1.3.0
*/

function WelcomeLicenseForm() {
Expand Down Expand Up @@ -2451,7 +2451,7 @@ __webpack_require__.r(__webpack_exports__);


/**
* @since TBD
* @since 1.3.0
*/
function WelcomeNoticeBanner({
children
Expand Down Expand Up @@ -2499,7 +2499,7 @@ __webpack_require__.r(__webpack_exports__);


/**
* @since TBD
* @since 1.3.0
*/

function AppLoader() {
Expand Down Expand Up @@ -2662,7 +2662,7 @@ __webpack_require__.r(__webpack_exports__);


/**
* @since TBD Read activationUrl through the getHarborDataValue helper.
* @since 1.3.0 Read activationUrl through the getHarborDataValue helper.
* @since 1.0.0
*/

Expand Down Expand Up @@ -2837,7 +2837,7 @@ function LicenseSectionSkeleton() {
}

/**
* @since TBD Read subscriptionsUrl through the getHarborDataValue helper.
* @since 1.3.0 Read subscriptionsUrl through the getHarborDataValue helper.
* @since 1.0.0
*/
function LicenseSection({
Expand Down Expand Up @@ -2967,7 +2967,7 @@ __webpack_require__.r(__webpack_exports__);


/**
* @since TBD Read domain through the getHarborDataValue helper for upgrade URLs.
* @since 1.3.0 Read domain through the getHarborDataValue helper for upgrade URLs.
* @since 1.0.2 Route upgrade CTA to catalog upgrade_url for existing subscribers, purchase_url for new subscribers.
* @since 1.0.1 Show Unactivated badge on tier groups and product header for unactivated licenses.
* @since 1.0.0
Expand Down Expand Up @@ -3264,7 +3264,7 @@ __webpack_require__.r(__webpack_exports__);


/**
* @since TBD
* @since 1.3.0
*/

function WelcomeScreen() {
Expand Down Expand Up @@ -3330,7 +3330,7 @@ __webpack_require__.r(__webpack_exports__);


/**
* @since TBD Read version through the getHarborDataValue helper.
* @since 1.3.0 Read version through the getHarborDataValue helper.
* @since 1.0.0
*/

Expand Down Expand Up @@ -3451,7 +3451,7 @@ __webpack_require__.r(__webpack_exports__);


/**
* @since TBD
* @since 1.3.0
*/
function WelcomeShell({
children
Expand Down Expand Up @@ -4325,7 +4325,7 @@ function findErrors(results) {
}

/**
* @since TBD Expose isLicenseLoading alongside isLoading so consumers can route on the license resolver alone.
* @since 1.3.0 Expose isLicenseLoading alongside isLoading so consumers can route on the license resolver alone.
* @since 1.0.0
*/
function HarborDataProvider({
Expand Down Expand Up @@ -5018,7 +5018,7 @@ function getSwitchChecked(pendingAction, featureEnabled) {
return featureEnabled;
}
/**
* @since TBD Read pluginsUrl through the getHarborDataValue helper for the post-deactivate redirect.
* @since 1.3.0 Read pluginsUrl through the getHarborDataValue helper for the post-deactivate redirect.
* @since 1.0.0
*/
function useFeatureRow(feature) {
Expand Down Expand Up @@ -5356,7 +5356,7 @@ const SERVER_INVALID_KEY_CODE = 'lw-harbor-invalid-key';
* Defined once so translators see a single string identity across both call
* sites — re-translating the same advice twice risks drift.
*
* @since TBD
* @since 1.3.0
*/
function getNonUnifiedLicenseAdvice() {
return (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("If this is a non-unified license, activate it in that plugin's own settings page.", '%TEXTDOMAIN%');
Expand All @@ -5374,7 +5374,7 @@ function getNonUnifiedLicenseAdvice() {
* specifically rejected the key as unrecognized — for expired or
* suspended subscriptions that framing would be misleading.
*
* @since TBD
* @since 1.3.0
*/
function pickWelcomeErrorMessage(error) {
const serverError = error.cause instanceof _errors__WEBPACK_IMPORTED_MODULE_4__.HarborError ? error.cause : null;
Expand All @@ -5385,7 +5385,7 @@ function pickWelcomeErrorMessage(error) {
return baseMessage;
}
/**
* @since TBD
* @since 1.3.0
*/
function useWelcomeLicenseForm() {
const [key, setKey] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)('');
Expand Down Expand Up @@ -5659,7 +5659,7 @@ const DEFAULTS = {
};

/**
* @since TBD
* @since 1.3.0
*/

function getHarborDataValue(key, fallback) {
Expand All @@ -5671,7 +5671,7 @@ function getHarborDataValue(key, fallback) {
* prefix followed by five groups of four X's, matching the issued key shape
* (e.g. `LWSW-XXXX-XXXX-XXXX-XXXX-XXXX`).
*
* @since TBD
* @since 1.3.0
*/
function getLicenseKeyPlaceholder() {
return `${getHarborDataValue('licenseKeyPrefix')}XXXX-XXXX-XXXX-XXXX-XXXX`;
Expand Down Expand Up @@ -5750,7 +5750,7 @@ __webpack_require__.r(__webpack_exports__);
* @param baseUrl The upgrade_url string from the catalog tier.
* @param domain The site domain from getHarborDataValue( 'domain' ).
*
* @since TBD Domain parameter is now string | null to match the getHarborDataValue helper.
* @since 1.3.0 Domain parameter is now string | null to match the getHarborDataValue helper.
* @since 1.0.2
*/
function buildUpgradeUrl(baseUrl, domain) {
Expand Down
2 changes: 1 addition & 1 deletion build-dev/index.js.map

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
### [1.3.0] 2026-05-19

* Feature - Registered Legacy Licenses can now be utilized for updates if `use_for_updates` is `true`.
* Tweak - The Software License Manager page now shows a splash screen until a Unified License Key is entered.

### [1.2.0] 2026-05-13

* Feature - The features page no longer shows unless a Premium Addon has been registered.
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/atoms/NexcessLogo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ interface NexcessLogoProps {
}

/**
* @since TBD
* @since 1.3.0
*/
export function NexcessLogo( { className }: NexcessLogoProps ) {
return (
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/molecules/LegacyLicenseBanner.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { store as harborStore } from '@/store';
import { getHarborDataValue } from '@/lib/harbor-data';

/**
* @since TBD Read subscriptionsUrl through the getHarborDataValue helper.
* @since 1.3.0 Read subscriptionsUrl through the getHarborDataValue helper.
* @since 1.0.0
*/
export function LegacyLicenseBanner() {
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/molecules/LicenseKeyInput.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ interface LicenseKeyInputProps {
}

/**
* @since TBD Use the shared getLicenseKeyPlaceholder helper for the placeholder.
* @since 1.3.0 Use the shared getLicenseKeyPlaceholder helper for the placeholder.
* @since 1.0.0
*/
export function LicenseKeyInput( {
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/molecules/NotActivatedBanner.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { store as harborStore } from '@/store';
import { getHarborDataValue } from '@/lib/harbor-data';

/**
* @since TBD Read activationUrl through the getHarborDataValue helper.
* @since 1.3.0 Read activationUrl through the getHarborDataValue helper.
* @since 1.0.0
*/
export function NotActivatedBanner() {
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/molecules/WelcomeLicenseForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { useWelcomeLicenseForm, getNonUnifiedLicenseAdvice } from '@/hooks/useWe
import { getLicenseKeyPlaceholder } from '@/lib/harbor-data';

/**
* @since TBD
* @since 1.3.0
*/
export function WelcomeLicenseForm() {
const {
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/molecules/WelcomeNoticeBanner.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ interface WelcomeNoticeBannerProps {
}

/**
* @since TBD
* @since 1.3.0
*/
export function WelcomeNoticeBanner( { children }: WelcomeNoticeBannerProps ) {
return (
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/organisms/AppLoader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { Loader2 } from 'lucide-react';
import { WelcomeShell } from '@/components/templates/WelcomeShell';

/**
* @since TBD
* @since 1.3.0
*/
export function AppLoader() {
return (
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/organisms/LicensePanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { HarborError } from '@/errors';
import { getHarborDataValue } from '@/lib/harbor-data';

/**
* @since TBD Read activationUrl through the getHarborDataValue helper.
* @since 1.3.0 Read activationUrl through the getHarborDataValue helper.
* @since 1.0.0
*/
export function LicensePanel() {
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/organisms/LicenseSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ function LicenseSectionSkeleton() {
}

/**
* @since TBD Read subscriptionsUrl through the getHarborDataValue helper.
* @since 1.3.0 Read subscriptionsUrl through the getHarborDataValue helper.
* @since 1.0.0
*/
export function LicenseSection( {
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/organisms/ProductSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ interface ProductSectionProps {
}

/**
* @since TBD Read domain through the getHarborDataValue helper for upgrade URLs.
* @since 1.3.0 Read domain through the getHarborDataValue helper for upgrade URLs.
* @since 1.0.2 Route upgrade CTA to catalog upgrade_url for existing subscribers, purchase_url for new subscribers.
* @since 1.0.1 Show Unactivated badge on tier groups and product header for unactivated licenses.
* @since 1.0.0
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/organisms/WelcomeScreen.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { WelcomeNoticeBanner } from '@/components/molecules/WelcomeNoticeBa
import { WelcomeLicenseForm } from '@/components/molecules/WelcomeLicenseForm';

/**
* @since TBD
* @since 1.3.0
*/
export function WelcomeScreen() {
return (
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/templates/AppShell.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import { useHarborData } from '@/context/harbor-data-context';
import { getHarborDataValue } from '@/lib/harbor-data';

/**
* @since TBD Read version through the getHarborDataValue helper.
* @since 1.3.0 Read version through the getHarborDataValue helper.
* @since 1.0.0
*/
export function AppShell() {
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/templates/WelcomeShell.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ interface WelcomeShellProps {
}

/**
* @since TBD
* @since 1.3.0
*/
export function WelcomeShell( { children }: WelcomeShellProps ) {
return (
Expand Down
2 changes: 1 addition & 1 deletion resources/js/context/harbor-data-context.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ function findErrors( results: ResolvableRecord ): HarborError[] {
}

/**
* @since TBD Expose isLicenseLoading alongside isLoading so consumers can route on the license resolver alone.
* @since 1.3.0 Expose isLicenseLoading alongside isLoading so consumers can route on the license resolver alone.
* @since 1.0.0
*/
export function HarborDataProvider( { children }: { children: ReactNode } ) {
Expand Down
2 changes: 1 addition & 1 deletion resources/js/hooks/useFeatureRow.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export interface FeatureRowState {
}

/**
* @since TBD Read pluginsUrl through the getHarborDataValue helper for the post-deactivate redirect.
* @since 1.3.0 Read pluginsUrl through the getHarborDataValue helper for the post-deactivate redirect.
* @since 1.0.0
*/
export function useFeatureRow( feature: Feature ): FeatureRowState {
Expand Down
6 changes: 3 additions & 3 deletions resources/js/hooks/useWelcomeLicenseForm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const SERVER_INVALID_KEY_CODE = 'lw-harbor-invalid-key';
* Defined once so translators see a single string identity across both call
* sites — re-translating the same advice twice risks drift.
*
* @since TBD
* @since 1.3.0
*/
export function getNonUnifiedLicenseAdvice(): string {
return __(
Expand All @@ -51,7 +51,7 @@ export function getNonUnifiedLicenseAdvice(): string {
* specifically rejected the key as unrecognized — for expired or
* suspended subscriptions that framing would be misleading.
*
* @since TBD
* @since 1.3.0
*/
export function pickWelcomeErrorMessage( error: HarborError ): string {
const serverError = error.cause instanceof HarborError ? error.cause : null;
Expand All @@ -76,7 +76,7 @@ export interface UseWelcomeLicenseForm {
}

/**
* @since TBD
* @since 1.3.0
*/
export function useWelcomeLicenseForm(): UseWelcomeLicenseForm {
const [ key, setKey ] = useState( '' );
Expand Down
4 changes: 2 additions & 2 deletions resources/js/lib/harbor-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const DEFAULTS = {
type KeyWithDefault = keyof typeof DEFAULTS;

/**
* @since TBD
* @since 1.3.0
*/
export function getHarborDataValue<K extends KeyWithDefault>(
key: K
Expand Down Expand Up @@ -52,7 +52,7 @@ export function getHarborDataValue<K extends keyof HarborData>(
* prefix followed by five groups of four X's, matching the issued key shape
* (e.g. `LWSW-XXXX-XXXX-XXXX-XXXX-XXXX`).
*
* @since TBD
* @since 1.3.0
*/
export function getLicenseKeyPlaceholder(): string {
return `${ getHarborDataValue( 'licenseKeyPrefix' ) }XXXX-XXXX-XXXX-XXXX-XXXX`;
Expand Down
2 changes: 1 addition & 1 deletion resources/js/lib/upgrade-url.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* @param baseUrl The upgrade_url string from the catalog tier.
* @param domain The site domain from getHarborDataValue( 'domain' ).
*
* @since TBD Domain parameter is now string | null to match the getHarborDataValue helper.
* @since 1.3.0 Domain parameter is now string | null to match the getHarborDataValue helper.
* @since 1.0.2
*/
export function buildUpgradeUrl(
Expand Down
2 changes: 1 addition & 1 deletion src/Harbor/Admin/Feature_Manager_Page.php
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ public function maybe_enqueue_assets( string $hook_suffix ): void {
* dirname(dirname(__DIR__)) → src
* dirname(dirname(dirname(__DIR__))) → plugin root (harbor/)
*
* @since TBD Expose License_Key::PREFIX to the React app via the localized payload.
* @since 1.3.0 Expose License_Key::PREFIX to the React app via the localized payload.
* @since 1.0.0
*
* @return void
Expand Down
Loading