Skip to content

[M5.05] Preservar configurações de mensagens por canal - #157

Merged
eduardomatuella-costaapps merged 13 commits into
desktop/milestone-m5from
desktop/m5-05
Nov 12, 2026
Merged

eduardomatuella-costaapps merged 13 commits into
desktop/milestone-m5from
desktop/m5-05

Conversation

@eduardomatuella-costaapps

@eduardomatuella-costaapps eduardomatuella-costaapps commented Nov 12, 2026 •

Copy link
Copy Markdown
Collaborator

Resumo

Implementa configuração versionada por ativo para mensagens WhatsApp, Facebook e Instagram. Para preservar o contrato v1 congelado, o GET/PUT existente em /api/v1/assets/{assetId}/automation-config e seus schemas permanecem inalterados. M5.05 usa a rota aditiva GET/PATCH /api/v1/assets/{assetId}/automation-config/channels, documentada em D-M5-06.

O endpoint novo usa ETag/If-Match e CAS por tenant/asset. A UI só oferece campos suportados e mantém a gravação bloqueada enquanto a confirmação de identidade M1.08 não estiver disponível. A projeção grava intent/outbox local, mas não executa mensagens: capabilities.executable=false e não há sender Meta.

A correção CORS permite If-Match no preflight e expõe ETag somente após validar uma origem já configurada. Nenhuma origem foi acrescentada; as regras de escrita same-origin, Fetch Metadata, sessão e CSRF permanecem intactas.

Refs #59. A issue permanece aberta até os gates de integração e evidência externa serem satisfeitos.

Base e candidato

  • Base: desktop/milestone-m5 em 888f684088e40fdc23c141737e32aac1f98ea8e3.
  • Head: desktop/m5-05 em 0237676ba3b62f8bcfa40a79647804de7f1b56ca.
  • Migration M5.05 reindexada como v23, após v21 (M5.07) e v22 (M5.03).

Evidência local

  • Node 24.22.2 / npm 11.19.1, head 3abc5d1: contracts check:generated (12 artefatos); M1.07 check:generated (cliente e 53 linhas de compatibilidade); M1.07 check:breaking — nenhuma quebra no v1.
  • Node 24.22.2, head 3abc5d1: API focal 16 passaram / 0 falhas / 1 skip intencional MariaDB; Web focal 10/10. O harness API inclui a regressão M3.04 para preflight PATCH com If-Match e exposição de ETag.
  • Migration v23: npm.cmd run test:m5-05 --workspace=@ca-meta/api com M5_05_AUTOMATION_TEST=1, MariaDB 11.8.8, schema descartável novo e SHA c4773ba: migrations aplicadas até v23 e 7/7 passaram, sem skip. A migration/registry não mudou desde esse SHA; o banco pré-existente v21 permaneceu intacto.
  • Gate M2.03 alinhado à registry v23 em b6554452485b12aa434607f75f190d1441272633: tools/m2-03/run-mariadb-tests.ps1 passou com MariaDB 11.8.8, 392 testes / 0 falhas / 20 skips, migrations 1–23, e backup/restore sintético de 10.005 ativos.
  • Revisão funcional e security review PASS em 3abc5d1; revisão read-only do ajuste M2.03 PASS em b655445. O commit 0237676 acrescenta somente evidência do gate.
  • Checks Actions no head 0237676: Desktop candidate (run 43325618276, incluindo MariaDB/images/security) SUCCESS; M1.07 (43325618427) SUCCESS; planning audit (43325618132) SUCCESS com job structure skipped; orchestrator (43325618184) SUCCESS.

Limitações registradas

Não foram confirmados consumidores Suite4/Msg4/DDL empresarial, semântica real de campos Meta, grants/janelas de resposta ou deduplicação de echo em executor real. Nenhuma chamada Meta, mensagem, alteração de assinatura ou dado de cliente foi usada. Advisory de revisão: a migration não valida FKs/CHECKs se uma tabela preexistente já tiver colunas e índices; não houve bypass de tenant confirmado. Escritas cross-origin continuam bloqueadas pela política same-origin.

@eduardomatuella-costaapps
eduardomatuella-costaapps merged commit 8f83cb6 into desktop/milestone-m5 Nov 12, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant