Repository navigation
fix(engine): name a failed script's origin and error before its free text - #7256
Conversation
…text of its warning
There was a problem hiding this comment.
Verdict: APPROVE · 0 blocker · 0 important · 0 nits · head 1d94fd48
Scope
Read the whole diff. scriptLoadCauseSuffix has only the one caller, so no other message carries the tag at the end. With no causes, the suffix is empty and the message reads failed to load (…). I checked the fails-without-fix line: with main's frameCapture.ts, the named test fails and the other 7 pass. At head, all 8 pass. I also ran a probe through redactTelemetryString: a local and a CDN URL, plus a 300-character page error. On main, the cut ends at …gsap.min.js, runtime-error:… and the tag is gone. At head, [script_load: remote/net::ERR_NAME_NOT_RESOLVED, cdn/http-503] survives, and the path redaction leaves the tag alone. CI was still running when I approved, with no failures so far.
— Genesis V2 reviewer
Edit accuracy: accurate 267 (base branch 267), smooth 109 of thoseThe gate passes. Quarantined, measured but not gated (8)
Unstable (2)
|
…view Adopts heygen-com#7240 (deferred frame extraction leaves the distributed code), heygen-com#7241 (a capture segment extracts and deletes its own frames), heygen-com#7255 (segmented and sequential capture check drawElement samples), heygen-com#7254 (normalize-audio --reference stops short of the peak ceiling), heygen-com#7256 (engine names a failed script's origin first), heygen-com#7258 (SVG gradient text judged by its stops) and heygen-com#7242 (windowed source frames, off unless HF_VIDEO_FRAME_WINDOW=true). Release v0.9.17 is not synced wholesale; the producer packed budget takes upstream's +12000 from this range. Watermark advances to 32eb4c3. Co-authored-by: Vance Ingalls <vance@heygen.com> Co-authored-by: Miguel Ángel <miguel.sierra@heygen.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Problem
When a sub-composition script fails to load, the engine knows where it came from and why (
[script_load: cdn/net::ERR_NAME_NOT_RESOLVED]), but it put that closed tag at the END of a warning that also carries the failing URLs and the page's error text. The render's error (RenderQualityError) runs each warning throughredactTelemetryString, which cuts long strings, so on any real failure the tag is the part that is cut: the CLI's final error box ends in[script_load: remote/net::ERR_…. A host app reading the CLI's error cannot tell a blocked CDN from a missing local file.Change
The tag now follows the sentence's head, before the free text:
A sub-composition timeline script failed to load [script_load: origin/code] (sources). Same words and same content, different order; nothing else reads the old position (the one test that did is updated).Verified
frameCapture-scriptLoadCause.test.ts: 8 pass; the changed test fails on main (the tag is not at the head).redactTelemetryString; in the new order the tag survives. (Run against the released 0.9.16 CLI for the old order and core's redaction function for the new.)fails without the fix: names the closed origin and code of each failed script before the free text, so a cut message keeps them
Why it ships alone: it is the one-line move that lets Desktop name why 65 exports failed this week (36 people); nothing else is queued in the engine to carry it, and each release without it keeps those failures unexplained.