fix(dashboard): reload on stale chunk after redeploy

Builds now emit version.json + a __BUILD_VERSION__ define. The client
re-checks the remote version on visibilitychange/focus and reloads on
mismatch, so a backgrounded tab doesn't hit a 404'd hashed chunk and
surface "'text/html' is not a valid JavaScript MIME type" when opening
Settings. ErrorBoundary catches stale-chunk errors as a safety net.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Fusion
2026-04-26 09:48:04 -07:00
committed by gsxdsm
parent a692edf079
commit ca26ae0781
6 changed files with 111 additions and 4 deletions

View File

@@ -534,9 +534,10 @@ export function registerSettingsMemoryRoutes(ctx: ApiRoutesContext, deps: Settin
}
: remoteAccess;
const issued = issueRemoteAuthToken("short-lived", modeSettings);
const issuedAtMs = Date.now();
const issued = issueRemoteAuthToken("short-lived", modeSettings, issuedAtMs);
const effectiveTtlMs = issued.expiresAt
? Math.max(0, Date.parse(issued.expiresAt) - Date.now())
? Math.max(0, Date.parse(issued.expiresAt) - issuedAtMs)
: modeSettings.tokenStrategy.shortLived.ttlMs;
res.json({ token: issued.token, expiresAt: issued.expiresAt ?? null, ttlMs: effectiveTtlMs });
} catch (err: unknown) {