Merge branch 'main' into refactor/relay-foreign-cache

Resolve conflicts in shared/relay/client/manager.go:

- NewManager: keep both sides. main's serverPicker.NetEvents wiring and
  this branch's ForeignRelaysStore construction are independent.
- openConnVia/openConnOnTrack: take this branch's deletion. main refined
  the RelayTrack rt.ready locking, but this branch replaces that machinery
  with the singleflight-based ForeignRelaysStore, so the refinement applies
  to a code path that no longer exists.

Carry main's netEvents plumbing into the new store so foreign relay dials
are still registered for the network change sweep.
This commit is contained in:
Zoltán Papp
2026-08-25 19:14:30 +02:00
744 changed files with 66813 additions and 11673 deletions
+1 -1
View File
@@ -73,7 +73,7 @@ func TestHandleResult_PreferredFailsStartsOther(t *testing.T) {
// The fallback attempt opens against a stalling listener so startOther's
// goroutine blocks on Connect until raceCtx is cancelled by t.Cleanup.
serverAddr, _ := stallingRelayListener(t)
c.opener.foreignStore = NewForeignRelaysStore(c.raceCtx, hmacTokenStore, "alice", 1280, newTransportFallback(), func(string) {}, keepUnusedServerTime)
c.opener.foreignStore = NewForeignRelaysStore(c.raceCtx, hmacTokenStore, "alice", 1280, newTransportFallback(), nil, func(string) {}, keepUnusedServerTime)
c.remoteRelayServer = RelayServer{Addr: serverAddr}
c.preferForeign = false