Font-wait counts only actively-loading faces; excuse aborted fetches whose file exists
- Lazy-loading semantics: an @font-face never matched by rendered text stays "unloaded" forever - the readiness poll now waits only on faces in "loading" state, ending the instant fetches settle (removes ~3s of dead deadline per viewport on affected pages); unreferenced faces log per-face informationally instead of warning - Asset gate counts a failure only for real HTTP >= 400 or a failed fetch whose target file is genuinely absent from the export - aborted srcset-candidate image fetches with valid files on disk are excused, matching the existing streaming-media treatment 458 tests pass (11 new), typecheck clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
fae44aab93
commit
03743333c1
@@ -222,7 +222,7 @@ export function gate2Assets(assetGraph: AssetGraph, fontGraph: FontGraph, gen: {
|
||||
if (zeroByte > 0) issues.push(`${zeroByte} zero-byte downloaded assets`);
|
||||
if (skippedNoReason > 0) issues.push(`${skippedNoReason} skipped assets without reason`);
|
||||
if (gen.remoteRefs.length > 0) issues.push(`${gen.remoteRefs.length} generated refs point to remote origin`);
|
||||
if (gen.failed404.length > 0) issues.push(`${gen.failed404.length} generated asset refs 404`);
|
||||
if (gen.failed404.length > 0) issues.push(`${gen.failed404.length} generated asset refs missing (HTTP >= 400 or file absent from export)`);
|
||||
const fontsResolvedOrFallback = fontGraph.entries.every((f) => f.status === "resolved" || (f.status === "fallback" && f.reason));
|
||||
if (!fontsResolvedOrFallback) issues.push("font declarations not resolved/fallback-recorded");
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user