• v2.2.0 4a7009989c

    feat(auth): replace email/password registration with OAuth2 (Google + GitHub)
    Some checks failed
    CI / Test backend (pull_request) Successful in 19s
    Release / Test backend (push) Successful in 18s
    CI / Check ui (pull_request) Successful in 41s
    Release / Check ui (push) Successful in 21s
    CI / Docker / backend (pull_request) Successful in 1m43s
    CI / Docker / runner (pull_request) Successful in 1m28s
    Release / Docker / backend (push) Successful in 1m40s
    CI / Docker / caddy (pull_request) Successful in 6m45s
    Release / Docker / runner (push) Successful in 1m48s
    Release / Docker / caddy (push) Successful in 7m12s
    CI / Docker / ui (pull_request) Successful in 1m20s
    Release / Docker / ui (push) Successful in 1m19s
    Release / Gitea Release (push) Failing after 2s

    kamil released this 2026-03-24 22:01:51 +05:00 | -244 commits to main since this release

    • New /auth/[provider] route: generates state cookie, redirects to provider
    • New /auth/[provider]/callback: exchanges code, fetches profile, auto-creates
      or links account, sets auth cookie
    • pocketbase.ts: add oauth_provider/oauth_id to User; new getUserByOAuth(),
      createOAuthUser(), linkOAuthToUser() helpers; loginUser() drops email_verified gate
    • pb-init-v3.sh: add oauth_provider + oauth_id fields (schema + migration)
    • docker-compose.yml: GOOGLE/GITHUB client ID/secret env vars (replaces SMTP vars)
    • Login page: two OAuth buttons (Google, GitHub) — register form removed
    • /verify-email route and email.ts removed (provider handles email verification)
    • /api/auth/register returns 410 (OAuth-only from now on)
    Downloads