Add private challenges with invitation-only access#1
Merged
prazgaitis merged 10 commits intomainfrom Feb 8, 2026
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The client was created at module scope, causing build failures when NEXT_PUBLIC_CONVEX_URL is not set in Vercel preview environments. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… builds" This reverts commit cddc5e9.
prazgaitis
added a commit
that referenced
this pull request
Mar 8, 2026
Preview and apply weekly bonus points to #1 category leaders. Idempotent via externalId pattern, with tie detection and week tracking. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
prazgaitis
added a commit
that referenced
this pull request
Mar 8, 2026
…d revoke - Award top 3 placements per category (1st/2nd/3rd) instead of just #1 - Escalating points by week (week × [10, 5, 3] multipliers) - Cumulative awards support (weekNumber=0) - Revoke mutation to undo awards and reverse points - Shared placement point calculations in lib/categoryLeaderPoints.ts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
prazgaitis
added a commit
that referenced
this pull request
Mar 16, 2026
The #1 player has no prey to hunt, but per the rules they should earn the full catch bonus (+75) for successfully defending their position. Previously they always got 0 since caughtPrey was always false when preyUserId was undefined. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4 tasks
prazgaitis
added a commit
that referenced
this pull request
Mar 16, 2026
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
private, hiding them from the public browse list (/challenges) and requiring an admin-created invitation to joinHow it works
visibilityfield on challenges ("public" | "private", optional — existing challenges default to public with no migration needed)listPublicquery filters out private challengesjoinmutation blocks self-join for private challenges (admins can still add participants viauserChallengesrecords)Test plan
listPublicexcludes private, includes public and legacy challengescreateChallengepersists visibility fieldupdateChallengetoggles visibility in both directionsjoinrejects private challenges, allows public and legacy/challengesbrowse list🤖 Generated with Claude Code