diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts
index a45afb94..3cafbd8e 100644
--- a/playground/nuxt.config.ts
+++ b/playground/nuxt.config.ts
@@ -1,4 +1,5 @@
export default defineNuxtConfig({
+ // ssr: false,
compatibilityDate: '2024-06-17',
devServer: {
host: '127.0.0.1',
diff --git a/playground/pages/index.vue b/playground/pages/index.vue
index 0440b6d3..4717a3c1 100644
--- a/playground/pages/index.vue
+++ b/playground/pages/index.vue
@@ -9,6 +9,14 @@
...
+
+ Secret page
+
diff --git a/playground/pages/secret.vue b/playground/pages/secret.vue
new file mode 100644
index 00000000..90fa1603
--- /dev/null
+++ b/playground/pages/secret.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
Secret
+
+ Home
+
+
+
diff --git a/src/runtime/app/plugins/session.client.ts b/src/runtime/app/plugins/session.client.ts
index 1dca9653..6844ff33 100644
--- a/src/runtime/app/plugins/session.client.ts
+++ b/src/runtime/app/plugins/session.client.ts
@@ -1,7 +1,11 @@
import { defineNuxtPlugin, useUserSession } from '#imports'
export default defineNuxtPlugin(async (nuxtApp) => {
- if (!nuxtApp.payload.serverRendered || Boolean(nuxtApp.payload.prerenderedAt) || Boolean(nuxtApp.payload.isCached)) {
+ if (!nuxtApp.payload.serverRendered) {
+ await useUserSession().fetch()
+ }
+ else if (Boolean(nuxtApp.payload.prerenderedAt) || Boolean(nuxtApp.payload.isCached)) {
+ // To avoid hydration mismatch
nuxtApp.hook('app:mounted', async () => {
await useUserSession().fetch()
})