📋 Checklist de Correções — Federal-Pro

Acompanhamento das correções de código, build e cache
0 de 0 concluídos (0%)
🔴 GRUPO 1 — Correção do handleAceitarCorrida
Crítico
#1
Substituir handleAceitarCorrida + adicionar imports e helpers
C:\Federal-Pro\src\app\(app)\index.tsx
Adicionar: Alert, runTransaction, fetchWithTimeout, mensagemErroAmigavel. Substituir linhas 1090–1225.
#2
Contador "Expira em X min" com setInterval
C:\Federal-Pro\src\components\CorridaModal.tsx
Hoje só recalcula se re-renderizar. Adicionar useEffect + setInterval para atualizar sozinho.
#21
Comando para descobrir paths dos serviços
cd C:\Federal-Pro; Get-ChildItem -Recurse -Include *.ts,*.tsx -Exclude node_modules | Select-String "export.*(pararSomNotificacao|buscarVeiculoAtivo|updateVeiculo|updateStatus|marcarCorridaComoAceita)" | Select-Object Path, Line
Rode isto para preencher os paths dos itens #3 a #7.
⚠️ GRUPO 2 — Funções de serviço (confirmar paths)
Verificar
#3
pararSomNotificacao — verificar try/catch
⚠️ Provável: src\services\som.ts ou src\hooks\useSom.ts
Já tratado no novo handleAceitarCorrida com try/catch.
#4
buscarVeiculoAtivo — adicionar timeout
⚠️ Provável: src\services\veiculo.ts ou src\api\veiculo.ts
Envolver fetch interno com fetchWithTimeout(10s).
#5
updateVeiculo — verificar try/catch interno
⚠️ Mesmo arquivo do #4
#6
updateStatus — verificar try/catch interno
⚠️ Provável: src\services\motorista.ts ou src\api\status.ts
#7
marcarCorridaComoAceita — garantir idempotência
⚠️ Provável: src\store\ ou src\contexts\
Chamar 2x não deve quebrar nem duplicar estado.
🐘 GRUPO 3 — Backend PHP
Crítico
#8
api_corridas.php — transação SQL + JSON + notificar passageiro
⚠️ No servidor (sob API_BASE) — não está no projeto RN
SQL sugerido:
UPDATE corridas SET motorista_id = ?, status = 'aceita' WHERE id = ? AND status = 'pendente' AND motorista_id IS NULL;
🔨 GRUPO 4 — Erros de Build (CMake / Ninja / Gradle)
Build
#9
build.gradle — adicionar afterEvaluate (se limpeza não resolver)
C:\Federal-Pro\android\app\build.gradle
afterEvaluate { tasks.named("preBuild").configure { dependsOn(":react-native-async-storage_async-storage:preBuild") } }
#10
gradle.properties — workaround newArchEnabled=false
C:\Federal-Pro\android\gradle.properties
newArchEnabled=false
⚠️ Apenas se nada mais resolver. Desabilita Nova Arquitetura.
#11
Deletar pasta .cxx (cache CMake/Ninja)
C:\Federal-Pro\android\app\.cxx\
Remove-Item -Recurse -Force "C:\Federal-Pro\android\app\.cxx"
#12
Deletar pasta build do android
C:\Federal-Pro\android\build\
Remove-Item -Recurse -Force "C:\Federal-Pro\android\build"
#13
Deletar pasta build do app
C:\Federal-Pro\android\app\build\
Remove-Item -Recurse -Force "C:\Federal-Pro\android\app\build"
#14
Deletar pasta .gradle do projeto
C:\Federal-Pro\android\.gradle\
Remove-Item -Recurse -Force "C:\Federal-Pro\android\.gradle"
#15
Deletar cache global Gradle (APÓS parar daemon)
C:\Users\jrbes\.gradle\caches\
Rodar ANTES:
cd C:\Federal-Pro\android; .\gradlew --stop
Depois deletar:
Remove-Item -Recurse -Force "$env:USERPROFILE\.gradle\caches"
📦 GRUPO 5 — Metro Cache
Cache
#16
Deletar node_modules e reinstalar
C:\Federal-Pro\node_modules\
cd C:\Federal-Pro; Remove-Item -Recurse -Force node_modules; npm install
#17
Deletar .expo
C:\Federal-Pro\.expo\
Remove-Item -Recurse -Force "C:\Federal-Pro\.expo"
#18
Deletar package-lock.json
C:\Federal-Pro\package-lock.json
Remove-Item -Force "C:\Federal-Pro\package-lock.json"
#19
Deletar yarn.lock (se existir)
C:\Federal-Pro\yarn.lock
⚠️ Não misture npm e yarn no mesmo projeto.
#20
Limpar cache Metro do Windows
Remove-Item -Recurse -Force $env:TEMP\metro-*, $env:TEMP\haste-map-*
⚠️ Ordem recomendada: Execute GRUPO 1 → GRUPO 2 (descobrir paths) → GRUPO 3 → parar daemon Gradle → GRUPO 4 (deletar pastas) → GRUPO 5 (Metro) → rebuild com npx expo run:android.
✅ Copiado!