| 1 | --- a/ipn/ipnlocal/local.go |
| 2 | +++ b/ipn/ipnlocal/local.go |
| 3 | @@ -707,7 +707,12 @@ |
| 4 | eventbus.SubscribeFunc(ec, b.onHealthChange) |
| 5 | } |
| 6 | if buildfeatures.HasPortList { |
| 7 | - eventbus.SubscribeFunc(ec, b.setPortlistServices) |
| 8 | + // PortlistServices is a named eventbus topic. Register the exact named |
| 9 | + // type; subscribing with []tailcfg.Service silently misses every event. |
| 10 | + // See https://github.com/tailscale/tailscale/issues/18297. |
| 11 | + eventbus.SubscribeFunc(ec, func(sl PortlistServices) { |
| 12 | + b.setPortlistServices([]tailcfg.Service(sl)) |
| 13 | + }) |
| 14 | } |
| 15 | eventbus.SubscribeFunc(ec, b.onAppConnectorRouteUpdate) |
| 16 | eventbus.SubscribeFunc(ec, b.onAppConnectorStoreRoutes) |