Repository navigation
[M5.05] Preservar configurações de mensagens por canal - #157
Merged
Merged
Conversation
eduardomatuella-costaapps
merged commit Nov 12, 2026
8f83cb6
into
desktop/milestone-m5
9 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-confige seus schemas permanecem inalterados. M5.05 usa a rota aditivaGET/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=falsee não há sender Meta.A correção CORS permite
If-Matchno preflight e expõeETagsomente 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
desktop/milestone-m5em888f684088e40fdc23c141737e32aac1f98ea8e3.desktop/m5-05em0237676ba3b62f8bcfa40a79647804de7f1b56ca.Evidência local
3abc5d1: contractscheck:generated(12 artefatos); M1.07check:generated(cliente e 53 linhas de compatibilidade); M1.07check:breaking— nenhuma quebra no v1.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 comIf-Matche exposição deETag.npm.cmd run test:m5-05 --workspace=@ca-meta/apicomM5_05_AUTOMATION_TEST=1, MariaDB 11.8.8, schema descartável novo e SHAc4773ba: 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.b6554452485b12aa434607f75f190d1441272633:tools/m2-03/run-mariadb-tests.ps1passou com MariaDB 11.8.8, 392 testes / 0 falhas / 20 skips, migrations 1–23, e backup/restore sintético de 10.005 ativos.3abc5d1; revisão read-only do ajuste M2.03 PASS emb655445. O commit0237676acrescenta somente evidência do gate.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.