Repository navigation
fix: restore admin club onboarding and add secure role-complete demo experience - #26
Merged
Merged
Conversation
…wner/member/admin workflows
… sample data and safe runbook
…used demo model import
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.
ClubKeep onboarding 503 fix + public safe demo (19 feature areas)
Exact validated SHA:
23a233e1d8269521a28edcb2b49d93a5f8fa9322— CI #43589060034: all three jobs SUCCESS.Root cause and fix
On password-only production, optional Google/magic link/passkey features were disabled;
resolveAuthConfig()also disabled its auth limiter, making all protected club mutations return HTTP 503 "Onboarding is unavailable". Protected club POST now gets the isolated ClubKeep security limiter whenever available. ExplicitAUTH_RATE_LIMIT_REDIS_URLwins; password-only mode falls back to the existing required ClubKeep-specificREDIS_URL; never MenuMinute Redis 6381/6382. Unavailable Redis still returns 503, not a fail-open permission bypass.Full demo access
/demono-auth interactive fictional product showcase, 19 deep-linked views across owner, manager, staff, member, platform administrator. Covers all shipped B1–B6 features plus invitations, discovery and account-security UX; clearly labeled, resettable, zero network API mutations, server DB import prohibited by unit test. Safe for AI browsers and eventual visitor previews./homesurfaces admin role, private platform directory moderation shortcut whenPLATFORM_ADMIN, demo role switching, and explicit club-create CTA. Creating a club gives OWNER membership, separate MEMBER role remains enforced on real member-only routes.clubkeep_demosandbox seed: 4 individually secured reviewer identities, 2 clubs; both main reviewer identities OWN one club and are explicitly linked MEMBER in the other. No production login secret, no backend public impersonation route. Seed refuses wrong database/non-demo origin/nonempty data.docs/DEMO_AND_ONBOARDING.mdcovers protected setup, scope, and acceptance.Automated verification — all green on exact head
clubkeep_demo_cireal seed and role/tenancy assertions.@/lib/prismaimport and real auth module access.Operator acceptance still necessary
/demowalkthrough on 360/390/tablet/desktop and keyboard/contrast review.This PR contains no live production data inserts or demo credentials; the isolated demo seeder is never executed by the production deploy helper.