From e9fe3975bb368e7694617a23536418f8fb3841b2 Mon Sep 17 00:00:00 2001 From: Taran Vohra Date: Fri, 26 Jul 2024 16:14:20 +0530 Subject: [PATCH] Pass shareKey as context while fetching space (#2409) --- bun.lockb | Bin 584752 -> 583920 bytes packages/gitbook/package.json | 2 +- .../(content)/[[...pathname]]/page.tsx | 1 + .../app/(space)/(core)/robots.txt/route.ts | 5 +++- .../app/(space)/(core)/sitemap.xml/route.ts | 6 +++- .../(space)/(core)/~gitbook/icon/route.tsx | 2 +- .../app/(space)/(core)/~gitbook/pdf/page.tsx | 11 ++++++-- packages/gitbook/src/app/(space)/fetch.ts | 9 ++++-- .../src/components/Search/server-actions.tsx | 2 +- .../components/SpaceLayout/SpaceLayout.tsx | 5 ++-- packages/gitbook/src/lib/api.ts | 26 +++++++++++------- packages/gitbook/src/lib/references.ts | 26 ++++++++++++++---- packages/gitbook/src/middleware.ts | 15 ++++++---- packages/react-contentkit/package.json | 2 +- 14 files changed, 78 insertions(+), 34 deletions(-) diff --git a/bun.lockb b/bun.lockb index de48a1be66af8df0f329d8d2ab330ee58750ff9e..da66de451eb46866682f7c6fb96d5de8a51e03a6 100755 GIT binary patch delta 87311 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 P*J}D)`OLh8@t>Y?{lwolwRm7vxST%pE&oOzy~> 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 diff --git a/packages/gitbook/package.json b/packages/gitbook/package.json index c2f62876c..9d724d952 100644 --- a/packages/gitbook/package.json +++ b/packages/gitbook/package.json @@ -15,7 +15,7 @@ }, "dependencies": { "@geist-ui/icons": "^1.0.2", - "@gitbook/api": "^0.56.0", + "@gitbook/api": "^0.58.0", "@gitbook/react-math": "workspace:*", "@gitbook/react-openapi": "workspace:*", "@gitbook/react-contentkit": "workspace:*", diff --git a/packages/gitbook/src/app/(space)/(content)/[[...pathname]]/page.tsx b/packages/gitbook/src/app/(space)/(content)/[[...pathname]]/page.tsx index d77f39eec..947d84693 100644 --- a/packages/gitbook/src/app/(space)/(content)/[[...pathname]]/page.tsx +++ b/packages/gitbook/src/app/(space)/(content)/[[...pathname]]/page.tsx @@ -64,6 +64,7 @@ export default async function Page(props: { const withPageFeedback = customization.feedback.enabled; const contentRefContext: ContentRefContext = { + siteContext: 'siteId' in contentPointer ? contentPointer : null, space, revisionId: contentTarget.revisionId, pages, diff --git a/packages/gitbook/src/app/(space)/(core)/robots.txt/route.ts b/packages/gitbook/src/app/(space)/(core)/robots.txt/route.ts index 7f199eed5..4b4e9f6df 100644 --- a/packages/gitbook/src/app/(space)/(core)/robots.txt/route.ts +++ b/packages/gitbook/src/app/(space)/(core)/robots.txt/route.ts @@ -14,7 +14,10 @@ export const runtime = 'edge'; */ export async function GET(req: NextRequest) { const pointer = getContentPointer(); - const space = await getSpace(pointer.spaceId); + const space = await getSpace( + pointer.spaceId, + 'siteId' in pointer ? pointer.siteShareKey : undefined, + ); const parent = 'siteId' in pointer ? await getSite(pointer.organizationId, pointer.siteId) diff --git a/packages/gitbook/src/app/(space)/(core)/sitemap.xml/route.ts b/packages/gitbook/src/app/(space)/(core)/sitemap.xml/route.ts index 4a6375945..398e2af69 100644 --- a/packages/gitbook/src/app/(space)/(core)/sitemap.xml/route.ts +++ b/packages/gitbook/src/app/(space)/(core)/sitemap.xml/route.ts @@ -14,7 +14,11 @@ export const runtime = 'edge'; * Generate a sitemap.xml for the current space. */ export async function GET(req: NextRequest) { - const { pages: rootPages } = await getSpaceContentData(getContentPointer()); + const pointer = getContentPointer(); + const { pages: rootPages } = await getSpaceContentData( + pointer, + 'siteId' in pointer ? pointer.siteShareKey : undefined, + ); const pages = flattenPages(rootPages, (page) => !page.hidden); const urls = pages.map(({ page, depth }) => { // Decay priority with depth diff --git a/packages/gitbook/src/app/(space)/(core)/~gitbook/icon/route.tsx b/packages/gitbook/src/app/(space)/(core)/~gitbook/icon/route.tsx index a1d00015a..d6bc98a51 100644 --- a/packages/gitbook/src/app/(space)/(core)/~gitbook/icon/route.tsx +++ b/packages/gitbook/src/app/(space)/(core)/~gitbook/icon/route.tsx @@ -46,7 +46,7 @@ export async function GET(req: NextRequest) { const spaceId = pointer.spaceId; const [space, customization] = await Promise.all([ - getSpace(spaceId), + getSpace(spaceId, 'siteId' in pointer ? pointer.siteShareKey : undefined), 'siteId' in pointer ? getCurrentSiteCustomization(pointer) : getSpaceCustomization(spaceId), ]); const parent = diff --git a/packages/gitbook/src/app/(space)/(core)/~gitbook/pdf/page.tsx b/packages/gitbook/src/app/(space)/(core)/~gitbook/pdf/page.tsx index 0fa16cfbf..fdc4aa148 100644 --- a/packages/gitbook/src/app/(space)/(core)/~gitbook/pdf/page.tsx +++ b/packages/gitbook/src/app/(space)/(core)/~gitbook/pdf/page.tsx @@ -42,7 +42,10 @@ export const runtime = 'edge'; export async function generateMetadata(): Promise { const contentPointer = getContentPointer(); const [space, customization] = await Promise.all([ - getSpace(contentPointer.spaceId), + getSpace( + contentPointer.spaceId, + 'siteId' in contentPointer ? contentPointer.siteShareKey : undefined, + ), 'siteId' in contentPointer ? getCurrentSiteCustomization(contentPointer) : getSpaceCustomization(contentPointer.spaceId), @@ -72,7 +75,10 @@ export default async function PDFHTMLOutput(props: { searchParams: { [key: strin 'siteId' in contentPointer ? getCurrentSiteCustomization(contentPointer) : getSpaceCustomization(contentPointer.spaceId), - getSpaceContentData(contentPointer), + getSpaceContentData( + contentPointer, + 'siteId' in contentPointer ? contentPointer.siteShareKey : undefined, + ), ]); const language = getSpaceLanguage(customization); @@ -170,6 +176,7 @@ export default async function PDFHTMLOutput(props: { searchParams: { [key: strin space={space} page={page} refContext={{ + siteContext: 'siteId' in contentPointer ? contentPointer : null, space, revisionId: contentTarget.revisionId, pages: rootPages, diff --git a/packages/gitbook/src/app/(space)/fetch.ts b/packages/gitbook/src/app/(space)/fetch.ts index a3a17ae1f..675568382 100644 --- a/packages/gitbook/src/app/(space)/fetch.ts +++ b/packages/gitbook/src/app/(space)/fetch.ts @@ -71,6 +71,8 @@ export function getContentPointer(): ContentPointer | SiteContentPointer { export async function fetchSpaceData() { const content = getContentPointer(); + const siteShareKey = 'siteId' in content ? content.siteShareKey : undefined; + const [{ space, contentTarget, pages, customization, scripts }, parentSite] = await Promise.all( 'siteId' in content ? [ @@ -78,10 +80,10 @@ export async function fetchSpaceData() { fetchParentSite({ organizationId: content.organizationId, siteId: content.siteId, - siteShareKey: content.siteShareKey, + siteShareKey, }), ] - : [getSpaceData(content)], + : [getSpaceData(content, siteShareKey)], ); const parent = await (parentSite ?? fetchParentCollection(space)); @@ -104,9 +106,10 @@ export async function fetchSpaceData() { */ export async function fetchPageData(params: PagePathParams | PageIdParams) { const content = getContentPointer(); + const siteShareKey = 'siteId' in content ? content.siteShareKey : undefined; const { space, contentTarget, pages, customization, scripts } = await ('siteId' in content ? getCurrentSiteData(content) - : getSpaceData(content)); + : getSpaceData(content, siteShareKey)); const page = await resolvePage(contentTarget, pages, params); const [parent, document] = await Promise.all([ diff --git a/packages/gitbook/src/components/Search/server-actions.tsx b/packages/gitbook/src/components/Search/server-actions.tsx index d382b3a66..c692cf92f 100644 --- a/packages/gitbook/src/components/Search/server-actions.tsx +++ b/packages/gitbook/src/components/Search/server-actions.tsx @@ -165,7 +165,7 @@ export const streamAskQuestion = streamResponse(async function* (spaceId: string const stream = api .api() .spaces.streamAskInSpace(spaceId, { query, format: 'document', details: true }); - const pagesPromise = api.getSpaceContentData({ spaceId }); + const pagesPromise = api.getSpaceContentData({ spaceId }, undefined); for await (const chunk of stream) { // We run the AI search and fetch the pages in parallel diff --git a/packages/gitbook/src/components/SpaceLayout/SpaceLayout.tsx b/packages/gitbook/src/components/SpaceLayout/SpaceLayout.tsx index 9e044f83b..8ee3475c3 100644 --- a/packages/gitbook/src/components/SpaceLayout/SpaceLayout.tsx +++ b/packages/gitbook/src/components/SpaceLayout/SpaceLayout.tsx @@ -17,7 +17,7 @@ import { CONTAINER_STYLE } from '@/components/layout'; import { ColorDebugger } from '@/components/primitives/ColorDebugger'; import { SearchModal } from '@/components/Search'; import { TableOfContents } from '@/components/TableOfContents'; -import { ContentPointer, ContentTarget } from '@/lib/api'; +import { ContentPointer, ContentTarget, SiteContentPointer } from '@/lib/api'; import { ContentRefContext } from '@/lib/references'; import { tcls } from '@/lib/tailwind'; @@ -25,7 +25,7 @@ import { tcls } from '@/lib/tailwind'; * Render the entire content of the space (header, table of contents, footer, and page content). */ export function SpaceLayout(props: { - content: ContentPointer; + content: ContentPointer | SiteContentPointer; contentTarget: ContentTarget; space: Space; parent: Site | Collection | null; @@ -50,6 +50,7 @@ export function SpaceLayout(props: { const withTopHeader = customization.header.preset !== CustomizationHeaderPreset.None; const contentRefContext: ContentRefContext = { + siteContext: 'siteId' in content ? content : null, space, revisionId: contentTarget.revisionId, pages, diff --git a/packages/gitbook/src/lib/api.ts b/packages/gitbook/src/lib/api.ts index da5759d2b..d77cf5be2 100644 --- a/packages/gitbook/src/lib/api.ts +++ b/packages/gitbook/src/lib/api.ts @@ -282,11 +282,17 @@ export const getPublishedContentByUrl = cache( */ export const getSpace = cache( 'api.getSpace', - async (spaceId: string, options: CacheFunctionOptions) => { - const response = await api().spaces.getSpaceById(spaceId, { - ...noCacheFetchOptions, - signal: options.signal, - }); + async (spaceId: string, shareKey: string | undefined, options: CacheFunctionOptions) => { + const response = await api().spaces.getSpaceById( + spaceId, + { + shareKey, + }, + { + ...noCacheFetchOptions, + signal: options.signal, + }, + ); return cacheResponse(response, { revalidateBefore: 60 * 60, tags: [getAPICacheTag({ tag: 'space', space: spaceId })], @@ -795,7 +801,7 @@ export const getSiteIntegrationScripts = cache( */ export async function getCurrentSiteData(pointer: SiteContentPointer) { const [{ space, pages, contentTarget }, { customization, scripts }] = await Promise.all([ - getSpaceData(pointer), + getSpaceData(pointer, pointer.siteShareKey), getCurrentSiteLayoutData(pointer), ]); @@ -940,9 +946,9 @@ export const getCollectionSpaces = cache( /** * Fetch all the data to render a space at once. */ -export async function getSpaceData(pointer: ContentPointer) { +export async function getSpaceData(pointer: ContentPointer, shareKey: string | undefined) { const [{ space, pages, contentTarget }, { customization, scripts }] = await Promise.all([ - getSpaceContentData(pointer), + getSpaceContentData(pointer, shareKey), getSpaceLayoutData(pointer.spaceId), ]); @@ -960,9 +966,9 @@ export async function getSpaceData(pointer: ContentPointer) { * This function executes the requests in parallel and should be used as early as possible * instead of calling the individual functions. */ -export async function getSpaceContentData(pointer: ContentPointer) { +export async function getSpaceContentData(pointer: ContentPointer, shareKey: string | undefined) { const [space, changeRequest] = await Promise.all([ - getSpace(pointer.spaceId), + getSpace(pointer.spaceId, shareKey), pointer.changeRequestId ? getChangeRequest(pointer.spaceId, pointer.changeRequestId) : null, ]); diff --git a/packages/gitbook/src/lib/references.ts b/packages/gitbook/src/lib/references.ts index 2a6699a61..c5b7f48ed 100644 --- a/packages/gitbook/src/lib/references.ts +++ b/packages/gitbook/src/lib/references.ts @@ -3,6 +3,7 @@ import assertNever from 'assert-never'; import { ContentPointer, + SiteContentPointer, getCollection, getDocument, getRevisionFile, @@ -36,6 +37,11 @@ export interface ContentRefContext extends PageHrefContext { */ baseUrl?: string; + /** + * Site in which we are resolving the content reference. + * If null, the site is not known (legacy published content mode) + */ + siteContext: SiteContentPointer | null; /** * Space in which we are resolving the content reference. */ @@ -74,7 +80,7 @@ export async function resolveContentRef( options: ResolveContentRefOptions = {}, ): Promise { const { resolveAnchorText = false } = options; - const { space, revisionId, pages, page: activePage, ...linksContext } = context; + const { siteContext, space, revisionId, pages, page: activePage, ...linksContext } = context; switch (contentRef.kind) { case 'url': { @@ -102,7 +108,7 @@ export async function resolveContentRef( case 'anchor': case 'page': { if (contentRef.space && contentRef.space !== space.id) { - return resolveContentRefInSpace(contentRef.space, contentRef); + return resolveContentRefInSpace(contentRef.space, siteContext, contentRef); } const resolvePageResult = @@ -175,7 +181,12 @@ export async function resolveContentRef( const targetSpace = contentRef.space === space.id ? space - : await ignoreAPIError(getSpace(contentRef.space)); + : await ignoreAPIError( + getSpace( + contentRef.space, + siteContext?.siteShareKey ? siteContext.siteShareKey : undefined, + ), + ); if (!targetSpace) { return { @@ -239,12 +250,16 @@ export async function resolveContentRef( } } -async function resolveContentRefInSpace(spaceId: string, contentRef: ContentRef) { +async function resolveContentRefInSpace( + spaceId: string, + siteContext: SiteContentPointer | null, + contentRef: ContentRef, +) { const pointer: ContentPointer = { spaceId, }; - const result = await ignoreAPIError(getSpaceContentData(pointer)); + const result = await ignoreAPIError(getSpaceContentData(pointer, siteContext?.siteShareKey)); if (!result) { return null; } @@ -258,6 +273,7 @@ async function resolveContentRefInSpace(spaceId: string, contentRef: ContentRef) } const resolved = await resolveContentRef(contentRef, { + siteContext, space, revisionId: space.revision, pages, diff --git a/packages/gitbook/src/middleware.ts b/packages/gitbook/src/middleware.ts index 85360de78..20cb478e8 100644 --- a/packages/gitbook/src/middleware.ts +++ b/packages/gitbook/src/middleware.ts @@ -172,11 +172,14 @@ export async function middleware(request: NextRequest) { // Start fetching everything as soon as possible, but do not block the middleware on it // the cache will handle concurrent calls await waitUntil( - getSpaceContentData({ - spaceId: resolved.space, - changeRequestId: resolved.changeRequest, - revisionId: resolved.revision, - }), + getSpaceContentData( + { + spaceId: resolved.space, + changeRequestId: resolved.changeRequest, + revisionId: resolved.revision, + }, + 'site' in resolved ? resolved.shareKey : undefined, + ), ); const { scripts } = await ('site' in resolved @@ -462,7 +465,7 @@ async function lookupSpaceInMultiIdMode(request: NextRequest, url: URL): Promise authToken: apiToken, userAgent: userAgent(), }), - () => getSpace.revalidate(spaceId), + () => getSpace.revalidate(spaceId, undefined), ); const cookies: LookupCookies = { diff --git a/packages/react-contentkit/package.json b/packages/react-contentkit/package.json index cc426be55..69ea324d2 100644 --- a/packages/react-contentkit/package.json +++ b/packages/react-contentkit/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "classnames": "^2.5.1", - "@gitbook/api": "^0.51.0", + "@gitbook/api": "^0.58.0", "assert-never": "^1.2.1" }, "peerDependencies": {