You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fn_mesclar_contatos (versão vigente em supabase/baseline.sql:25667, última redefinição pela 0262) herda da ficha que sai name, display_name, birthdate, email, phone_number e source_metadata->>'waha_lid', cada um com guarda de unicidade contra um terceiro contato vivo. social_identity não aparece na função.
O comentário da própria função explica por que o waha_lid é herdado: sem ele, fn_upsert_wa_contact (que filtra is_merged_into is null) "criaria um contato novo na mensagem seguinte, refazendo a duplicata que acabou de ser desfeita".
Com o fix(contatos): busca por social_identity ignora a ficha mesclada #1444, upsertSocialContact (lib/channels/zernio/ingest.ts) passa a filtrar is_merged_into is null do mesmo jeito. Então o canal social fica com o mesmo defeito que a herança do waha_lid evita no WhatsApp: depois de juntar uma ficha que veio do Instagram (ou de outra rede conectada), a próxima DM daquela pessoa não acha ficha viva com aquela identidade e cria uma nova.
O que falta: no passo de herança de fn_mesclar_contatos, levar o social_identity do perdedor para o vencedor quando o vencedor não tem um, com guarda de unicidade igual à do waha_lid (o índice contacts_org_social_identity_unique é parcial em is_merged_into is null, então o conflito possível é só com um terceiro contato vivo).
Forma: migration nova (tripla: arquivo, MANIFEST.md, apêndice do baseline.sql) que recria a função, mais teste. O número será alocado pelo coordenador da fila; não escolha um por conta própria.
O que não medi: não reproduzi em banco o webhook do Instagram depois de uma fusão. A conclusão vem da leitura das duas pontas (função de fusão e busca do canal).
Seguimento do #1444 (que fecha a #1315).
O que medi, lendo o código da
main(d0b2fe916):fn_mesclar_contatos(versão vigente emsupabase/baseline.sql:25667, última redefinição pela0262) herda da ficha que sainame,display_name,birthdate,email,phone_numberesource_metadata->>'waha_lid', cada um com guarda de unicidade contra um terceiro contato vivo.social_identitynão aparece na função.waha_lidé herdado: sem ele,fn_upsert_wa_contact(que filtrais_merged_into is null) "criaria um contato novo na mensagem seguinte, refazendo a duplicata que acabou de ser desfeita".upsertSocialContact(lib/channels/zernio/ingest.ts) passa a filtraris_merged_into is nulldo mesmo jeito. Então o canal social fica com o mesmo defeito que a herança dowaha_lidevita no WhatsApp: depois de juntar uma ficha que veio do Instagram (ou de outra rede conectada), a próxima DM daquela pessoa não acha ficha viva com aquela identidade e cria uma nova.O que falta: no passo de herança de
fn_mesclar_contatos, levar osocial_identitydo perdedor para o vencedor quando o vencedor não tem um, com guarda de unicidade igual à dowaha_lid(o índicecontacts_org_social_identity_uniqueé parcial emis_merged_into is null, então o conflito possível é só com um terceiro contato vivo).Forma: migration nova (tripla: arquivo,
MANIFEST.md, apêndice dobaseline.sql) que recria a função, mais teste. O número será alocado pelo coordenador da fila; não escolha um por conta própria.O que não medi: não reproduzi em banco o webhook do Instagram depois de uma fusão. A conclusão vem da leitura das duas pontas (função de fusão e busca do canal).