diff --git a/rust/connlib/tunnel/src/client.rs b/rust/connlib/tunnel/src/client.rs index f2ab915f5..1795924dd 100644 --- a/rust/connlib/tunnel/src/client.rs +++ b/rust/connlib/tunnel/src/client.rs @@ -89,9 +89,14 @@ impl ClientTunnel { } pub fn set_disabled_resources(&mut self, new_disabled_resources: BTreeSet) { + let old_routes = HashSet::::from_iter(self.role_state.routes()); self.role_state .set_disabled_resource(new_disabled_resources); + if HashSet::::from_iter(self.role_state.routes()) == old_routes { + return; + } + self.role_state .buffered_events .push_back(ClientEvent::TunRoutesUpdated { diff --git a/website/src/components/Changelog/Android.tsx b/website/src/components/Changelog/Android.tsx index 688e9f18c..b6e4ede59 100644 --- a/website/src/components/Changelog/Android.tsx +++ b/website/src/components/Changelog/Android.tsx @@ -9,6 +9,17 @@ export default function Android() { href="https://play.google.com/store/apps/details?id=dev.firezone.android" title="Android" > + {/* + +
    + + Fixes a bug where packets would be lost when a connection is first + established to a gateway, due to routes being updated with no actual + change. + +
+
+ */}
    diff --git a/website/src/components/Changelog/Apple.tsx b/website/src/components/Changelog/Apple.tsx index 2dcef1b72..b630ea8d0 100644 --- a/website/src/components/Changelog/Apple.tsx +++ b/website/src/components/Changelog/Apple.tsx @@ -15,6 +15,11 @@ export default function Apple() { Shows the Git SHA corresponding to the build on the Settings -> Advanced screen. + + Fixes a bug where packets would be lost when a connection is first + established to a gateway, due to routes being updated with no actual + change. +
*/}