WEAVE_TIMEOUT
How long a weave waits to reach its first peer before giving up.
This bounds rendezvous, not delivery: the clock covers discovery, dialling and the fabric's own handshake, and stops the moment the seam has a peer. It is deliberately finite — a weave that waits forever gives a consumer no way to tell "still looking" from "wedged" — and deliberately generous, because the slow paths it has to clear are a cold mDNS cache, an AWDL link coming up, and a relay's TLS handshake, each of which can take seconds on its own. A "wait for a friend to join" lobby wants a much larger value and should pass one explicitly.
The value is the one every fabric that bounds a weave already converged on independently: NwLoom.DEFAULT_WEAVE_TIMEOUT and :kuilt-webrtc's handshake runner both chose it before this constant existed. It is a shared default, not a measured optimum.
A fabric carrying the same number is not automatically a client of this constant. :kuilt-nearby's connect state machine also uses 30 s, but it bounds one connection's handshake with discovery outside the clock — NearbyLoom.DEFAULT_HANDSHAKE_TIMEOUT, a different population that moves independently (#1430). Check what a candidate's clock actually starts and stops on before folding it in here.