Files
firezone/rust/connlib
Gabi 70faecc2df Connlib/fix stability issues (#1974)
When we lost networks(or change them), the phoenix channel didn't detect
that the connection was lost, since the underlying websocket doesn't
return an error if it's not closed gracefully.

So we expect the heartbeat at some point to consider the connection
down.

Furthermore, while the connection is down sending the connection intents
to the portal fails silently, so now we re-try the message until we get
a response and built some race-condition protections in case we get
multiple or stale responses.
2023-09-05 15:50:36 +00:00
..
2023-09-05 15:50:36 +00:00
2023-07-03 18:48:55 +00:00

Connlib

Firezone's connectivity library shared by all clients.

🚧 Disclaimer 🚧

NOTE: This repository is undergoing heavy construction. You could say we're Building In The Open™ in true open source spirit. Do not attempt to use anything released here until this notice is removed. You have been warned.

Building Connlib

Setting the CONNLIB_MOCK environment variable when packaging for Apple or Android will activate the mock feature flag, replacing connlib's normal connection logic with a mock for testing purposes.

  1. You'll need a Rust toolchain installed if you don't have one already. We recommend following the instructions at https://rustup.rs.
  2. rustup show will install all needed targets since they are added to rust-toolchain.toml.
  3. Follow the relevant instructions for your platform:
  4. Apple
  5. Android
  6. Linux
  7. Windows

Apple

Connlib should build successfully with recent macOS and Xcode versions assuming you have Rust installed. If not, open a PR with the notes you found.

Android

Linux

Windows