Conversation
This reverts commit bf9cfdd.
…c/202608"" This reverts commit 3953cd6.
Derive a coarse browser family (chrome, safari, firefox, edge, opera) from the User-Agent in DeviceSignals, next to is_mobile and platform_class. Order the checks so Edge, Opera, and the iOS Chrome/Firefox agents classify correctly despite embedding Chrome/Safari tokens. Carry browser_family through the auction observation context onto AuctionEventRow so it ships in the Tinybird NDJSON, and add the matching browser_family column to the auction_events_raw datasource. The value is a low-cardinality family label only; no raw User-Agent leaves the edge, consistent with the existing device-signal privacy stance. The field is forward-only: rows emitted before deploy stay null.
stackpop/edgezero#316 was squash-merged and released as v0.0.6, so the six deps move from the interim rev = "5f3d648c" pin to tag = "v0.0.6" (c8d6e414). The squash makes this different bytes rather than a mechanical reference swap: the CLI argument surface is byte-identical to the prior pin, the documented behaviors (healthcheck attempts clamp, staging selector-only mirror, leaves-only env overlay) were re-verified at the tag, and the full local gate list was re-run. The lock is rebuilt from main with a scoped update and the five resolver-unified edges restored; the only non-edgezero changes are syn 3.0.4 and toml_edit 0.25.12.
…-upgrade # Conflicts: # crates/trusted-server-cli/tests/config_env_overlay.rs
Apply review round 4: capture the production rollback target with active-version before deploying (nothing emits it afterwards), label the lifecycle trio Fastly-only, state where healthcheck's <version> comes from, name --store alongside --no-env as a way a destructive gc sweep can retarget, and present the deploy -- separator as the migration it is. Document the staging config limitation honestly: a staged version currently loads the production blob because the Fastly entry point does not read the version-linked edgezero_runtime_env selectors. The non-hack fix needs edgezero to expose its runtime-env loader as public API, filed as stackpop/edgezero#349 with the downstream wiring tracked in #1082; the stale previous-version rollback hint is stackpop/edgezero#350. Add parse coverage for config gc --store.
Main added the dedicated `[creative_opportunities].enabled` template switch (#1008) with its own publisher-local ad-stack gate, while this branch moved the same gate into core as `evaluate_ad_stack_gate`. Resolve in favor of the shared gate and give it the new switch, so the CLI diagnostics keep reporting the same verdict the runtime reaches: - Drop `ServerSideAdStackConfig`/`should_run_server_side_ad_stack` and route the publisher call site through `evaluate_ad_stack_gate` with `ad_templates_enabled`. - Keep `is_server_side_ad_eligible_navigation`; the inactive-template cache policy needs the request-only half of the gate. - Add `AdStackGateName::AdTemplatesEnabled` and widen the exhaustive gate tests to the eighth gate, absorbing the coverage of main's deleted unit test. - Feed the switch from both CLI gate call sites, add the `Gates` JSON field, the `explain` gate row, and the `lint` switch line and status.
# Conflicts: # crates/trusted-server-cli/src/commands/audit/generate/slot_toml.rs
# Conflicts: # crates/trusted-server-core/src/auction_config_types.rs # crates/trusted-server-core/src/integrations/prebid.rs # crates/trusted-server-core/src/settings.rs # scripts/template-cache-local-test.sh # trusted-server.example.toml
The main merge adopted #870's literal placeholder values for secret fields, but on rc/202608 the app config carries secret-store key names at rest: TrustedServerAppConfig::secret_fields() declares publisher.proxy_secret, ec.passphrase, handler passwords, and partner tokens as references the runtime resolves from the secrets store, and the ts CLI maps them to Spin variable names (lowercase, digits, underscores only). The literal placeholders broke that mapping in the template-cache harness CI step. Revert those fields to their key-reference values (handler_password, publisher_proxy_secret, ec_passphrase, partner tokens), reword the template docs for key-name semantics, drop the harness substitutions of secret values (the harness provisions the referenced keys in its local ts_secrets store), restore the CLI test helpers' key-name replaces, and have the core template test swap password and passphrase for strong literals so parse-time resolved-value validation passes.
* docs: plan PR 1079 review remediation * fix(js): scope first impression delivery ownership * fix(js): reject stale creatives and expand nested shells * Prevent delayed publisher refresh overwrites
# Conflicts: # crates/trusted-server-adapter-axum/src/app.rs # crates/trusted-server-adapter-axum/src/middleware.rs # crates/trusted-server-adapter-cloudflare/src/middleware.rs # crates/trusted-server-adapter-fastly/src/app.rs # crates/trusted-server-adapter-fastly/src/middleware.rs # crates/trusted-server-adapter-spin/src/middleware.rs # crates/trusted-server-core/src/auth.rs # crates/trusted-server-core/src/proxy.rs # crates/trusted-server-core/src/publisher.rs
# Conflicts: # crates/trusted-server-core/src/publisher.rs
# Conflicts: # Cargo.lock # Cargo.toml
# Conflicts: # crates/trusted-server-adapter-spin/src/platform.rs # crates/trusted-server-core/src/auction/endpoints.rs # crates/trusted-server-core/src/auction_config_types.rs # crates/trusted-server-core/src/config.rs # crates/trusted-server-core/src/config_payload.rs # crates/trusted-server-core/src/creative_opportunities.rs # crates/trusted-server-core/src/integrations/prebid.rs # crates/trusted-server-core/src/integrations/registry.rs # crates/trusted-server-core/src/publisher.rs # crates/trusted-server-core/src/settings.rs # docs/guide/api-reference.md # docs/guide/auction-orchestration.md # docs/guide/configuration.md # docs/guide/ec-setup-guide.md # docs/guide/error-reference.md # docs/guide/fastly.md # docs/guide/first-party-proxy.md # docs/guide/getting-started.md # docs/guide/integrations/aps.md # docs/guide/proxy-signing.md # scripts/template-cache-local-test.sh # trusted-server.example.toml
# Conflicts: # .env.example # Cargo.lock # crates/trusted-server-adapter-axum/src/app.rs # crates/trusted-server-adapter-fastly/src/app.rs # crates/trusted-server-core/src/config.rs # crates/trusted-server-core/src/config_payload.rs # crates/trusted-server-core/src/ec/registry.rs # crates/trusted-server-core/src/integrations/datadome.rs # crates/trusted-server-core/src/integrations/datadome/protection.rs # crates/trusted-server-core/src/proxy.rs # crates/trusted-server-core/src/secret_resolution.rs # crates/trusted-server-core/src/settings.rs # docs/guide/configuration.md # docs/guide/ec-setup-guide.md # docs/guide/getting-started.md # docs/guide/integrations/datadome.md # docs/guide/proxy-signing.md # scripts/template-cache-local-test.sh # trusted-server.example.toml
# Conflicts: # crates/trusted-server-core/src/integrations/gpt_bootstrap.js # crates/trusted-server-integration-tests/browser/tests/shared/aps-renderer.spec.ts # crates/trusted-server-js/lib/src/core/first_impression.ts # crates/trusted-server-js/lib/src/core/types.ts # crates/trusted-server-js/lib/src/integrations/gpt/index.ts # crates/trusted-server-js/lib/src/integrations/prebid/index.ts # crates/trusted-server-js/lib/test/integrations/gpt/ad_init.test.ts # crates/trusted-server-js/lib/test/integrations/prebid/index.test.ts # docs/guide/integrations/aps.md # docs/superpowers/specs/2026-07-24-prevent-duplicate-gpt-slot-requests-design.md
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
August release candidate: current
mainplus the remaining open PRs, staged together for RC validation. Supersedes the July RC (#919).Already included through main:
In Review:
Verification
cargo fmt --all -- --check-D warningscargo test-fastly(2,075 tests via Viceroy),test-axum,test-cloudflare,test-spin./scripts/test-cli.sh(34 tests, exercising the Upgrade EdgeZero to v0.0.6 #940run.rschanges)