@teamscala/service-boot 0.23.374 → 0.23.376
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -51,7 +51,21 @@ export function resolveTemplateTitle(
|
|
|
51
51
|
website: { name: (website.name as string) || undefined },
|
|
52
52
|
page: { name: (page.name as string) || undefined },
|
|
53
53
|
form: { name: ((resolved.form as Record<string, unknown>)?.name as string) || undefined },
|
|
54
|
-
|
|
54
|
+
// An assessment has no `name` column — it carries `title`, and a report
|
|
55
|
+
// surface carries `report_title` ("Personalised Authority Blueprint")
|
|
56
|
+
// which is the document's own name and the right subject for its tab.
|
|
57
|
+
// Reading `.name` here resolved to "", so the template produced " by
|
|
58
|
+
// <org>", was discarded as empty, and EVERY quiz page silently fell back
|
|
59
|
+
// to the "<website>: <subject>" derivation — surfacing the internal site
|
|
60
|
+
// name ("Public Pages") on a client-facing document. The failure was
|
|
61
|
+
// invisible because the fallback is itself a plausible title.
|
|
62
|
+
quiz: {
|
|
63
|
+
name:
|
|
64
|
+
((resolved.quiz as Record<string, unknown>)?.report_title as string) ||
|
|
65
|
+
((resolved.quiz as Record<string, unknown>)?.title as string) ||
|
|
66
|
+
((resolved.quiz as Record<string, unknown>)?.name as string) ||
|
|
67
|
+
undefined,
|
|
68
|
+
},
|
|
55
69
|
proposal: {
|
|
56
70
|
name: ((resolved.proposal as Record<string, unknown>)?.name as string) || undefined,
|
|
57
71
|
},
|
|
@@ -559,7 +559,20 @@ export async function registerRegistryPageRoute(
|
|
|
559
559
|
// authoritative, the menu switcher changes which tenant's pages you
|
|
560
560
|
// view. Anonymous/public (no session) keeps the resolved brand. Same
|
|
561
561
|
// fetchOrganisationPageBranding pattern as the /sign-in brand override.
|
|
562
|
+
//
|
|
563
|
+
// A PUBLIC PAGE IS NEVER PERSONALISED TO THE READER'S ORG. Personalising
|
|
564
|
+
// the brand is right for a portal — you are looking at your own
|
|
565
|
+
// workspace. It is wrong for a public document, which belongs to the org
|
|
566
|
+
// that PUBLISHED it and must look identical to every reader.
|
|
567
|
+
//
|
|
568
|
+
// Measured 2026-08-17: the Launcha Authority Blueprint, owned by GMG
|
|
569
|
+
// APAC, rendered correctly for an anonymous customer and in GBG Indo's
|
|
570
|
+
// navy with the scala logo for any signed-in staff member — so the two
|
|
571
|
+
// people checking it before it went to clients were the only two who
|
|
572
|
+
// could not see what a client sees. Silent, and inverted: the reviewers
|
|
573
|
+
// got the wrong page.
|
|
562
574
|
if (
|
|
575
|
+
routeConfig.render_mode !== "public" &&
|
|
563
576
|
sessionOrgId &&
|
|
564
577
|
sessionOrgId !== (pageData.orgId as string | undefined) &&
|
|
565
578
|
// Page-org-first (portal-branding-resolves-page-org-first): the
|