The changes add user session handling directly in the middleware. This ensures the user data is fetched at the start of a request and then passed on to route handlers, reducing repeated data fetching. Also, these improvements include adjustments for how sign-out and auth-change events are managed, particularly when the user session state changes. Additionally, it corrects the error response from useUser hook to return `undefined` instead of `null`.
Your Application
Write here everything about your application.
Setup
For working locally, please add a file named .env.local where we can place our environment variables. This file is not committed to Git, therefore it is safe to store sensitive information in it.
After starting Supabase, copy the service role key from the Supabase project settings and add it to the .env.local file.
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
Stripe
For the Stripe integration, first we need to start the Stripe CLI:
pnpm run stripe:listen
Then, update the .env.local file with the following variables:
STRIPE_WEBHOOK_SECRET=
STRIPE_SECRET_KEY=
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
Supabase
Please follow the instructions in the Supabase README to setup your Supabase project.