vscode/cli/Cargo.toml
Connor Peet db135a575a
cli: fix decompression loop stalling (#191512)
Fixes #191501

It turns out this was a difference in inflate/deflate implementations
between the extension/SDK and the CLI. The SDK uses Node's zlib bindings,
while by default Rust's flate2 library uses a rust port of [miniz][1].
The 'logic' in the CLI was good, but miniz does not appear to flush
decompressed data as nicely on SYNC'd boundaries as zlib does, which
caused data to 'stall'. Telling the flate2 crate to use the native
bindings fixed this.

This could also be the cause of the flakiness occasionally seen on idle
tunnel connections!

[1]: https://github.com/richgel999/miniz
2023-08-28 21:51:04 +02:00

85 lines
2.5 KiB
TOML

[package]
name = "code-cli"
version = "0.1.0"
edition = "2021"
default-run = "code"
[lib]
name = "cli"
path = "src/lib.rs"
[[bin]]
name = "code"
[dependencies]
futures = "0.3.28"
clap = { version = "4.3.0", features = ["derive", "env"] }
open = "4.1.0"
reqwest = { version = "0.11.18", default-features = false, features = ["json", "stream", "native-tls"] }
tokio = { version = "1.28.2", features = ["full"] }
tokio-util = { version = "0.7.8", features = ["compat", "codec"] }
flate2 = { version = "1.0.26", default-features = false, features = ["zlib"] }
zip = { version = "0.6.6", default-features = false, features = ["time", "deflate-zlib"] }
regex = "1.8.3"
lazy_static = "1.4.0"
sysinfo = { version = "0.29.0", default-features = false }
serde = { version = "1.0.163", features = ["derive"] }
serde_json = "1.0.96"
rmp-serde = "1.1.1"
uuid = { version = "1.3.3", features = ["serde", "v4"] }
dirs = "5.0.1"
rand = "0.8.5"
opentelemetry = { version = "0.19.0", features = ["rt-tokio"] }
serde_bytes = "0.11.9"
chrono = { version = "0.4.26", features = ["serde", "std", "clock"], default-features = false }
gethostname = "0.4.3"
libc = "0.2.144"
tunnels = { git = "https://github.com/microsoft/dev-tunnels", rev = "3141ad7be00e18c4231f7c4fb6c11f9219ac49af", default-features = false, features = ["connections"] }
keyring = { version = "2.0.3", default-features = false, features = ["linux-secret-service-rt-tokio-crypto-openssl"] }
dialoguer = "0.10.4"
hyper = { version = "0.14.26", features = ["server", "http1", "runtime"] }
indicatif = "0.17.4"
tempfile = "3.5.0"
clap_lex = "0.5.0"
url = "2.3.1"
async-trait = "0.1.68"
log = "0.4.18"
const_format = "0.2.31"
sha2 = "0.10.6"
base64 = "0.21.2"
shell-escape = "0.1.5"
thiserror = "1.0.40"
cfg-if = "1.0.0"
pin-project = "1.1.0"
console = "0.15.7"
bytes = "1.4.0"
tar = "0.4.38"
[build-dependencies]
serde = { version="1.0.163", features = ["derive"] }
serde_json = "1.0.96"
[target.'cfg(windows)'.dependencies]
winreg = "0.50.0"
winapi = "0.3.9"
[target.'cfg(target_os = "macos")'.dependencies]
core-foundation = "0.9.3"
[target.'cfg(target_os = "linux")'.dependencies]
zbus = { version = "3.13.1", default-features = false, features = ["tokio"] }
[patch.crates-io]
russh = { git = "https://github.com/microsoft/vscode-russh", branch = "main" }
russh-cryptovec = { git = "https://github.com/microsoft/vscode-russh", branch = "main" }
russh-keys = { git = "https://github.com/microsoft/vscode-russh", branch = "main" }
[profile.release]
strip = true
lto = true
codegen-units = 1
[features]
default = []
vscode-encrypt = []