Some checks are pending
Build Android (APK + AAB) / build-android (push) Waiting to run
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>
27 lines
845 B
JSON
27 lines
845 B
JSON
{
|
|
"name": "shivao-mobile",
|
|
"version": "1.6.1",
|
|
"description": "Shivao app nativo (Capacitor wrapper Android/iOS)",
|
|
"main": "index.js",
|
|
"type": "module",
|
|
"scripts": {
|
|
"sync": "node ../scripts/sync-html.mjs && npx cap sync",
|
|
"android:open": "npx cap open android",
|
|
"android:build:apk": "cd android && ./gradlew assembleRelease",
|
|
"android:build:aab": "cd android && ./gradlew bundleRelease",
|
|
"ios:open": "npx cap open ios"
|
|
},
|
|
"dependencies": {
|
|
"@capacitor/android": "^6.1.2",
|
|
"@capacitor/app": "^6.0.1",
|
|
"@capacitor/core": "^6.1.2",
|
|
"@capacitor/geolocation": "^6.0.1",
|
|
"@capacitor/local-notifications": "^6.1.0",
|
|
"@capacitor/network": "^6.0.2",
|
|
"@capacitor/preferences": "^6.0.2",
|
|
"@capacitor/status-bar": "^6.0.1"
|
|
},
|
|
"devDependencies": {
|
|
"@capacitor/cli": "^6.1.2"
|
|
}
|
|
}
|