fix(tsconnect): restart map poll after SetExplicitServices
The previous implementation only triggered a lite map update (non-streaming, OmitPeers=true), whose response is discarded. This meant notifyNetMap was never called after setServices, so self.services was never visible to the local node and peers received the update only on their next periodic poll. Add RestartMap() to controlclient.Auto and call it from SetExplicitServices after the lite update. This cancels the current streaming poll and starts a fresh one, causing the control server to send back a full netmap that includes the updated SelfNode.Hostinfo.Services. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -302,6 +302,12 @@ func (c *Auto) restartMap() {
|
||||
c.updateControl()
|
||||
}
|
||||
|
||||
// RestartMap cancels the existing map poll and starts a fresh streaming one,
|
||||
// forcing the control server to send a new full netmap response.
|
||||
func (c *Auto) RestartMap() {
|
||||
c.restartMap()
|
||||
}
|
||||
|
||||
func (c *Auto) authRoutine() {
|
||||
defer close(c.authDone)
|
||||
bo := backoff.NewBackoff("authRoutine", c.logf, 30*time.Second)
|
||||
|
||||
Reference in New Issue
Block a user