Forward trusted geo to Didomi notice loaders - #1127
Merged
Merged
Conversation
ChristianPavilonis
requested review from
ChristianPavilonis and
aram356
and removed request for
ChristianPavilonis
September 8, 2026 15:58
ChristianPavilonis
approved these changes
Sep 8, 2026
ChristianPavilonis
left a comment
Collaborator
There was a problem hiding this comment.
Summary
Reviewed the trusted geo forwarding flow through canonical redirects, upstream request construction, response privacy, and Fastly cache behavior. I found no actionable issues in revision eb4e9431695fdcfcf65cdcb7bd2bc3d6cc72cd2d.
aram356
approved these changes
Sep 9, 2026
Replace the local trim_ascii helper with std str::trim_ascii, reject dot segments in the notice-loader matcher so a normalized redirect cannot escape the proxy prefix, and add CORS headers to the synthesized geo redirect and failure responses so cross-origin loader embeds keep working when geo forwarding is enabled. Document the shifting-egress-geo failure mode in the rollout checks.
The only content conflict was in config_payload.rs, where both sides added a test at the same position in the tests module. Keep both, and adapt the Didomi round-trip test to main's new settings_from_config_blob signature by calling the load_settings helper that main introduced for it.
This was referenced Sep 24, 2026
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.
Summary
Changes
crates/trusted-server-core/src/integrations/didomi.rscrates/trusted-server-core/src/config_payload.rscrates/trusted-server-adapter-fastly/src/platform.rstrusted-server.example.tomlcrates/trusted-server-integration-tests/fixtures/configs/trusted-server.integration.tomldocs/guide/integrations/didomi.mdAuthorizationis forwarded, and documents geo, caching, limitations, and rollout checks.docs/superpowers/specs/2026-09-07-didomi-geo-design.mddocs/superpowers/plans/2026-09-07-didomi-geo-forwarding.mdRollout considerations
503. This is a deliberate availability decision because the canonical cache identity requires both fields; Fastly can omit region for locations without an ISO subdivision.false. Manual staging verification with real Fastly geo does not block merging the disabled feature, but it must be completed before enablinggeo_query_parametersfor production traffic.Closes
Closes #85
Test plan
cargo test-fastly && cargo test-axumcargo test-cloudflare && cargo test-spincargo clippy-fastly && cargo clippy-axum && cargo clippy-cloudflarecargo clippy-cloudflare-wasm && cargo clippy-spin-native && cargo clippy-spin-wasmcargo fmt --all -- --checkcd crates/trusted-server-js/lib && npx vitest run(Node 24.12.0; 893 passed)cd crates/trusted-server-js/lib && npm run formatcd docs && npm run formatcargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --test paritycargo test --package trusted-server-core --target aarch64-apple-darwin didomicargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1ts dev proxyand Viceroy: conflicting geo returned a private307, then the canonical loader returned200.Checklist
unwrap()added in production codelogmacros and noprintln!