diff --git a/.changeset/sweet-schools-flow.md b/.changeset/sweet-schools-flow.md new file mode 100644 index 0000000000..6ff44bfa96 --- /dev/null +++ b/.changeset/sweet-schools-flow.md @@ -0,0 +1,6 @@ +--- +"gitbook-v2": patch +"gitbook": patch +--- + +Increase logging around caching behaviour causing page crashes. diff --git a/packages/gitbook-v2/src/lib/context.ts b/packages/gitbook-v2/src/lib/context.ts index 7ef0f463b9..c85434c91f 100644 --- a/packages/gitbook-v2/src/lib/context.ts +++ b/packages/gitbook-v2/src/lib/context.ts @@ -220,6 +220,8 @@ export async function fetchSiteContextByIds( ): Promise { const { dataFetcher } = baseContext; + const DEBUG = ids.site === 'site_cu2ih'; + const [{ site: orgSite, structure: siteStructure, customizations, scripts }, spaceContext] = await Promise.all([ throwIfDataError( @@ -232,6 +234,22 @@ export async function fetchSiteContextByIds( fetchSpaceContextByIds(baseContext, ids), ]); + DEBUG && console.log('ids', JSON.stringify(ids)); + DEBUG && + console.log( + 'siteStructure', + siteStructure + ? JSON.stringify({ + type: siteStructure.type, + structure: siteStructure.structure.map((s) => { + // @ts-ignore + const { siteSpaces, urls, ...rest } = s; + return rest; + }), + }) + : 'null' + ); + // override the title with the customization title // TODO: remove this hack once we have a proper way to handle site customizations const site = { @@ -407,7 +425,7 @@ export function checkIsRootSiteContext(context: GitBookSiteContext): boolean { function parseSiteSectionsAndGroups(structure: SiteStructure, siteSectionId: string) { const sectionsAndGroups = getSiteStructureSections(structure, { ignoreGroups: false }); const section = parseCurrentSection(structure, siteSectionId); - assert(section, 'A section must be defined when there are multiple sections'); + assert(section, `couldn't find section "${siteSectionId}" in site structure`); return { list: sectionsAndGroups, current: section } satisfies SiteSections; } diff --git a/packages/gitbook/src/middleware.ts b/packages/gitbook/src/middleware.ts index 30f7b44e6a..0e599c4486 100644 --- a/packages/gitbook/src/middleware.ts +++ b/packages/gitbook/src/middleware.ts @@ -674,6 +674,9 @@ async function lookupSiteByAPI( } ); + alternative.url.includes('minas-tirith') && + console.log(`resolved ${alternative.url} -> ${JSON.stringify(data)}`); + if ('error' in data) { if (alternative.primary) { // We only return an error for the primary alternative (full URL),