Week 1 v2: Clerk v7 / Core 3 breaks SignedIn, SignedOut, and Protect - #170
Open
osencan wants to merge 1 commit into
Open
Week 1 v2: Clerk v7 / Core 3 breaks SignedIn, SignedOut, and Protect#170osencan wants to merge 1 commit into
osencan wants to merge 1 commit into
Conversation
Includes component replacements and updated examples for authentication and subscription management. Introduce new files for conversion guides and update existing lesson content to reflect changes in Clerk's API.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
If you install the latest Clerk (
@clerk/nextjsv7) instead of pinning6.39.0, the Day 3 / Day 4 samples crash. Core 3 removed<SignedIn>,<SignedOut>, and<Protect>. They still export, so the build succeeds, then they throw at render:The official replacement is , but that is a server control. Week 1 pages are "use client", so does not see the browser session.
v2 samples use useAuth() on those client pages:
signed-in vs signed-out → isLoaded && isSignedIn
plan gate → has?.({ plan: 'premium_subscription' }) (do not mount the product until that is true)
Also added a Cursor skill for students who already built Week 1 on v6 and want to convert their app: copy community_contributions/clerk-core3-auth/ to .cursor/skills/clerk-core3-auth/ in your SaaS repo.
Added v2 versions of the week1/day3,4,5 and left the original Week 1 files alone so they still match the current videos.
Files:
Test plan