Uh oh!
There was an error while loading. Please reload this page.
SSR restored - #340
Conversation
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughRefactors the avatar menu to compute menu items from authentication state at render time and updates Nuxt config to enable SSR except in development and to disable server-side auth in favor of global middleware. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@app/components/header/AvatarButton.vue`:
- Around line 29-30: The icons are inverted for the action in AvatarButton.vue:
where the object sets label and icon using isAuthenticated.value, swap the icon
strings so they match the labels — when isAuthenticated.value is true (label
"Logout") use the sign-out icon (e.g., "pi pi-sign-out"), and when false (label
"Login") use the sign-in icon (e.g., "pi pi-sign-in"); update the icon
assignment alongside the existing label assignment to keep them consistent.
In `@nuxt.config.ts`:
- Around line 34-35: AvatarButton.vue currently computes isAuthenticated as
authStatus.value === "authenticated" and treats any other state (including
"loading") as logged-out, causing a flash; modify AvatarButton.vue to explicitly
handle the "loading" authStatus (or preserve previous known state) instead of
rendering the question-mark logged-out UI: update the computed/isAuthenticated
logic to check for authStatus.value === "loading" and return a third state
(e.g., "loading"/null) or use a separate isLoading reactive, then render a
skeleton/placeholder or reuse the last authenticated UI while loading; ensure
references to computed isAuthenticated and authStatus are updated so the
template displays the loading placeholder rather than the logged-out view.
- Line 7: The current nuxt config sets ssr based on NODE_ENV (ssr:
process.env.NODE_ENV !== "development"), which disables SSR in local dev and
hides SSR regressions; change this to use an explicit opt-out flag so devs run
SSR by default — replace the NODE_ENV check with a boolean derived from a
dedicated env var (e.g., NUXT_SSR_DISABLED) and set ssr to true unless that flag
is explicitly "true" (update the ssr assignment in nuxt.config.ts accordingly,
referencing the ssr property and the new process.env.NUXT_SSR_DISABLED
variable).
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 15fd0d8e-f35b-49f1-b486-88e547d6b70e
📒 Files selected for processing (2)
app/components/header/AvatarButton.vuenuxt.config.ts
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
After upgrading to Nuxt 4, SSR was no longer working. This was due to certain refs that needed to be computed instead. This was always a bug, but until Nuxt 4, it was a silent issue, but now has been fixed
Summary by CodeRabbit