You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(visual): only mark capture structurally-unobtainable on a proven, not a failed, read (#10129)
previewUnobtainable (#9881) records a PROVEN fact — the deployments read succeeded, the
check-run read succeeded and found no preview build at all, and the poll budget is spent
— and the screenshot-table gate degrades its CLOSE to advisory on it. But getPreviewBuildState
returns "absent" on ANY read failure (fail-safe), and getLatestDeploymentStatus reports a
non-404 failure as { error: true }. So a transient GitHub read failure was recorded as
"this repo has no preview pipeline", degrading the gate on evidence the bot never actually
obtained.
getPreviewBuildState now returns a distinct "unreadable" on a thrown read (still a value —
the never-infinite-poll contract holds — but distinguishable from a genuine empty read).
buildCapture treats "unreadable" exactly like "absent" for polling/previewFailed, tracks
whether getLatestDeploymentStatus reported error:true (or threw), and sets previewUnobtainable
only when the check-run read genuinely succeeded empty AND the deployments read succeeded.
Poll budget, previewPending/previewFailed/renderFailed for the both-reads-succeeded cases,
and the gate/repository writer are byte-identical.
Closes#10059
Co-authored-by: RealDiligent <nft.gold.eth@gmail.com>
it("eternal-loading-placeholder fix: marks the capture pending (not silently ignored) when no matching preview check run exists at all (buildState 'absent') and no actions_fallback is configured",async()=>{
0 commit comments