Country posters: a partner's dataSource and tokenUrl reach the panes

country-posters-mfe forwards the host's page keys to its two panes by an
explicit list, and dataSource and tokenUrl were not on it. The same gap regions
fixed in f0aa5ab3, found by dx-shepherd on this composite.
- dataSource was LIVE: countries-map reads it from its own profile-config
  (countries-map.vue:392, :622), nothing pinned it, and nothing publishes it
  page-wide, so <country-posters-mfe profile-config='{"dataSource":…}'> fell
  back to sources.json's activeSource.
- tokenUrl was LATENT: the outer ProfileLoader already publishes the fetched
  token page-wide, but the panes never got the URL itself.

Both join INHERITED_PAGE_KEYS. profile and instanceId are still never inherited
(pane.config is spread last).

Headless: replaying paneElement's forwarding on a partner config, main passes
{provider, lang} and drops dataSource and tokenUrl; after, the map pane gets
dataSource and tokenUrl too, and profile stays countries-map. Build OK;
no-free-identifiers, universal-props and composites-mount pass.
This commit is contained in:
Doxa Maps 2026-09-26 16:42:08 +00:00
parent 1a76174166
commit 2195b2aceb

View file

@ -104,7 +104,13 @@ 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', 'isDark', 'qa', 'provider', 'list']
// ★ 'dataSource' and 'tokenUrl' added 2026-09-26 (the same gap regions fixed in f0aa5ab3).
// dataSource is LIVE: countries-map reads it from its own profile-config (inject('dataSource'),
// countries-map.vue:392/622), nothing pinned it in spec.config or pane.config, and nothing publishes it
// page-wide, so a partner's dataSource on <country-posters-mfe> was dropped and the map fell back to
// sources.json's activeSource. tokenUrl is LATENT: the outer ProfileLoader fetches it and publishes
// the token page-wide, so the panes get a token today, but not the URL to re-ask it themselves.
const INHERITED_PAGE_KEYS = ['assetsBase', 'apiBaseUrl', 'prayBaseUrl', 'tokenUrl', 'dataSource', 'locale', 'lang', 'isDark', 'qa', 'provider', 'list']
function paneElement(pane) {
const el = document.createElement(TAG)