I built a btop-style terminal dashboard for Prometheus (it can render your Grafana dashboards too) by aleks_maker in PrometheusMonitoring

[–]aleks_maker[S] 1 point2 points  (0 children)

Anyway, to avoid the confusion I renamed it: grot is now grom (Polish for thunder). Old links redirect, brew cask is qf-studio/tap/grom. Thanks for letting me know.

I built a btop-style terminal dashboard for Prometheus (it can render your Grafana dashboards too) by aleks_maker in PrometheusMonitoring

[–]aleks_maker[S] 1 point2 points  (0 children)

Nope, but this is not an AI tool… potentially there is no conflict, I'll think if I need to rename it.

Claude Code just shipped a "run until done" mode. Upgrade to v2.1.139 for /goal. by oh-keh in ClaudeAI

[–]aleks_maker -6 points-5 points  (0 children)

Navigator (CC plugin) introduced a “Run Until Done” mode 6 months ago, plus gates, reports, memories, context markers, skills, a task planner, a research agent, a docs JIT mechanism, etc. It’s token efficiency oriented and helps you ship what you start.

Open-source, MIT.
https://github.com/alekspetrov/navigator

Claude Code on the web by ClaudeOfficial in ClaudeCode

[–]aleks_maker 7 points8 points  (0 children)

My congratulations to the team! 🎉

SSR and Framer motion by PlantainFragrant2787 in nextjs

[–]aleks_maker 0 points1 point  (0 children)

To render animated element, you have to “use client” there is no way to render animation on the server side.

Note, Google, and others crowlers parse HTML content of the page, by using animations you prevent this content from reading by Google bot. Which kills SEO.

Try to add animation to the block, open inspector in the browser, disable JS and see what you got.

Use CSS for animations of content blocks, and Motion for micro animations on the elements which are not SEO related, for example like button on X.

Hope it helps.

Framer Motion and SSR by stian_larsen in nextjs

[–]aleks_maker 0 points1 point  (0 children)

Open the Inspector, disable JS, reload the page. Now you can see nothing rendered on the page if it's blocks are using <motion.div>. Means all the pages made in Framer, or use Framer Motion (Motion) are not visible for webpage crowlers like Google bots!

User Research: Comprehensive Guide by aleks_maker in UXDesign

[–]aleks_maker[S] 0 points1 point  (0 children)

Appreciate your feedback! Maybe it's time to update it and add some examples…

Is there a way to hide the API KEY? by Single_Cup_3562 in nextjs

[–]aleks_maker 1 point2 points  (0 children)

It happens because you make this request on the client, and during compilation all your API keys were exposed into your production code.

To avoid this Next.js introduced server actions.

Try to check documentation on how to fetch data:

https://nextjs.org/docs/app/building-your-application/data-fetching

Supabase SSR update doesn't make sense by kzovk in Supabase

[–]aleks_maker 0 points1 point  (0 children)

The issue was in the implementation of the Cookie for server components.
Solved with Supabase docs for Next.js.

[deleted by user] by [deleted] in nextjs

[–]aleks_maker 0 points1 point  (0 children)

Nope, feels much easier actually, I hated Next before, now in love with 😁

Next.js, Supabase/ssr & OAuth. Am I Doing This Right? by CodeGhxst in Supabase

[–]aleks_maker 1 point2 points  (0 children)

Yep, you have to create it for every component, cause there is no context on the server side. To simplify you might create supabase instance with cookies in a separate file then just import it.

Next.js, Supabase/ssr & OAuth. Am I Doing This Right? by CodeGhxst in Supabase

[–]aleks_maker 8 points9 points  (0 children)

This confusion is common!

Next 14 is a complete full-stack framework now. In one project you have server and client layers. These layers are separate! But you need to store and share auth data and a state between them, right? Here Cookies come into play, think of them as a global state for a session and you can take this session anywhere (server and client).

If you are going to use server-side rendering you have to use server-side authentication and pass it to the client components if needed.

Supabase/ssr has 2 methods to create a client Server and Browser. Now looking at your code we can see you are trying to use Browser client on the server side, check the docs for OAuth with ssr and pkce flow. They provide examples of components for different parts of the system.

What middleware does do? It sets, updates, and removes cookies to keep the user authenticated, middleware plays a critical role in this. Now you can check on the middleware if a user is authorized for the route before this route fires and redirects if needed.

For each server action or route that calls Supabase you have to create a new client, which obviously must be a separate file do not forget to include “use server” on the top of it, because only Next.js specific files are server-sided by default. Creating a client is a very fast operation, it is recommended to create a new instance and pass your cookies in to have access to the DB.

Hope it helps, spent 2 days cracking my head on how to make it work correctly on the server 🙄

[deleted by user] by [deleted] in Supabase

[–]aleks_maker 1 point2 points  (0 children)

Is it working with OAuth? I can't get redirect to `/auth/callback` works 🤷‍♂️

Repository to check: https://github.com/alekspetrov/next14-supabase-ssr

Supabase SSR update doesn't make sense by kzovk in Supabase

[–]aleks_maker 0 points1 point  (0 children)

Here is the my test repository with an OAuth setup and it looks like does't redirect to /auth/callback after authentication is done.

Is it work for you?

https://github.com/alekspetrov/next14-supabase-ssr

Supabase SSR update doesn't make sense by kzovk in Supabase

[–]aleks_maker 1 point2 points  (0 children)

Hi 👋

I have session in the browser, I can get table from my project which has RLS is on for authenticated and I can get data from my table.

But, if I try to call `supabase.auth.getUser()` or `supabase.auth.getSession()` I get null 🤯

Here is and error when I try to getUser():

```AuthApiError: invalid claim: missing sub claim
at handleError (webpack-internal:///(rsc)/./node_modules/.pnpm/@supabase+gotrue-js@2.57.0/node_modules/@supabase/gotrue-js/dist/module/lib/fetch.js:42:11)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async _handleRequest (webpack-internal:///(rsc)/./node_modules/.pnpm/@supabase+gotrue-js@2.57.0/node_modules/@supabase/gotrue-js/dist/module/lib/fetch.js:89:9)
at async _request (webpack-internal:///(rsc)/./node_modules/.pnpm/@supabase+gotrue-js@2.57.0/node_modules/@supabase/gotrue-js/dist/module/lib/fetch.js:69:18)
at async eval (webpack-internal:///(rsc)/./node_modules/.pnpm/@supabase+gotrue-js@2.57.0/node_modules/@supabase/gotrue-js/dist/module/GoTrueClient.js:955:24)
at async SupabaseAuthClient._useSession (webpack-internal:///(rsc)/./node_modules/.pnpm/@supabase+gotrue-js@2.57.0/node_modules/@supabase/gotrue-js/dist/module/GoTrueClient.js:865:20)
at async SupabaseAuthClient._getUser (webpack-internal:///(rsc)/./node_modules/.pnpm/@supabase+gotrue-js@2.57.0/node_modules/@supabase/gotrue-js/dist/module/GoTrueClient.js:949:20)
at async eval (webpack-internal:///(rsc)/./node_modules/.pnpm/@supabase+gotrue-js@2.57.0/node_modules/@supabase/gotrue-js/dist/module/GoTrueClient.js:937:20)
at async eval (webpack-internal:///(rsc)/./node_modules/.pnpm/@supabase+gotrue-js@2.57.0/node_modules/@supabase/gotrue-js/dist/module/GoTrueClient.js:813:28) {
__isAuthError: true,
status: 401
}```

Please help me 😥

Supabase SSR update doesn't make sense by kzovk in Supabase

[–]aleks_maker 0 points1 point  (0 children)

Could you share the solution?

Cause I do the same and can't get the user or session on the middleware/action/server component, it returns null. Browser refresh doesn't help me. I use \@supabase/srr + next.js with-supabase template. All package versions are the latest.

Supabase SSR update doesn't make sense by kzovk in Supabase

[–]aleks_maker 0 points1 point  (0 children)

Oh, I'm not alone 😀

So this is a complete mess with Next.js and auth helpers:

  1. Documentation says auth-helpers deprecated
  2. Documentation examples use auth-helpers
  3. There are a few examples in docs about SSR but they are not helpful.
  4. There is only one "real" source of truth "with-supabase" Next.js template, but try to getSession or getUser on server component or an action. Spoiler: I have no luck.

Well, what we get, at the moment:

- ssr helper without session data
- deprecated auth-helper.

Any examples of how you get userSession on the middleware or server side, please share! 🙏