From 06ab506f8fd2789cab04cc07f6e2e97355f32ab8 Mon Sep 17 00:00:00 2001 From: Omar Ibrahim Date: Thu, 13 Aug 2026 10:23:38 -0500 Subject: [PATCH 1/2] fix(commons): point the content database at a writable path - ":memory:" was never in-memory: Nuxt Content rewrites it to `{ name: "memory" }` and db0 only takes its in-memory branch when the name is still ":memory:", so it fell back to a file under the process CWD and every content query threw EACCES in the image - /tmp is writable both in the container and on a machine running the e2e suite in server mode, and matches Nuxt Content's own presets --- apps/modeling-commons-frontend/nuxt.config.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/modeling-commons-frontend/nuxt.config.ts b/apps/modeling-commons-frontend/nuxt.config.ts index 16d28554..9290e55d 100644 --- a/apps/modeling-commons-frontend/nuxt.config.ts +++ b/apps/modeling-commons-frontend/nuxt.config.ts @@ -164,7 +164,15 @@ export default defineNuxtConfig({ experimental: { nativeSqlite: true }, database: { type: "sqlite", - filename: ":memory:", + // Not ":memory:". Nuxt Content rewrites that filename to `{ name: "memory" }`, + // and db0's connectors only take their in-memory branch when the name is + // still ":memory:", so it silently becomes a file at `./.data/memory.sqlite`. + // Relative to the process CWD, which is a root-owned WORKDIR in the image + // while the process runs unprivileged, so the mkdir fails and every content + // query throws. Needs an absolute path that is writable both in the + // container and on a dev machine running the e2e suite in server mode. + // -- Omar Ibrahim, Aug 13 26 + filename: "/tmp/contents.sqlite", }, }, From b8f3f6bd7e8665bebc1a11e6e770de9de55b35dc Mon Sep 17 00:00:00 2001 From: Omar Ibrahim Date: Thu, 13 Aug 2026 10:23:38 -0500 Subject: [PATCH 2/2] test(commons): cover the content pages in the smoke suite --- apps/modeling-commons-frontend/tests/e2e/smoke.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/modeling-commons-frontend/tests/e2e/smoke.test.ts b/apps/modeling-commons-frontend/tests/e2e/smoke.test.ts index 5b370b67..8bd228c4 100644 --- a/apps/modeling-commons-frontend/tests/e2e/smoke.test.ts +++ b/apps/modeling-commons-frontend/tests/e2e/smoke.test.ts @@ -16,9 +16,9 @@ const PAGES: Array<{ path: string; identity: RegExp }> = [ { path: "/login", identity: /Log In|Welcome back/i }, { path: "/signup", identity: /Sign Up/i }, { path: "/reset-password", identity: /Reset password/i }, - // { path: "/privacy", identity: /Privacy Policy/i }, - // { path: "/terms-of-service", identity: /Terms of Service/i }, - // { path: "/cookies", identity: /Cookie Policy/i }, + { path: "/privacy", identity: /Privacy Policy/i }, + { path: "/terms-of-service", identity: /Terms of Service/i }, + { path: "/cookies", identity: /Cookie Policy/i }, ]; describe("smoke: public pages", async () => {