Skip to content

Commit 91f7ee6

Browse files
authored
Fix route notification
On Android ignore the dynamic roots in the route notifications
1 parent 7c6b85b commit 91f7ee6

File tree

1 file changed

+10
-22
lines changed

1 file changed

+10
-22
lines changed

client/internal/routemanager/notifier/notifier.go

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ func (n *Notifier) SetListener(listener listener.NetworkChangeListener) {
3232
func (n *Notifier) SetInitialClientRoutes(clientRoutes []*route.Route) {
3333
nets := make([]string, 0)
3434
for _, r := range clientRoutes {
35-
// filter out domain routes
3635
if r.IsDynamic() {
3736
continue
3837
}
@@ -46,50 +45,39 @@ func (n *Notifier) OnNewRoutes(idMap route.HAMap) {
4645
if runtime.GOOS != "android" {
4746
return
4847
}
49-
newNets := make([]string, 0)
48+
49+
var newNets []string
5050
for _, routes := range idMap {
5151
for _, r := range routes {
52+
if r.IsDynamic() {
53+
continue
54+
}
5255
newNets = append(newNets, r.Network.String())
5356
}
5457
}
5558

5659
sort.Strings(newNets)
57-
switch runtime.GOOS {
58-
case "android":
59-
if !n.hasDiff(n.initialRouteRanges, newNets) {
60-
return
61-
}
62-
default:
63-
if !n.hasDiff(n.routeRanges, newNets) {
64-
return
65-
}
60+
if !n.hasDiff(n.initialRouteRanges, newNets) {
61+
return
6662
}
6763

6864
n.routeRanges = newNets
69-
7065
n.notify()
7166
}
7267

68+
// OnNewPrefixes is called from iOS only
7369
func (n *Notifier) OnNewPrefixes(prefixes []netip.Prefix) {
7470
newNets := make([]string, 0)
7571
for _, prefix := range prefixes {
7672
newNets = append(newNets, prefix.String())
7773
}
7874

7975
sort.Strings(newNets)
80-
switch runtime.GOOS {
81-
case "android":
82-
if !n.hasDiff(n.initialRouteRanges, newNets) {
83-
return
84-
}
85-
default:
86-
if !n.hasDiff(n.routeRanges, newNets) {
87-
return
88-
}
76+
if !n.hasDiff(n.routeRanges, newNets) {
77+
return
8978
}
9079

9180
n.routeRanges = newNets
92-
9381
n.notify()
9482
}
9583

0 commit comments

Comments
 (0)