mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-03-21 22:42:06 +00:00
Closes #6576 This recreates the callback channel on every connect / disconnect cycle, to prevent this sequence: 1. Start connlib 2. Fail in `make_tun` 3. Spend several seconds doing platform-specific things 4. Stop connlib (since `make_tun` failed) 5. Come back to the main loop to find a bunch of queued-up callbacks even though connlib is supposed to be stopped. Instead we get: 5\. Come back to the main loop and we've dropped the callback receiver, so any callbacks that connlib sent while we were busy are either dropped or not even sent.