From 9b956e3349b295add84941c042c928590ded6d37 Mon Sep 17 00:00:00 2001 From: Santhi Prakash Date: Tue, 4 Aug 2026 07:20:51 +0000 Subject: [PATCH] fix(relay): republish NIP-IA snapshot on idempotent archive retry - Problem: when archive/unarchive returns changed=false, the handler returned before publish_nipia_archival_list, so a retry after a transient snapshot publish failure could never repair the kind:13535 list. - Fix: on the unchanged path, skip delta publish but still republish the archival list snapshot derived from archived_identities. - Verification: cargo test -p buzz-relay identity_archive; cargo clippy -p buzz-relay -- -D warnings. Signed-off-by: Santhi Prakash --- crates/buzz-relay/src/handlers/identity_archive.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crates/buzz-relay/src/handlers/identity_archive.rs b/crates/buzz-relay/src/handlers/identity_archive.rs index 9da920483f..a00f525a54 100644 --- a/crates/buzz-relay/src/handlers/identity_archive.rs +++ b/crates/buzz-relay/src/handlers/identity_archive.rs @@ -98,6 +98,9 @@ pub async fn handle_identity_archive_event( ); if !changed { + if let Err(e) = publish_nipia_archival_list(tenant, state).await { + warn!(error = %e, "failed to publish NIP-IA archival list"); + } return Ok(()); }