Make bridges wait until they have bootstrapped, before publishing their descriptor
On bridges, there's a race condition when bridges try to publish their descriptor to the bridge authority:
- bridges try to publish their descriptors before bootstrapping
- but bridges can't publish their descriptors, because they don't have enough directory info to build a circuit to the bridge authority
Bridges will eventually try to publish their descriptors again, when they become dirty.
We should make bridges wait until they have bootstrapped, before they try to publish their descriptors. (This might be a good change for relays as well: there isn't much point in publishing a relay that can't bootstrap.)
This issue happens regardless of
AssumeReachable. It is most obvious in chutney networks.
This ticket isn't essential. But the workarounds seem to cause weird race conditions, which are time-consuming to diagnose and fix.