From 13cba9b0be736433d8ac44c0ef046cb001918a07 Mon Sep 17 00:00:00 2001 From: tv Date: Sat, 7 Nov 2026 22:35:09 +0100 Subject: store: keys_at tells no map from an empty one registry::exists counted any value at _continuum/users as a registry; keys_at answers None where there is no map, and its users (records, members, forget records, remakes) say what they make of it. Auth plan M1 (fix). --- src/swarm/members.rs | 5 ++++- src/swarm/peer/forget.rs | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'src/swarm') diff --git a/src/swarm/members.rs b/src/swarm/members.rs index 1cb4062..cbd970d 100644 --- a/src/swarm/members.rs +++ b/src/swarm/members.rs @@ -40,7 +40,10 @@ pub(crate) fn member_path(pk: &str) -> Vec { /// Public keys of all registered members, sorted. pub(crate) fn members(doc: &impl ReadDoc) -> Vec { - let mut members = store::keys_at(doc, &members_dir()).unwrap_or_default(); + let mut members = store::keys_at(doc, &members_dir()) + .ok() + .flatten() + .unwrap_or_default(); members.sort(); members } diff --git a/src/swarm/peer/forget.rs b/src/swarm/peer/forget.rs index ce064a2..a1676b5 100644 --- a/src/swarm/peer/forget.rs +++ b/src/swarm/peer/forget.rs @@ -32,7 +32,10 @@ pub(crate) fn affects_forget_records(path: &[String]) -> bool { } fn forgotten_peers(doc: &Document) -> Vec { - store::keys_at(doc, &forgotten_dir()).unwrap_or_default() + store::keys_at(doc, &forgotten_dir()) + .ok() + .flatten() + .unwrap_or_default() } /// The forget records this node acted on: peer → the record as it read then. -- cgit v1.3.1