diff --git a/packages/backend/server/src/__tests__/e2e/doc-renderer/controller.spec.ts b/packages/backend/server/src/__tests__/e2e/doc-renderer/controller.spec.ts new file mode 100644 index 0000000000..4622ec2955 --- /dev/null +++ b/packages/backend/server/src/__tests__/e2e/doc-renderer/controller.spec.ts @@ -0,0 +1,64 @@ +import { app, createApp, e2e, Mockers } from '../test'; + +e2e('should render doc share page with apple-itunes-app meta tag', async t => { + const owner = await app.signup(); + const workspace = await app.create(Mockers.Workspace, { + owner, + }); + + const docSnapshot = await app.create(Mockers.DocSnapshot, { + workspaceId: workspace.id, + user: owner, + }); + // set public to true + await app.create(Mockers.DocMeta, { + workspaceId: workspace.id, + docId: docSnapshot.id, + public: true, + }); + + const res = await app + .GET(`/workspace/${workspace.id}/${docSnapshot.id}`) + .expect(200) + .expect('Content-Type', 'text/html; charset=utf-8'); + + t.regex( + res.text, + // + ); +}); + +e2e( + 'should render doc share page without apple-itunes-app meta tag when selfhosted', + async t => { + // @ts-expect-error override + globalThis.env.DEPLOYMENT_TYPE = 'selfhosted'; + await using app = await createApp(); + + const owner = await app.signup(); + const workspace = await app.create(Mockers.Workspace, { + owner, + }); + + const docSnapshot = await app.create(Mockers.DocSnapshot, { + workspaceId: workspace.id, + user: owner, + }); + // set public to true + await app.create(Mockers.DocMeta, { + workspaceId: workspace.id, + docId: docSnapshot.id, + public: true, + }); + + const res = await app + .GET(`/workspace/${workspace.id}/${docSnapshot.id}`) + .expect(200) + .expect('Content-Type', 'text/html; charset=utf-8'); + + t.notRegex( + res.text, + // + ); + } +); diff --git a/packages/backend/server/src/core/doc-renderer/controller.ts b/packages/backend/server/src/core/doc-renderer/controller.ts index 2afb115e95..1458498245 100644 --- a/packages/backend/server/src/core/doc-renderer/controller.ts +++ b/packages/backend/server/src/core/doc-renderer/controller.ts @@ -171,6 +171,7 @@ export class DocRendererController { name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> + ${env.selfhosted ? '' : ''} ${title}