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
{{ message }}
Repository navigation
ACK repetido reescreve o ACS do alerta e audita "acknowledged" de novo #88
Origem: item adiado da #76 (PR #85). O comportamento é anterior à #76.
Problema.OrmAlertStore.acknowledge (backend/sinalacs_server/lib/src/infrastructure/database/orm_alert_store.dart) sempre grava acsId: acsUuid do ACS que fez o ACK, e o serviço audita acknowledged. Um ACK que chega depois da confirmação — ou depois da conclusão (#76) — feito por outro ACS da mesma microárea (ou por reentrega) troca o ACS responsável registrado no alerta e gera uma linha de auditoria acknowledged que não corresponde a uma mudança de status.
Por que importa. A trilha passa a dizer que o alerta foi confirmado de novo, e alerts.acsId deixa de apontar quem de fato confirmou/concluiu. Isso confunde a auditoria (#45) e o escalonamento (#44).
O que falta (proposta).
Se o alerta já está acknowledged ou resolved, o ACK é idempotente: não reescreve acsId, receivedAt nem acknowledgedAt (os dois últimos já usam ??), e audita um evento distinto (ex.: already_acknowledged), como alreadyResolved faz na conclusão.
A tabela alert_acknowledgements (índice único alertId, acsId) continua registrando cada ACS que confirmou.
Testes: ACK repetido por outro ACS não altera acsId; auditoria do ACK repetido tem a ação nova.
Decidir junto: se o ACK de um segundo ACS deve ser recusado ou só registrado.
Activity