Conversation
Extension fetches follow redirects in the browser, so no layer reports this policy reason anymore. Remove the dead BlockedReason variant and its mapping branches; TRANSPORT_BAD_REDIRECT stays for malformed redirect targets.
The tile-redirect scenario now mirrors the signed-Zoomify flow: the Zoomify metadata and every tile 307 to a signed URL. Tile URLs must keep the requested base although the metadata redirected, so the headless case pins that rule through a real browser fetch stack, and the acceptance matrix maps it to its lanes.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Signed-Zoomify sites (Museum Ludwig / Kulturelles Erbe Koeln) answer the Zoomify metadata and every tile request with a 307 to a per-request signed CDN URL. Core support already landed (14e7a98, 398d1ff); this closes the remaining cleanup and coverage gaps.
refactor(protocol): drop the never-produced redirect-unavailable reason
Extension fetches follow redirects in the browser, so no layer reports this policy reason anymore. Removes the dead
BlockedReasonvariant, itsfailure.ts/fetch.tsmapping branches, and regeneratespackages/wasm-bindings/src/generated.d.tsviacargo xtask protocol generate.TRANSPORT_BAD_REDIRECTstays: the native transport still reports it for malformed redirect targets.test(extension): reproduce the signed-proxy redirect shape end to end
The
extension/tile-redirectscenario now mirrors the real flow: the Zoomify metadata and every tile 307 to a signed URL (previously only tiles redirected, behind a plain DZI). This pins "redirected metadata keeps the requested tile base" through a real browser fetch stack (packaged extension, headless Chromium, pixel-exact assembly) instead of only core unit tests.pyramid.dziis replaced byImageProperties.xml, tile bytes are unchanged, and the acceptance matrix maps the behavior to its lanes.Scope notes
credentials/redirectvalues is a change detector, not behavior coverage.Validation
cargo xtask ci localandcargo xtask test allgreen (headless 6/6 including the retargeted signed case)cargo xtask check,cargo xtask fixtures verify(439 files / 58 scenarios)cargo xtask test core,cargo xtask test protocol,cargo xtask test extension