diff --git a/apps/server/spec/db/document.db b/apps/server/spec/db/document.db index c1000f7f9..50b477ea7 100644 Binary files a/apps/server/spec/db/document.db and b/apps/server/spec/db/document.db differ diff --git a/apps/server/src/share/routes.spec.ts b/apps/server/src/share/routes.spec.ts index 3cde4be23..987d1b12a 100644 --- a/apps/server/src/share/routes.spec.ts +++ b/apps/server/src/share/routes.spec.ts @@ -33,4 +33,13 @@ describe("Share API test", () => { expect(cannotSetHeadersCount).toBe(0); }); + it("renders custom share template", async () => { + const response = await supertest(app) + .get("/share/pQvNLLoHcMwH") + .expect(200); + expect(cannotSetHeadersCount).toBe(0); + expect(response.text).toContain("Content Start"); + expect(response.text).toContain("Content End"); + }); + }); diff --git a/apps/server/src/share/routes.ts b/apps/server/src/share/routes.ts index 752f8a621..614cd2101 100644 --- a/apps/server/src/share/routes.ts +++ b/apps/server/src/share/routes.ts @@ -136,7 +136,7 @@ function renderImageAttachment(image: SNote, res: Response, attachmentName: stri } function register(router: Router) { - function renderNote(note: SNote, req: Request, res: Response) { + async function renderNote(note: SNote, req: Request, res: Response) { if (!note) { console.log("Unable to find note ", note); res.status(404).render("share/404"); @@ -197,11 +197,10 @@ function register(router: Router) { try { const content = templateNote.getContent(); if (typeof content === "string") { - import("ejs").then((ejs) => { - const ejsResult = ejs.render(content, opts, { includer }); - res.send(ejsResult); - useDefaultView = false; // Rendering went okay, don't use default view - }); + const ejs = await import("ejs"); + const ejsResult = ejs.render(content, opts, { includer }); + res.send(ejsResult); + useDefaultView = false; // Rendering went okay, don't use default view } } catch (e: unknown) { const [errMessage, errStack] = safeExtractMessageAndStackFromError(e);