mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
The `connlib-shared` crate has become a bit of a dependency magnet without a clear purpose. It hosts utilities like `get_user_agent`, messages for the client and gateway to communicate with the portal and domain types like `ResourceId`. To create a better dependency structure in our workspace, we repurpose `connlib-shared` as a `connlib-model` crate. Its purpose is to host domain-specific model types that multiple crates may want to use. For that purpose, we rename the `callbacks::ResourceDescription` type to `ResourceView`, designating that this is a _view_ onto a resource as seen by `connlib`. The message types which currently double up as connlib-internal model thus become an implementation detail of `firezone-tunnel` and shouldn't be used for anything else. --------- Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com> Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
55 lines
1.9 KiB
TOML
55 lines
1.9 KiB
TOML
[package]
|
|
name = "firezone-gui-client-common"
|
|
# mark:next-gui-version
|
|
version = "1.3.8"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
anyhow = { version = "1.0" }
|
|
arboard = { version = "3.4.0", default-features = false }
|
|
atomicwrites = { workspace = true }
|
|
connlib-model = { workspace = true }
|
|
firezone-bin-shared = { workspace = true }
|
|
firezone-headless-client = { path = "../../headless-client" }
|
|
firezone-logging = { workspace = true }
|
|
firezone-telemetry = { workspace = true }
|
|
futures = { version = "0.3", default-features = false }
|
|
hex = "0.4.3"
|
|
native-dialog = "0.7.0"
|
|
output_vt100 = "0.1"
|
|
png = "0.17.13" # `png` is mostly free since we already need it for Tauri
|
|
rand = "0.8.5"
|
|
reqwest = { version = "0.12.5", default-features = false, features = ["stream", "rustls-tls"] }
|
|
sadness-generator = "0.6.0"
|
|
secrecy = { workspace = true }
|
|
semver = { version = "1.0.22", features = ["serde"] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
subtle = "2.5.0"
|
|
thiserror = { version = "1.0", default-features = false }
|
|
time = { version = "0.3.36", features = ["formatting"] }
|
|
tokio = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-log = "0.2"
|
|
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
|
|
url = { version = "2.5.2" }
|
|
uuid = { version = "1.10.0", features = ["v4"] }
|
|
zip = { version = "2", features = ["deflate", "time"], default-features = false }
|
|
|
|
[dependencies.keyring]
|
|
version = "3.2.1"
|
|
features = [
|
|
"crypto-rust", # Don't rely on OpenSSL
|
|
"sync-secret-service", # Can't use Tokio because of <https://github.com/hwchen/keyring-rs/issues/132>
|
|
"windows-native", # Yes, really, we must actually explicitly ask for every platform. Otherwise it defaults to an in-memory mock store. Really. That's really how `keyring` 3.x is designed.
|
|
]
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
dirs = "5.0.1"
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
winreg = "0.52.0"
|
|
|
|
[lints]
|
|
workspace = true
|