feat: add addon verifying the site slug has a configured source - #336
Open
mosherBT wants to merge 1 commit into
Open
feat: add addon verifying the site slug has a configured source#336mosherBT wants to merge 1 commit into
mosherBT wants to merge 1 commit into
Conversation
mosherBT
requested review from
etiennelatendresse-optable
and removed request for
nyssaoptable
September 10, 2026 13:46
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.
Why
Multi-site publishers run pages on domains that were never provisioned as sources. Wrappers verify the site slug against the DCN before constructing the SDK and fall back to a default source so targeting still works with default enrichment; that check is copied per bundle.
What Changed
checkSourceExists({ site, defaultSite, node?, host? })inlib/addons/sourceCheck.ts— probes/config?purpose=check-source-existson the edge and returns the site to use:sitewhen the source exists,defaultSite(ordefault-sdk) when it does not. Verdict cached in sessionStorage, one probe per session. Any HTTP response counts as existing; only a network-level rejection marks a source missing, matching the wrapper behaviour.window.optable; the caller assigns it.How to Test
Unit tests cover: probe URL and caching on success, network-failure fallback, empty-defaultSite fallback, cached hit/miss short-circuits, custom host.
Notes