fix: Server error when rendering share for deleted document
closes #2352
This commit is contained in:
@ -28,6 +28,19 @@ describe("/share/:id", () => {
|
|||||||
expect(body).toContain("<title>Outline</title>");
|
expect(body).toContain("<title>Outline</title>");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("should return standard title in html when document is deleted", async () => {
|
||||||
|
const document = await buildDocument();
|
||||||
|
const share = await buildShare({ documentId: document.id });
|
||||||
|
|
||||||
|
await document.destroy();
|
||||||
|
|
||||||
|
const res = await server.get(`/share/${share.id}`);
|
||||||
|
const body = await res.text();
|
||||||
|
|
||||||
|
expect(res.status).toEqual(200);
|
||||||
|
expect(body).toContain("<title>Outline</title>");
|
||||||
|
});
|
||||||
|
|
||||||
it("should return document title in html when loading published share", async () => {
|
it("should return document title in html when loading published share", async () => {
|
||||||
const document = await buildDocument();
|
const document = await buildDocument();
|
||||||
const share = await buildShare({ documentId: document.id });
|
const share = await buildShare({ documentId: document.id });
|
||||||
|
@ -82,7 +82,7 @@ const renderShare = async (ctx, next) => {
|
|||||||
// Allow shares to be embedded in iframes on other websites
|
// Allow shares to be embedded in iframes on other websites
|
||||||
ctx.remove("X-Frame-Options");
|
ctx.remove("X-Frame-Options");
|
||||||
|
|
||||||
return renderApp(ctx, next, share ? share.document.title : undefined);
|
return renderApp(ctx, next, share?.document?.title);
|
||||||
};
|
};
|
||||||
|
|
||||||
// serve static assets
|
// serve static assets
|
||||||
|
Reference in New Issue
Block a user