Duuuuude. The production quality of your videos (which was already extremely high) just went through the roof. This is incredible. You make everything so easy to understand, and fun to follow along. Really great work. Supabase has got a gem in you! ⭐
Here is one for Auth in Server Components - you can actually follow the same pattern for Route Handlers, but I will be putting out a video on this soon 👍 ruclips.net/video/Bh1TOpOcGJQ/видео.html
Here is a brand new course that shows you how to integrate Supabase Auth with all the new Next.js 13 App Router things - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀 ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
What about the fact that Next.js official documentation says that revalidation doesn’t work with generateStaticParams? “During revalidation (ISR), generateStaticParams will not be called again” And you can check that it really doesn’t revalidate if you set dynamicParams = false
If you enjoyed this one you should check out his new course! 🔥 Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀 ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
If you enjoyed this one you should check out his new course! 🔥 Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀 ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
If you enjoyed this one you should check out his new course! 🔥 Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀 ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
If you enjoyed this one you should check out his new course! 🔥 Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀 ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
If you enjoyed this one you should check out his new course! 🔥 Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀 ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
@@JonMeyers How could I update the screen with the mutation data from Server component without hard fresh browser? The posts datas flow from the page.tsx and mutated by the onClick event in the child component.
@@SeaRich Jon's new course might help with this one. He goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀 ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
If you enjoyed this one you should check out his new course! 🔥 Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀 ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
If you enjoyed this one you should check out his new course! 🔥 Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀 ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
If you enjoyed this one you should check out his new course! 🔥 Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀 ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
Great tutorial! Just one question. I noticed that when I go to the revalidate route and a new entry shows up after the 60 seconds have passed and I refresh twice, that the static route now also reflects this changes. One the other hand, if I navigate to the dynamic route where the changes are reflected instantly, the result is not carried over to neither the revalidate nor the static route - what is the reason for that?
Next.js heavily caches Server Components. To ensure fresh data you can add an `export const revalidate = 0` to mark the route as dynamic, or call the `revalidatePath` function! This new course has a good example of the latter 👍 ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
Hi Jon, thanks for this. Im using cookie based auth system along with route handling. I am creating a username for each uid, however how can i fetch a certain username's data in my local host without logged in. For eg: if my username is abc, then only localhost:3000/abc should fetch the data of abc username. Right now im having a situation where any slug i use after localhost:3000/[slug or username] , it still shoes the same data. How do i check if there is no username redirect to 404 or back to home page. Im using app> [creatorSlug]>page.tsx . I also have disabled RLS for now on my supabase tables. Once i figure this out ill activate it in the end, or is RLS the very answer to the issue i have spoken? Thanks
Is this still working, I tried implementing this following next/supabase docs and I couldn't get it to work.(I get the emptry array, but adding policies in supabase doesn't change it). I created a new next app from scratch, and new supabase database, and followed this and still get to an empty array. (So I'm making API requests successfully [i see counter in supabase home page] however it seems I'm not being allowed to select the data. Has there been any breaking changes in next 13 app? Can anyone confirm this all still works?
I was able to get it to work by entering the column names in the select. import supabase from "@/utils/supabase"; export default async function Posts() { let { data: posts, error } = await supabase .from("posts") .select("id, created_at, title"); console.log(posts); return {JSON.stringify(posts, null, 2)}; } For some reason when my select is empty (as shown in the video), I get an empty array.
Very strange! I just spun up a new Next.js app (13.2.4) and it appears to work with RLS disabled, or a policy with an expression of `true` to enable read access to the table.
🚀 UPDATED VERSION: ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF 🚀
This guy deserves a handsome bonus from supabase
We send him a lot of swag - he seems happy! 🧢
Damn i love this man , the way he explains is the best well at least for me , thank you so much :>
Duuuuude. The production quality of your videos (which was already extremely high) just went through the roof. This is incredible. You make everything so easy to understand, and fun to follow along. Really great work. Supabase has got a gem in you! ⭐
Check out this one next! 🚀
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
Man your videos drop on point. I wish you can do more of them sooner.
Another one dropped today! 🚀
ruclips.net/video/6MoYy62E4rw/видео.html
We can do you one better! An entire course! 🔥
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
For me Nextjs(v13.4.10) behaviour in DEV and PROD mode is same, ie the new post don't show up on refresh. Anyone facing the same issue?
Super helpful. Could really use an updated auth one. Especially now that route handlers are a thing. Thanks!
Here is one for Auth in Server Components - you can actually follow the same pattern for Route Handlers, but I will be putting out a video on this soon 👍
ruclips.net/video/Bh1TOpOcGJQ/видео.html
Here is the new one on Route Handlers 👍
ruclips.net/video/6MoYy62E4rw/видео.html
Here is a brand new course that shows you how to integrate Supabase Auth with all the new Next.js 13 App Router things - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
Video was really well done!
Thanks! Glad you enjoyed it! 🙌
Check out this brand new course for even more of that Jon 🔥
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
What about the fact that Next.js official documentation says that revalidation doesn’t work with generateStaticParams?
“During revalidation (ISR), generateStaticParams will not be called again”
And you can check that it really doesn’t revalidate if you set dynamicParams = false
Beautiul tutorial!
Thanks! Glad you enjoyed it! 🙌
If you enjoyed this one you should check out his new course! 🔥
Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
very helpful, thanks
Awesome! Glad you enjoyed it! 🙌
If you enjoyed this one you should check out his new course! 🔥
Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
exelent!!
Thanks! Glad you enjoyed it! 🙌
If you enjoyed this one you should check out his new course! 🔥
Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
Awesome video! a quick question,
Will these methods work for large databases with 30,000+ rows?
amazing video thank you
You're welcome! Glad you enjoyed it! 🙌
If you enjoyed this one you should check out his new course! 🔥
Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
Good video!
Thanks! Glad you enjoyed it! 🙌
If you enjoyed this one you should check out his new course! 🔥
Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
found out, you are my saver!
Glad I could help! 🙌
@@JonMeyers How could I update the screen with the mutation data from Server component without hard fresh browser? The posts datas flow from the page.tsx and mutated by the onClick event in the child component.
@@SeaRich Jon's new course might help with this one. He goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
Why NEXTJS APP Router page add an `export const revalidate = 0` No update data ,Need me Manually refresh the website page update data🤯
cool, thx.
You're welcome! 👍
If you enjoyed this one you should check out his new course! 🔥
Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
very nice
Thanks Anthony! Glad you enjoyed it! 🙌
If you enjoyed this one you should check out his new course! 🔥
Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
note to self: understanding how to match specific user data and retreive only that data. @12:00
could you please make video for pagination in nextjs 13 and supabase
thanks for that!
If you enjoyed this one you should check out his new course! 🔥
Jon goes through using Supabase with all the new Next.js 13 App Router bits - Client Components, Server Components, Route Handlers, Server Actions and Middleware! 🚀
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
Great tutorial! Just one question. I noticed that when I go to the revalidate route and a new entry shows up after the 60 seconds have passed and I refresh twice, that the static route now also reflects this changes. One the other hand, if I navigate to the dynamic route where the changes are reflected instantly, the result is not carried over to neither the revalidate nor the static route
- what is the reason for that?
Next.js heavily caches Server Components. To ensure fresh data you can add an `export const revalidate = 0` to mark the route as dynamic, or call the `revalidatePath` function! This new course has a good example of the latter 👍
ruclips.net/p/PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF
why use app/static/pages? and not /pages/?
what about for images ?
Hi Jon, thanks for this. Im using cookie based auth system along with route handling. I am creating a username for each uid, however how can i fetch a certain username's data in my local host without logged in.
For eg:
if my username is abc, then only localhost:3000/abc should fetch the data of abc username. Right now im having a situation where any slug i use after localhost:3000/[slug or username] , it still shoes the same data. How do i check if there is no username redirect to 404 or back to home page. Im using app> [creatorSlug]>page.tsx .
I also have disabled RLS for now on my supabase tables. Once i figure this out ill activate it in the end, or is RLS the very answer to the issue i have spoken?
Thanks
to add to this, i have 2 logged in users who can each access each other data.
i love supabase
Is this still working, I tried implementing this following next/supabase docs and I couldn't get it to work.(I get the emptry array, but adding policies in supabase doesn't change it).
I created a new next app from scratch, and new supabase database, and followed this and still get to an empty array. (So I'm making API requests successfully [i see counter in supabase home page] however it seems I'm not being allowed to select the data. Has there been any breaking changes in next 13 app? Can anyone confirm this all still works?
I have the same issue. I even disabled RLS and still get an empty array. Were you able to get it to work?
I was able to get it to work by entering the column names in the select.
import supabase from "@/utils/supabase";
export default async function Posts() {
let { data: posts, error } = await supabase
.from("posts")
.select("id, created_at, title");
console.log(posts);
return {JSON.stringify(posts, null, 2)};
}
For some reason when my select is empty (as shown in the video), I get an empty array.
@@FlyungPanda Yes I also discovered that .select() and .select('*') doesn't work, might be a next issue....
Very strange! I just spun up a new Next.js app (13.2.4) and it appears to work with RLS disabled, or a policy with an expression of `true` to enable read access to the table.
This was also using supabase-js 2.12.1 with just .select() and exporting a revalidate prop