4.7 KiB
4.7 KiB
Status do Projeto — 16/10/2025 (Arquivo)
Documento de referência sobre o estado atual do sistema (web + desktop), melhorias recentes e pontos de atenção.
1. Panorama
- Web (Next.js 15 + Convex): build limpo (
bun run build:bun), lint sem avisos e testes estáveis (Vitest em modo não interativo). - Desktop (Tauri): fluxo de provisionamento e heartbeat operacional; inventário consolidado com coleta multi-plataforma; atualizações OTA suportadas.
- CI: workflow
Quality Checksroda lint/test/build em todo push/PR namain; pipeline de deploy (ci-cd-web-desktop.yml) permanece responsável por sincronizar com a VPS. - Infra: deploy documentado no runbook (Swarm com symlink
sistema.current). Migrações Prisma e variáveis críticas mapeadas.
2. Melhorias concluídas em 16/10/2025
| Item | Descrição | Impacto |
|---|---|---|
| Centralização Convex | Helpers createConvexClient e normalização do cookie da dispositivo (src/server/convex-client.ts, src/server/machines/context.ts). |
Código das rotas /api/machines/* ficou mais enxuto e resiliente a erros de configuração. |
| Auth/Login redirect | Redirecionamento baseado em role/persona sem uso de any, com dependências explícitas (src/app/login/login-page-client.tsx). |
Evita warnings de hooks e garante rota correta para dispositivos/colaboradores. |
| Ticket header | Sincronização do responsável com dependências completas (ticket-summary-header.tsx). |
Removeu warning do lint e previne estados inconsistentes. |
| Upgrade para Next.js 16 beta | Dependências atualizadas (next@16.0.0-beta.0, eslint-config-next@16.0.0-beta.0), cache de filesystem do Turbopack habilitado, scripts de lint/test/build ajustados ao novo fluxo. |
Projeto pronto para validar as novidades do Next 16 (React Compiler opcional, prefetch incremental, etc.); builds e testes já rodando com sucesso. |
| Posture / inventário | Type guards e normalização de métricas SMART/serviços (convex/machines.ts). |
Reduziu any, melhorou detecção de alertas e consistência do metadata. |
| Docs | Revisão completa de docs/DEV.md, novo STATUS-2025-10-16.md, estrutura uniforme e casos de erro registrados. |
Documentação enxuta e atualizada, com trilhas claras para DEV/CI/Deploy. |
| Testes no CI | Novo workflow .github/workflows/quality-checks.yml e script bun test em modo não-interativo. |
Previne “travamentos” e garante checagens de qualidade automáticas. |
3. Pontos de atenção (curto prazo)
- Migrações Prisma em produção: qualquer mudança requer executar no volume
sistema_sistema_db(verdocs/DEPLOY-RUNBOOK.md). Atenção para evitar regressões P3009. - Atualização dos artefatos Tauri: releases exigem
latest.jsonatualizado e assinatura (*.sig). Automação via GitHub Actions já preparada, mas depende de manter as chaves seguras. - Seeds Better Auth: se novos perfis/roles forem adicionados, atualizar
scripts/seed-auth.mjse o seed do Convex. - Variáveis críticas:
NEXT_PUBLIC_APP_URL,BETTER_AUTH_URL,MACHINE_PROVISIONING_SECRETeNEXT_PUBLIC_CONVEX_URLdevem ser válidas no stack — qualquer alteração de domínio implica revisar.envestack.yml.
4. Backlog recomendado
- Testes end-to-end: cobrir fluxo de provisionamento (desktop ↔ API) com smoke automatizado (pode rodar condicional no CI).
- Autenticação agnóstica: avaliar suporte para Clerk/Auth0 conforme docs do Convex (custom JWTs).
- Observabilidade: adicionar métricas/alertas para heartbeats em atraso (Convex + dashboards).
- Documentação do Desktop Installer: guias por SO sobre instalação/assinatura e troubleshooting do updater.
5. Casos de erro conhecidos
| Cenário | Sintoma | Como resolver |
|---|---|---|
| Token de dispositivo revogado | POST /api/machines/sessions retorna 401 e desktop volta ao onboarding |
Reprovisionar pela UI do agente; garantir que machineToken foi atualizado. |
| Falha de heartbeat | Logs com Falha ao registrar heartbeat + status 500 |
Verificar NEXT_PUBLIC_CONVEX_URL e conectividade. Rode bun run convex:dev:bun em DEV para confirmar schema. |
| Updater sem atualização | Desktop fica em “Procurando atualização” indefinidamente | Confirmar release publicado com latest.json apontando para URLs públicas do bundle e assinaturas válidas. |
6. Próximos passos imediatos
- Monitorar execução do novo workflow de qualidade em PRs.
- Garantir que a equipe esteja ciente do procedimento atualizado de deploy (symlink + service update).
- Revisar backlog acima e priorizar smoke tests para o fluxo da dispositivo.
Última atualização: 16/10/2025 (UTC-3).