registarApoUsLogin() após sucesso. Validado E2E (Token ID 4 com timestamp recente).12f00a5, 151 chunks novos) mas com bug residual: categorias vazias + dropdown só mostra 1 condómino. Investigação pendente.1a70c05 (515 ficheiros, WIP pré-build) — preserva trabalho local pre-deploy.12f00a5 · 151 chunks novos · refactor "fetch sem ?q=" confirmado no bundle. ⚠️ Bug residual (categorias vazias + 1 condómino) por investigar.key.properties (NÃO commit) + signingConfigs.release no build.gradle.kts + flutter build appbundle --releaseflutter_local_notifications v21 API breaking. Investigar v20 ou ler doc oficial v21 com cabeça frescaondaka.ao/privacidadetail -f storage/logs/laravel.log + Firebase Crashlytics + feedback diário do gestor pilotocondominios_atribuidos. Falta UI Web admin para atribuir.user_id em vez de email. Falha quando user muda email.flutter_local_notifications · channel HIGH + vibração + LEDimage_picker, flutter_local_notifications iOS, deep links. Testar em iPhone real.flutter build ipa + TestFlight uploadiOSbound() checkWebif (! app()->bound('empresa_gestora_actual'))PrecoSubscricaoService. Deprecar antigo.| # | Item | Prioridade | Estimativa | Quando |
|---|---|---|---|---|
| 1 | Refactor permissões role 'condomino' | Alta | 1 dia | Jun/26 |
| 2 | Bug AssembleiaController::entrar() | Alta | 0.5 dia | 🔥 Mai/26 fim |
| 3 | Refactor layout PDF acta | Média | 2 dias | Jun/26 |
| 4 | 12 middlewares sem bound() check | Média | 1 dia | Jul/26 |
| 5 | Schedule:run cron (verificar) | Baixa | 0.5 dia | Mai/26 |
| 6 | Refactor SubscriptionService antigo | Baixa | 1 dia | Ago/26 |
| 7 | Renomear TAXA_IVA → TAXA_IPC | Baixa | 0.5 dia | Ago/26 |
| 8 | Sincronização Mac↔servidor (12 ficheiros) | Alta | 3h | 🔥 Mai/26 fim |
| 9 | Permission filtering Aprenda/Conheça | Baixa | 0.5 dia | Jun/26 |
| 10 🆕 | B-PEDIDO-01 bug residual (categorias + dropdown) | Alta | 30 min | 🔥 Mai/26 esta semana |
| 11 🆕 | Limpar 18 backups build.bak-* servidor | Baixa | 15 min | Backlog |
| 12 🆕 | Limpar .bak-pre-* Mac (escapam gitignore) | Baixa | 15 min | Backlog |
| # | Bug | Workaround | Estado |
|---|---|---|---|
| 1 | Laravel 11: instance(null) não detectável via bound() | bind(closure) em AppServiceProvider | Aguarda Laravel update |
| 2 | ProxyPay sandbox: POST /reference_ids 10 dígitos | Gerar local | Aguarda fix sandbox |
| 3 | ProxyPay sandbox: webhook não chamado | Polling 5min | Aguarda fix sandbox |
| 4 | Heredocs grandes bash cortam tags em TSX | Usar Python para patches longos | Documentado |
| 5 | B-FCM-01 sirene Android v21 falha silenciosa | Push básico funciona com som default | Investigar v20 ou doc v21 |
| 6 | ✅ B-FCM-02 device_tokens não persistir | — | FECHADO 16 Mai |
| 7 🆕 | B-PEDIDO-01: dropdown carrega só 1 condómino + categorias vazias | — | Investigar Network tab |
SOS 15 Mai validou o princípio: cada feature CORE marcada como Web + Mobile deve ser implementada nas plataformas na mesma sprint. iOS adicionado em v14: a partir de Ago/26, toda nova feature Mobile deve considerar paridade Android + iOS. Excepções aceitáveis: features só fazem sentido numa plataforma.
| Tier | Período | Foco |
|---|---|---|
| 🔥 Tier 1 | 16-22 Mai 2026 | APK Release Signed · Play Console setup · Closed Testing live · B-PEDIDO-01 fix · B-PERM-01 · Política privacidade · Screenshots |
| 🎯 Tier 1.5 | 23-29 Mai 2026 | HOMOLOGAÇÃO 1º CONDOMÍNIO · Closed Testing live com 12+ testers · Hotfixes contínuos |
| ⚡ Tier 2 | 30 Mai - 30 Jun 2026 | Android Production (6 Jun) · Sincronização Mac↔servidor · F-GESTOR-01 multi-condomínio · Pagar mobile · Refactor perms |
| 🍎 Tier 2.5 (NOVO v14) | Jul-Ago 2026 | iOS pipeline completa · Apple Dev account · TestFlight · App Store submissão · Production iOS |
| ⚖️ Tier 3 | Set-Dez 2026 | RGPD completo · Audit log · Bloqueio Inteligente · Lista Negra · Fundo separado · Livro reclamações · Matriz notificações |
| 💎 Tier 4 | Out/26 + 2027 | Dashboard BI 32 features · Email marketing · 26 add-ons total · Hardware (ZKTeco + Hikvision) |
| 🔌 Tier 5 | Q1/27 - Q3/27 | ZKTeco biométrico · Hikvision ANPR · MiRO Distribution · Comunicação premium |