shivao-projeto/mobile/android
PontualTech / Karlão 24f6df3da7
Some checks are pending
Build Android (APK + AAB) / build-android (push) Waiting to run
fix(auth): login Google funciona em apps Capacitor (redirect+polling) v1.6.1
Problema: Google Sign-In popup (GSI) não funciona em WebView nativo do
Capacitor. FedCM bloqueia, popup não abre, ou retorna erro silenciosamente.

Solução: detectar Capacitor (window.Capacitor) ou WebView (UA com 'wv') e
usar OAuth redirect tradicional + polling em vez do popup GSI.

Backend (server/src/index.js):
- GET /api/auth/google/start — gera URL OAuth com state contendo
  session_id + flow:'login'. App chama isso e abre URL no browser externo.
- /api/google/callback adaptado — quando state.flow=='login', cria/loga
  user por email do Google, gera JWT, armazena em pendingGoogleSessions
  (Map em memória, TTL 10min) por session_id, mostra HTML "logado, volte
  pro app".
- GET /api/auth/google/poll?session=xxx — app faz polling 2s. Retorna
  204 se ainda esperando, 200 com tokens (one-shot, deleta após).

Frontend (app/diario-bordo.html):
- Detecta Capacitor/WebView, força fluxo redirect+polling
- Browser web: tenta GSI popup primeiro, fallback redirect se prompt
  for bloqueado (FedCM/popup blocker)
- window.open abre Custom Tabs no Android (ou nova aba no PC)
- Timeout de 4min (120 tries × 2s) pro polling

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:20:39 -03:00
..
app fix(auth): login Google funciona em apps Capacitor (redirect+polling) v1.6.1 2026-04-28 08:20:39 -03:00
gradle/wrapper feat(mobile): Capacitor Android pronto — APK + AAB v1.2.0 buildados 2026-04-27 17:34:19 -03:00
.gitignore feat(mobile): Capacitor Android pronto — APK + AAB v1.2.0 buildados 2026-04-27 17:34:19 -03:00
build.gradle feat(mobile): Capacitor Android pronto — APK + AAB v1.2.0 buildados 2026-04-27 17:34:19 -03:00
capacitor.settings.gradle feat(mobile): Capacitor Android pronto — APK + AAB v1.2.0 buildados 2026-04-27 17:34:19 -03:00
gradle.properties feat(mobile): Capacitor Android pronto — APK + AAB v1.2.0 buildados 2026-04-27 17:34:19 -03:00
gradlew feat(mobile): Capacitor Android pronto — APK + AAB v1.2.0 buildados 2026-04-27 17:34:19 -03:00
gradlew.bat feat(mobile): Capacitor Android pronto — APK + AAB v1.2.0 buildados 2026-04-27 17:34:19 -03:00
settings.gradle feat(mobile): Capacitor Android pronto — APK + AAB v1.2.0 buildados 2026-04-27 17:34:19 -03:00
variables.gradle feat(mobile): Capacitor Android pronto — APK + AAB v1.2.0 buildados 2026-04-27 17:34:19 -03:00