A partner's dataSource never reached either Regions pane
regions-mfe forwards page-scoped config to its nested panes by an explicit key list, because a cap-4 composite mounts its children in THIS document and a pane has no leaf page of its own to hand it anything. Two keys were missing. dataSource is the one that was actually broken. PRODUCTION-MATRIX's own table for embedders lists it -- "wrong/partial data ... Regions uses pray-tools" -- and nothing pinned it in spec.config or either pane.config, so a partner setting it on <regions-mfe> had it silently dropped and both panes fell back to sources.json's activeSource. Unlike the token there is no page-wide publish to rescue it. tokenUrl is latent rather than broken, and it is worth being exact about which. exp-shepherd's universal-props re-measure named it absent here, and it is; but this composite sits under a ProfileLoader that already watches tokenUrl, fetches it, and publishes the answer page-wide, so the panes do hold a token. What they lacked was the URL, so a pane could never re-ask the token service itself and was stuck with whatever the page had published. Of the four keys that table documents, assetsBase was already forwarded, tk needs no forwarding (ProfileLoader publishes a token it is handed page-wide), and profile must NOT be inherited -- the host's would overwrite each pane's own and collapse both tabs into one view. The new gate asserts that exclusion too, so a future well-meaning addition fails instead of quietly merging the tabs.
This commit is contained in:
parent
99528fa97f
commit
5cdb5cdc3c
1 changed files with 16 additions and 1 deletions
|
|
@ -96,7 +96,22 @@ let offScroll = null
|
|||
// partner who asked for MapLibre a Mapbox map in every nested pane -- the pane reads
|
||||
// provider as undefined and falls back. Same shape of bug as the missing 'urlSync' here
|
||||
// before it: the inner map cannot honour a key the shell never passed down.
|
||||
const INHERITED_PAGE_KEYS = ['assetsBase', 'apiBaseUrl', 'prayBaseUrl', 'locale', 'lang', 'languageCode', 'isDark', 'qa', 'pinHint', 'urlSync', 'provider', 'list']
|
||||
// ★ 'tokenUrl' and 'dataSource' added 2026-09-26. exp-shepherd's universal-props RE-MEASURE (main
|
||||
// dee9f9c9) named the first: tokenUrl "is absent from the INHERITED_PAGE_KEYS of country-posters-mfe,
|
||||
// upg-100-mfe and regions-mfe". Measuring what that costs HERE, honestly: it is LATENT, not a live
|
||||
// token failure. This composite IS mounted under a ProfileLoader, and that loader already watches
|
||||
// config.tokenUrl, fetches it, and publishes the answer PAGE-WIDE (ProfileLoader.vue:130-134), which
|
||||
// every pane reads through useSharedMapToken. So the panes do get a token today. What they do NOT get
|
||||
// is the URL, so a pane can never RE-ask the token service on its own -- it is stuck with whatever the
|
||||
// page published. Forwarding the key costs one word and removes the asymmetry.
|
||||
// ★ 'dataSource' is a SECOND gap of the same shape, and it is NOT latent. The matrix's own
|
||||
// embedder table lists it ("dataSource | wrong/partial data | Regions uses pray-tools"), nothing
|
||||
// pins it in spec.config or either pane.config, and nothing publishes it page-wide the way the token
|
||||
// is published. So a partner setting dataSource on <regions-mfe> had it silently dropped and both
|
||||
// panes fell back to sources.json activeSource. Of the four keys that table documents, assetsBase was
|
||||
// already here, tk is covered by the page-wide publish, profile is deliberately NOT inherited (see
|
||||
// below), and this was the one genuinely missing.
|
||||
const INHERITED_PAGE_KEYS = ['assetsBase', 'apiBaseUrl', 'prayBaseUrl', 'tokenUrl', 'dataSource', 'locale', 'lang', 'languageCode', 'isDark', 'qa', 'pinHint', 'urlSync', 'provider', 'list']
|
||||
|
||||
function paneElement(pane) {
|
||||
const el = document.createElement(TAG)
|
||||
|
|
|
|||
Loading…
Reference in a new issue