Merge pull request #3597 from shleeable/patch-11

Fix: License.check can fail silently
This commit is contained in:
Owen Schwartz
2026-08-31 17:02:53 -04:00
committed by GitHub
+9 -13
View File
@@ -149,12 +149,8 @@ LQIDAQAB
} }
// Count used sites and users for license comparison // Count used sites and users for license comparison
const [siteCountRes] = await db const [siteCountRes] = await db.select({ value: count() }).from(sites);
.select({ value: count() }) const [userCountRes] = await db.select({ value: count() }).from(users);
.from(sites);
const [userCountRes] = await db
.select({ value: count() })
.from(users);
const status: LicenseStatus = { const status: LicenseStatus = {
hostId: this.hostMeta.hostMetaId, hostId: this.hostMeta.hostMetaId,
@@ -276,10 +272,13 @@ LQIDAQAB
logger.error( logger.error(
`Allowing failure. Will retry one more time at next run interval.` `Allowing failure. Will retry one more time at next run interval.`
); );
// return last known good status // Fall back to last known good status if we have
return this.statusCache.get( // one cached; otherwise return the freshly built
// status (with defaults) rather than undefined.
const lastKnownStatus = this.statusCache.get(
this.statusKey this.statusKey
) as LicenseStatus; ) as LicenseStatus | undefined;
return lastKnownStatus ?? status;
} else { } else {
// Subsequent failures: fail abruptly // Subsequent failures: fail abruptly
throw e; throw e;
@@ -368,10 +367,7 @@ LQIDAQAB
} }
// Only consider quantity if defined and >= 0 (quantity = users, quantity_2 = sites) // Only consider quantity if defined and >= 0 (quantity = users, quantity_2 = sites)
if ( if (cached.quantity_2 !== undefined && cached.quantity_2 >= 0) {
cached.quantity_2 !== undefined &&
cached.quantity_2 >= 0
) {
status.maxSites = status.maxSites =
(status.maxSites ?? 0) + cached.quantity_2; (status.maxSites ?? 0) + cached.quantity_2;
} }