Commit c8b67a0
deps: use mudler/go-libp2p-pubsub fork to enable pubsub over relayed conns (#1027)
Upstream go-libp2p-pubsub silently drops every pubsub peer whose only
connection to the local host is network.Limited (i.e. via a libp2p
relay/circuit-v2 path) — three filters in handlePendingPeers,
watchForNewPeers, and handleNewPeer each gate strictly on
network.Connected. NAT-traversed clusters that get a working AutoRelay
connection but where DCUtR hole-punching doesn't succeed (e.g. QEMU
slirp NAT, double-NAT residential setups) therefore see their libp2p
hosts as "connected both ways" while the ledger never propagates.
Use mudler/go-libp2p-pubsub#feat/allow-pubsub-over-limited-connections
(branch off upstream master) via a replace directive, until the
upstream PR merges. Verified end-to-end with a standalone reproducer:
two hosts behind a relay with a ConnectionGater that blocks all direct
addresses, A→B pubsub message arrives in sub-second with the fork
versus 60s+ timeout against stock pubsub.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 22d1474 commit c8b67a0
2 files changed
Lines changed: 8 additions & 91 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
58 | 57 | | |
59 | 58 | | |
60 | 59 | | |
| |||
85 | 84 | | |
86 | 85 | | |
87 | 86 | | |
88 | | - | |
89 | 87 | | |
90 | 88 | | |
91 | 89 | | |
| |||
125 | 123 | | |
126 | 124 | | |
127 | 125 | | |
128 | | - | |
129 | 126 | | |
130 | 127 | | |
131 | 128 | | |
| |||
134 | 131 | | |
135 | 132 | | |
136 | 133 | | |
137 | | - | |
138 | | - | |
139 | 134 | | |
140 | 135 | | |
141 | 136 | | |
142 | | - | |
143 | | - | |
144 | 137 | | |
145 | 138 | | |
146 | 139 | | |
147 | 140 | | |
148 | | - | |
149 | 141 | | |
150 | 142 | | |
151 | 143 | | |
| |||
171 | 163 | | |
172 | 164 | | |
173 | 165 | | |
| 166 | + | |
| 167 | + | |
0 commit comments