diff --git a/library/ProfileLoader.vue b/library/ProfileLoader.vue index 1ea4c6311..c70b612a7 100644 --- a/library/ProfileLoader.vue +++ b/library/ProfileLoader.vue @@ -141,7 +141,7 @@ watch(() => config.value?.tokenUrl, (url) => { // host override via profile-config.dataSource. (doxa-csv stays the final offline fallback.) const dataSource = computed(() => config.value?.dataSource || sourcesConfig.activeSource || 'doxa-csv') const colorSet = computed(() => config.value?.colorSet || 'default') -// QA corner widget: OPT-IN via profile-config.qa (default OFF). On for the DOXA go-base +// QA corner widget: OPT-IN via profile-config.qa (default OFF). On for our own // surfaces (SPA + plugins); OFF for partner embeds so no QA button appears on their sites. const showQa = computed(() => !!QaCorner && config.value?.qa === true) // Conversion coach-mark: DEFAULT ON (opt-out via profile-config pinHint:false). diff --git a/library/components/qa/QaCorner.vue b/library/components/qa/QaCorner.vue index d10803874..0d2d524be 100644 --- a/library/components/qa/QaCorner.vue +++ b/library/components/qa/QaCorner.vue @@ -5,7 +5,7 @@ * Visible shell of the QA-agent bridge (see _qa-cycle/01-ideation-research/ * qa-loops/qa-embeddable-qa-agent-bridge.md). OIDC-gated onboarding — NEVER a key. * - * AUTH: the widget detects the go-base session via a same-origin GET /api/auth/me. + * AUTH: the widget detects the host's session via a same-origin GET /api/auth/me. * That only succeeds when the plugin iframe is SAME-ORIGIN (allow-same-origin). When * the app-shell runs with NUXT_PUBLIC_PLUGIN_SANDBOX_ISOLATE_ORIGIN=true the frame is * origin-'null' and the call is blocked — login is then impossible from inside the diff --git a/library/layouts/StackLayout.vue b/library/layouts/StackLayout.vue index fa47bcac5..b13ed230f 100644 --- a/library/layouts/StackLayout.vue +++ b/library/layouts/StackLayout.vue @@ -4,7 +4,7 @@ ★ WHY THIS EXISTS (the second shared layout, alongside VerticalTabsLayout). VerticalTabsLayout shows ONE element at a time (tabs, fixed-viewport panes). StackLayout does the OPPOSITE: it renders ALL of its elements STACKED VERTICALLY, each at its NATURAL height, so the whole thing grows the page and the - HOST page scrolls through them — exactly how a normal document / a doxa-life / nuxtinator page flows. + HOST page scrolls through them — exactly how a normal host page flows. Use it to GROUP two (or more) elements on top of each other and embed the group on a page you scroll. ★ SAME NESTED-ELEMENT CONTRACT as VerticalTabsLayout (so a shell composes other element-plugins). Pass @@ -32,7 +32,7 @@ self-sizing element that still can't measure its own height in flow, pass :min-section-height (or a section's own `minHeight`) to reserve room. Optionally cap a section with :max-section-height to give a genuinely tall element an inner scroll instead of an endless page (default: no cap = pure page - scroll — the doxa-life / nuxtinator page-flow model). + scroll — a normal host page's flow). ★ EMBEDDING A LAYOUT INSIDE A LAYOUT (scroll-page in the cap-5 main). The cap-5 SPA's shell is VerticalTabsLayout (sidebar + a FIXED-VIEWPORT content frame whose pane is `position:absolute; @@ -210,7 +210,7 @@ export default defineComponent({ // Optional top-bar title (omit for a bare stack with no header). title: { type: String, default: '' }, // Optional per-section max height (e.g. '70vh') → that section gets an inner scroll instead of an - // unbounded page. Default '' = no cap, pure page scroll (the doxa-life/nuxtinator page-flow model). + // unbounded page. Default '' = no cap, pure page scroll (a normal host page's flow). maxSectionHeight: { type: String, default: '' }, // Optional default MIN height for every section (e.g. '60vh') → reserves room for a self-sizing // element that ships its own fixed layout and can't measure its natural height in flow. A section diff --git a/library/layouts/app-wrapper-material/index.html b/library/layouts/app-wrapper-material/index.html index c2f1cf294..5ef340b3a 100644 --- a/library/layouts/app-wrapper-material/index.html +++ b/library/layouts/app-wrapper-material/index.html @@ -1060,7 +1060,7 @@ async function mount(id){ // a subpath (e.g. /plugin-assets/doxa-maps-spa/), a bare '/assets' or './assets' misresolves, // so hand each bundle an ABSOLUTE base derived from THIS shell's own document — correct at any depth. if (!cfg.assetsBase) cfg.assetsBase = new URL('assets', document.baseURI).href.replace(/\/+$/, '') - // QA corner widget ON for the go-base SPA surface (opt-in flag; off for partner embeds). + // QA corner widget ON for our own SPA surface (opt-in flag; off for partner embeds). cfg.qa = (new URLSearchParams(location.search).get('qa') === '1') /* QA opt-in via ?qa=1; widget exists only in DOXA_QA=1 builds */; cfg.qaLabel = spec.label || cfg.profile el.setAttribute('profile-config', JSON.stringify(cfg)) diff --git a/package.json b/package.json index 75cde5c71..5396b05c4 100644 --- a/package.json +++ b/package.json @@ -311,7 +311,7 @@ "check:fits-screen:self-test:d": "★ A DEDICATED ENTRY, not a mode appended at the call site. The parent script value ends in an inline # comment, so a mode appended by the caller lands INSIDE that comment and the shell drops it — the run then exits 0 in DEFAULT mode, indistinguishable from the mode being selected. A self-test is the proof a gate can fail, so a self-test whose mode cannot be chosen is a gate certifying itself. This entry hardcodes its mode, so nothing has to be appended. (Flag names are deliberately not spelled here: check:script-flags scans script VALUES, and naming one in prose reads as advertising it.)", "check:fits-screen:self-test:e": "★ A DEDICATED ENTRY, not a mode appended at the call site. The parent script value ends in an inline # comment, so a mode appended by the caller lands INSIDE that comment and the shell drops it — the run then exits 0 in DEFAULT mode, indistinguishable from the mode being selected. A self-test is the proof a gate can fail, so a self-test whose mode cannot be chosen is a gate certifying itself. This entry hardcodes its mode, so nothing has to be appended. (Flag names are deliberately not spelled here: check:script-flags scans script VALUES, and naming one in prose reads as advertising it.)", "check:gallery-embed": "the cap-5 Research Gallery must embed on a FOREIGN ORIGIN (a stand-in host page on localhost, the built tree on 127.0.0.1) in BOTH modes, bare