From 6724e5a53752872afdcdfee39800820bd044a8fe Mon Sep 17 00:00:00 2001 From: DarkSky <25152247+darkskygit@users.noreply.github.com> Date: Wed, 13 Dec 2023 20:37:20 +0800 Subject: [PATCH] feat: only follow `serverUrlPrefix` at redirect to client (#5295) --- .../share-page-modal/share-menu/share-page.tsx | 4 +++- .../share-page-modal/share-menu/use-share-url.ts | 5 ++++- packages/frontend/workspace/src/affine/download.ts | 3 +-- packages/frontend/workspace/src/affine/gql.ts | 4 +--- .../workspace/src/blob/storage/affine-cloud.ts | 14 ++++++-------- .../workspace/src/providers/utils/affine-io.ts | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-page.tsx b/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-page.tsx index d68479460b..ba49d38670 100644 --- a/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-page.tsx +++ b/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-page.tsx @@ -140,7 +140,9 @@ export const AffineSharePage = (props: ShareMenuProps) => { lineHeight: '20px', }} value={ - isSharedPage ? sharingUrl : `${runtimeConfig.serverUrlPrefix}/...` + isSharedPage + ? sharingUrl + : `${location.protocol}//${location.hostname}/...` } readOnly /> diff --git a/packages/frontend/core/src/components/affine/share-page-modal/share-menu/use-share-url.ts b/packages/frontend/core/src/components/affine/share-page-modal/share-menu/use-share-url.ts index d349235f6f..c2f6772bc0 100644 --- a/packages/frontend/core/src/components/affine/share-page-modal/share-menu/use-share-url.ts +++ b/packages/frontend/core/src/components/affine/share-page-modal/share-menu/use-share-url.ts @@ -19,8 +19,11 @@ export const generateUrl = ({ // to generate a public url like https://affine.app/share/123/456 // or https://affine.app/share/123/456?mode=edgeless + const { protocol, hostname, port } = window.location; const url = new URL( - `${runtimeConfig.serverUrlPrefix}/${urlType}/${workspaceId}/${pageId}` + `${protocol}//${hostname}${ + port ? `:${port}` : '' + }/${urlType}/${workspaceId}/${pageId}` ); return url.toString(); }; diff --git a/packages/frontend/workspace/src/affine/download.ts b/packages/frontend/workspace/src/affine/download.ts index b397c742f9..b50cde2791 100644 --- a/packages/frontend/workspace/src/affine/download.ts +++ b/packages/frontend/workspace/src/affine/download.ts @@ -17,8 +17,7 @@ export async function downloadBinaryFromCloud( return cached; } const response = await fetchWithTraceReport( - runtimeConfig.serverUrlPrefix + - `/api/workspaces/${rootGuid}/docs/${pageGuid}`, + `/api/workspaces/${rootGuid}/docs/${pageGuid}`, { priority: 'high', } diff --git a/packages/frontend/workspace/src/affine/gql.ts b/packages/frontend/workspace/src/affine/gql.ts index 102e5c7d31..f3d559b327 100644 --- a/packages/frontend/workspace/src/affine/gql.ts +++ b/packages/frontend/workspace/src/affine/gql.ts @@ -19,9 +19,7 @@ import useSWRMutation from 'swr/mutation'; setupGlobal(); -export const fetcher = gqlFetcherFactory( - runtimeConfig.serverUrlPrefix + '/graphql' -); +export const fetcher = gqlFetcherFactory('/graphql'); /** * A `useSWR` wrapper for sending graphql queries diff --git a/packages/frontend/workspace/src/blob/storage/affine-cloud.ts b/packages/frontend/workspace/src/blob/storage/affine-cloud.ts index 91ffa92a4f..19e9f9c57c 100644 --- a/packages/frontend/workspace/src/blob/storage/affine-cloud.ts +++ b/packages/frontend/workspace/src/blob/storage/affine-cloud.ts @@ -20,15 +20,13 @@ export const createAffineCloudBlobStorage = ( ? key : `/api/workspaces/${workspaceId}/blobs/${key}`; - return fetchWithTraceReport(runtimeConfig.serverUrlPrefix + suffix).then( - async res => { - if (!res.ok) { - // status not in the range 200-299 - return undefined; - } - return await res.blob(); + return fetchWithTraceReport(suffix).then(async res => { + if (!res.ok) { + // status not in the range 200-299 + return undefined; } - ); + return await res.blob(); + }); }, set: async (key, value) => { const { diff --git a/packages/frontend/workspace/src/providers/utils/affine-io.ts b/packages/frontend/workspace/src/providers/utils/affine-io.ts index d2f7e26029..297932ea1f 100644 --- a/packages/frontend/workspace/src/providers/utils/affine-io.ts +++ b/packages/frontend/workspace/src/providers/utils/affine-io.ts @@ -7,7 +7,7 @@ export function getIoManager(): Manager { if (ioManager) { return ioManager; } - ioManager = new Manager(runtimeConfig.serverUrlPrefix + '/', { + ioManager = new Manager('/', { autoConnect: false, transports: ['websocket'], });