1.8 KiB
1.8 KiB
ClientFlow v4.2 — revisão operacional e UI
Esta revisão mantém a arquitetura da v4.2, mas corrige pontos de estabilidade e torna a UI mais operacional.
Correções aplicadas
OUTBOX_DRY_RUN=truedeixou de marcar itens comosent; agora passa o item paradry_run.- Integrações com
*_OUTBOX_ENABLED=falsedeixam de ficar apenas emskippedsilencioso; agora ficamblockedcom erro claro. - A idempotência de
jasmin.create_quotationpassou a ser determinística por oportunidade:jasmin:quotation:{opportunity_id}. integration_outboxganhou estados visíveis e reprocessáveis:pending,processing,sent,failed,blocked,dry_run,ignored,cancelled.- O schema base passa a garantir colunas de controlo da outbox (
locked_at,lock_owner,ignored_at) mesmo em instalações novas. - Webhooks Chatwoot exigem
CLIENTFLOW_WEBHOOK_SECRETemENV=prod,productionoustaging. - Admin UI e API interna podem ser protegidas com
CLIENTFLOW_ADMIN_TOKEN.
Melhorias UI
- Página da oportunidade ganhou painel Integrações da oportunidade com contadores:
- pendentes;
- falhadas;
- bloqueadas;
- dry-run.
- A oportunidade passa a mostrar ações Jasmin/Packlink/Chatwoot/Mautic ligadas à oportunidade, com último erro e reprocessamento.
/outboxganhou filtros para os novos estados operacionais.- Badges visuais foram atualizados para
processing,blocked,dry_runecancelled.
Validação
Executado:
python -m compileall app scripts tests
pytest -q
Resultado: 12 passed.
Ainda recomendado para próxima ronda
- Substituir o token simples por login/sessão + CSRF nos POSTs.
- Refatorar
admin_dashboard.py, que continua demasiado grande. - Confirmar endpoints reais de PDF Jasmin no tenant de produção.
- Criar testes funcionais com Postgres de teste e mocks para Jasmin/Packlink.