multica/server/cmd/server
Jiang Bohan 14fe8e9df9 feat(auth): add Google OAuth login
Support Google login that links to existing accounts by email.
When a user who registered via email OTP signs in with Google using
the same email, they are linked to the same account.

Backend:
- Add POST /auth/google endpoint that exchanges Google auth code for
  tokens, fetches user profile, and calls findOrCreateUser()
- Updates user name and avatar from Google profile on first Google login

Frontend:
- Add "Continue with Google" button on login page (shown when
  NEXT_PUBLIC_GOOGLE_CLIENT_ID is configured)
- Add /auth/callback page to handle Google OAuth redirect
- Add loginWithGoogle to auth store and API client
2026-04-07 15:25:26 +08:00
..
activity_listeners.go feat(realtime): WS invalidation + refetch pattern, inbox bugfixes, UI polish 2026-03-29 13:49:40 +08:00
activity_listeners_test.go feat(realtime): WS invalidation + refetch pattern, inbox bugfixes, UI polish 2026-03-29 13:49:40 +08:00
comment_trigger_integration_test.go fix(trigger): skip parent mention inheritance when reply @mentions only members (#421) 2026-04-05 04:44:24 +08:00
integration_test.go fix(test): use auth.JWTSecret() in integration tests instead of hardcoded secret (#349) 2026-04-02 18:21:21 +08:00
listeners.go feat(realtime): skip WS refetch for self-triggered events 2026-03-31 13:09:17 +08:00
main.go fix(runtime): add server-side sweeper to detect stale runtimes 2026-03-29 14:22:12 +08:00
notification_listeners.go Merge pull request #327 from multica-ai/agent/j/53c0348f 2026-04-02 14:28:26 +08:00
notification_listeners_test.go fix(inbox): remove hardcoded 50-item limit from inbox list query 2026-03-31 18:36:41 +08:00
router.go feat(auth): add Google OAuth login 2026-04-07 15:25:26 +08:00
runtime_sweeper.go fix(server): broadcast sweeper task:failed events to correct workspace 2026-04-02 03:20:59 +08:00
runtime_sweeper_test.go test(server): add integration tests for sweeper event broadcasting fix 2026-04-02 03:30:32 +08:00
subscriber_listeners.go fix(server): subscribe @mentioned users in issue descriptions 2026-03-31 18:36:15 +08:00
subscriber_listeners_test.go feat(notifications): replace hardcoded inbox notifications with subscriber-driven model 2026-03-28 19:33:20 +08:00