diff --git a/crates/tor-dirmgr/src/state.rs b/crates/tor-dirmgr/src/state.rs index 0deaca822..9f66a4329 100644 --- a/crates/tor-dirmgr/src/state.rs +++ b/crates/tor-dirmgr/src/state.rs @@ -902,10 +902,15 @@ impl GetMicrodescsState { partial_dir.fill_from_previous_netdir(old_dir); } + // Always upgrade at least once: otherwise, we won't notice we're ready unless we + // add a microdescriptor. + let mut partial = PendingNetDir::Partial(partial_dir); + partial.upgrade_if_necessary(); + GetMicrodescsState { cache_usage, n_microdescs, - partial: PendingNetDir::Partial(partial_dir), + partial, meta, newly_listed: Vec::new(), reset_time,