diff --git a/bun.lock b/bun.lock index 34807ee7..4c46e295 100644 --- a/bun.lock +++ b/bun.lock @@ -212,7 +212,7 @@ }, "packages/auth": { "name": "@wrnexus/auth", - "version": "0.8.9", + "version": "0.8.10", "dependencies": { "@wrnexus/authz": "workspace:*", "@wrnexus/captcha": "workspace:*", @@ -268,7 +268,7 @@ }, "packages/cli": { "name": "@wrnexus/cli", - "version": "0.8.12", + "version": "0.8.13", "bin": { "wrnexus": "src/index.ts", }, @@ -332,7 +332,7 @@ }, "packages/dev-server": { "name": "@wrnexus/dev-server", - "version": "0.8.11", + "version": "0.8.12", "dependencies": { "@wrnexus/authz": "workspace:*", "@wrnexus/cache": "workspace:*", @@ -617,7 +617,7 @@ }, "packages/ui": { "name": "@wrnexus/ui", - "version": "0.8.10", + "version": "0.8.11", "dependencies": { "@wrnexus/core": "workspace:*", }, diff --git a/examples/basic-app/app/layouts/document.wrn b/examples/basic-app/app/layouts/document.wrn index 3a2d0cdc..f995519b 100644 --- a/examples/basic-app/app/layouts/document.wrn +++ b/examples/basic-app/app/layouts/document.wrn @@ -1,10 +1,10 @@ // Global document layout. The framework renders this once around the selected // page layout and merges SEO metadata, styles, and scripts into
/. -// Request cookies, resolved theme, language, URL, and pathname are available -// as SSR props, so document attributes do not need a client-side correction. +// Resolved theme, language, URL, and pathname are available as safe SSR props. layout Document { + runtime = "server" + props { - cookies = {} theme = "light" language = "en" url = "" diff --git a/examples/component-showcase/app/layouts/document.wrn b/examples/component-showcase/app/layouts/document.wrn index 7fd2b7d1..bbdc762b 100644 --- a/examples/component-showcase/app/layouts/document.wrn +++ b/examples/component-showcase/app/layouts/document.wrn @@ -1,5 +1,7 @@ // Generated by scripts/generate-showcase.mjs. Do not edit directly. layout Document { + runtime = "server" + props { cookies = {} theme = "light" diff --git a/examples/component-showcase/scripts/generate-showcase.mjs b/examples/component-showcase/scripts/generate-showcase.mjs index 0a43b0b3..85b404da 100644 --- a/examples/component-showcase/scripts/generate-showcase.mjs +++ b/examples/component-showcase/scripts/generate-showcase.mjs @@ -1729,6 +1729,8 @@ layout Showcase { function documentLayout() { return `// Generated by scripts/generate-showcase.mjs. Do not edit directly. layout Document { + runtime = "server" + props { cookies = {} theme = "light" diff --git a/examples/i18n-showcase/app/layouts/document.wrn b/examples/i18n-showcase/app/layouts/document.wrn index 7cbafccd..92072fe3 100644 --- a/examples/i18n-showcase/app/layouts/document.wrn +++ b/examples/i18n-showcase/app/layouts/document.wrn @@ -1,4 +1,6 @@ layout Document { + runtime = "server" + props { language: string = "en" } diff --git a/examples/inter-app-api-showcase/apps/admin/app/layouts/document.wrn b/examples/inter-app-api-showcase/apps/admin/app/layouts/document.wrn index 1aaaf5dd..924a01e0 100644 --- a/examples/inter-app-api-showcase/apps/admin/app/layouts/document.wrn +++ b/examples/inter-app-api-showcase/apps/admin/app/layouts/document.wrn @@ -1,10 +1,10 @@ // Global document layout. The framework renders this once around the selected // page layout and merges SEO metadata, styles, and scripts into /. -// Request cookies, resolved theme, language, URL, and pathname are available -// as SSR props, so document attributes do not need a client-side correction. +// Resolved theme, language, URL, and pathname are available as safe SSR props. layout Document { + runtime = "server" + props { - cookies = {} theme = "light" language = "en" url = "" diff --git a/examples/inter-app-api-showcase/apps/web/app/layouts/document.wrn b/examples/inter-app-api-showcase/apps/web/app/layouts/document.wrn index 1aaaf5dd..924a01e0 100644 --- a/examples/inter-app-api-showcase/apps/web/app/layouts/document.wrn +++ b/examples/inter-app-api-showcase/apps/web/app/layouts/document.wrn @@ -1,10 +1,10 @@ // Global document layout. The framework renders this once around the selected // page layout and merges SEO metadata, styles, and scripts into /. -// Request cookies, resolved theme, language, URL, and pathname are available -// as SSR props, so document attributes do not need a client-side correction. +// Resolved theme, language, URL, and pathname are available as safe SSR props. layout Document { + runtime = "server" + props { - cookies = {} theme = "light" language = "en" url = "" diff --git a/packages/auth/components/SignIn.wrn b/packages/auth/components/SignIn.wrn index af2e1fb3..f592e4b2 100644 --- a/packages/auth/components/SignIn.wrn +++ b/packages/auth/components/SignIn.wrn @@ -36,9 +36,10 @@ component SignIn {