managarten/apps/matrix/apps/web
Till JS b737240ec1 feat(auth): add access tier system for phased app releases
Introduces a tiered access control system so apps can be released
gradually (founder → alpha → beta → public) without extra infrastructure.
Users are gated at the AuthGate level based on their tier vs the app's
requiredTier. All apps remain deployed and reachable, but only users
with sufficient tier can enter.

- Add accessTier enum + column to users schema (default: 'public')
- Add tier claim to JWT payload in better-auth config
- Add requiredTier field to ManaApp interface + all 25 apps
- Add hasAppAccess(), getAccessibleManaApps(), ACCESS_TIER_LABELS
- Update AuthGate with tier check + access denied screen
- Update getPillAppItems + Home page to filter by user tier
- Update all 22 app layouts to pass user tier to PillNav
- Add admin API: GET/PUT /api/v1/admin/users/:id/tier
- Document access tier system in CLAUDE.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 21:50:06 +02:00
..
scripts feat(manalink): add PWA support and rebrand Matrix client 2026-02-01 03:25:45 +01:00
src feat(auth): add access tier system for phased app releases 2026-03-30 21:50:06 +02:00
static feat(manalink): add PWA support and rebrand Matrix client 2026-02-01 03:25:45 +01:00
Dockerfile refactor(docker): standardize all web Dockerfiles to use sveltekit-base 2026-03-28 21:56:44 +01:00
package.json refactor(packages): consolidate 4 help packages into @manacore/help 2026-03-28 17:36:32 +01:00
svelte.config.js feat(matrix): add SvelteKit Matrix client (Phase 1) 2026-01-28 20:21:13 +00:00
tsconfig.json feat(matrix): add SvelteKit Matrix client (Phase 1) 2026-01-28 20:21:13 +00:00
vite.config.ts chore: commit remaining changes from recent sessions 2026-03-28 17:54:51 +01:00
vitest.config.ts feat(matrix): add tests, E2EE warning, and dynamic homeserver config 2026-03-23 12:18:07 +01:00