From f91604095e6f0978c61f66d0b937e36271637e6b Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 8 Nov 2026 17:07:03 +0000 Subject: remake: no --follow-strict-remakes; a strict remake failing says who A strict remake takes a majority of members whose --strict-keys take its manifest's signer: no node votes for one without, so --follow-strict-remakes (1173) goes. A node that doesn't vote still switches once the others commit, as with any remake. So that an operator can tell why one fails: a strict remake aborted for want of a majority (the voting period over, or a majority out of reach) says in its reason (GET /admin/remakes/{id}, and the coordinator's log) which members didn't vote, and that a member votes for one only with its manifest signed by a key of its --strict-keys. Each of those logs why itself (`Not voting for a strict remake`). The sim a_strict_remake_too_few_take: only a takes the manifest; the remake aborts, naming b and c. --- src/state/host.rs | 4 ---- src/state/mod.rs | 4 +--- 2 files changed, 1 insertion(+), 7 deletions(-) (limited to 'src/state') diff --git a/src/state/host.rs b/src/state/host.rs index 82b6c7c..ac36171 100644 --- a/src/state/host.rs +++ b/src/state/host.rs @@ -424,10 +424,6 @@ impl Host for AppState { &self.strict_keys } - fn follows_strict_remakes(&self) -> bool { - self.follow_strict_remakes - } - fn begin_rejoin( &self, target: Epoch, diff --git a/src/state/mod.rs b/src/state/mod.rs index 6e25336..ed93fda 100644 --- a/src/state/mod.rs +++ b/src/state/mod.rs @@ -161,10 +161,8 @@ pub(crate) struct AppState { /// may make within it (`access::challenge`). pub(crate) challenge_lifetime: Duration, pub(crate) key_logins_per_user: usize, - /// Whose signature on a strict remake's manifest this node takes, and whether it - /// takes any without (`access::strict`). + /// Whose signature on a strict remake's manifest this node takes (`access::strict`). pub(crate) strict_keys: Arc>, - pub(crate) follow_strict_remakes: bool, /// Origins whose pages may call this node's open endpoints (`api::cors`). pub(crate) cors_origins: Arc>, /// This node's own files, and how much it read and wrote them. -- cgit v1.3.1