Skip to content

Commit 98ad5bd

Browse files
authored
feat: finish multiplexer protocol and functionality (#439)
* feat: multiplexer abc * clean up * clean up deps * Add mux alias * add ping * clean up names * clean up mux * fix test * Address comments * Add Q_TERM_DISABLED
1 parent ab0ef29 commit 98ad5bd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1502
-709
lines changed

Cargo.lock

+56-29
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+23-2
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,13 @@ fig_telemetry = { path = "crates/fig_telemetry" }
7373
fig_telemetry_core = { path = "crates/fig_telemetry_core" }
7474
fig_test_utils = { path = "crates/fig_test_utils" }
7575
fig_util = { path = "crates/fig_util" }
76+
flate2 = "1.0.35"
77+
flume = "0.11.0"
78+
futures = "0.3.26"
79+
globset = "0.4.10"
7680
hex = "0.4.3"
7781
http = "1.2.0"
82+
indicatif = "0.17.3"
7883
indoc = "2.0.5"
7984
insta = "1.38.0"
8085
libc = "0.2.167"
@@ -93,11 +98,14 @@ objc2 = "0.5.2"
9398
objc2-app-kit = "0.2.2"
9499
objc2-foundation = "0.2.2"
95100
objc2-input-method-kit = "0.2.2"
101+
parking_lot = "0.12.3"
96102
percent-encoding = "2.2.0"
97103
portable-pty = "0.8.1"
104+
r2d2 = "0.8.10"
105+
r2d2_sqlite = "0.25.0"
98106
rand = "0.8.5"
99107
regex = "1.7.0"
100-
reqwest = { version = "0.12.5", default-features = false, features = [
108+
reqwest = { version = "0.12.12", default-features = false, features = [
101109
# defaults except tls
102110
"http2",
103111
"charset",
@@ -111,6 +119,7 @@ reqwest = { version = "0.12.5", default-features = false, features = [
111119
"cookies",
112120
] }
113121
ring = "0.17.8"
122+
rusqlite = { version = "0.32.1", features = ["bundled", "serde_json"] }
114123
shell-color = { path = "crates/shell-color" }
115124
semver = { version = "1.0.16", features = ["serde"] }
116125
serde = { version = "1.0.216", features = ["derive", "rc"] }
@@ -128,7 +137,8 @@ time = { version = "0.3.34", features = [
128137
"serde",
129138
] }
130139
tokio = { version = "1.42.0", features = ["full"] }
131-
tokio-util = { version = "0.7.13", features = ["compat"] }
140+
tokio-tungstenite = "0.26.1"
141+
tokio-util = { version = "0.7.13", features = ["codec", "compat"] }
132142
toml = "0.8.12"
133143
tracing = { version = "0.1.40", features = ["log"] }
134144
tracing-subscriber = { version = "0.3.19", features = [
@@ -137,9 +147,20 @@ tracing-subscriber = { version = "0.3.19", features = [
137147
"parking_lot",
138148
"time",
139149
] }
150+
unicode-width = "0.2.0"
151+
url = "2.5.4"
140152
uuid = { version = "1.8.0", features = ["v4", "serde"] }
153+
walkdir = "2.5.0"
141154
which = "6.0.3"
142155
whoami = "1.5.1"
156+
winnow = "0.6.2"
157+
158+
# Keep these minor synced with reqwest
159+
# https://github.com/seanmonstar/reqwest/blob/v0.12.12/Cargo.toml
160+
rustls = "0.23.21"
161+
rustls-native-certs = "0.8.1"
162+
webpki-roots = "0.26.0"
163+
143164

144165
[workspace.lints.rust]
145166
future_incompatible = "warn"

build-scripts/build.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -793,16 +793,13 @@ def build(
793793
else:
794794
signing_data = None
795795

796-
cargo_features: Mapping[str, Sequence[str]] = {}
796+
cargo_features: Mapping[str, Sequence[str]] = {"q_cli/wayland"}
797+
797798
match stage_name:
798799
case "prod" | None:
799800
info("Building for prod")
800801
case "gamma":
801802
info("Building for gamma")
802-
cargo_features = {
803-
CLI_PACKAGE_NAME: [f"{CLI_PACKAGE_NAME}/gamma"],
804-
DESKTOP_PACKAGE_NAME: [f"{DESKTOP_PACKAGE_NAME}/gamma"],
805-
}
806803
case _:
807804
raise ValueError(f"Unknown stage name: {stage_name}")
808805

crates/alacritty_terminal/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ serde.workspace = true
2222
serde_yaml = "0.9"
2323
shell-color.workspace = true
2424
tracing.workspace = true
25-
unicode-width = "0.2"
25+
unicode-width.workspace = true
2626
vte = { version = "0.13.0", default-features = false }
2727

2828
[dev-dependencies]

crates/fig_api_client/Cargo.toml

+1-2
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,8 @@ strum = { version = "0.26.1", features = ["derive"] }
3939
thiserror.workspace = true
4040
time.workspace = true
4141
tokio.workspace = true
42-
tower = "0.5.1"
4342
tracing.workspace = true
44-
url = { version = "2.5.4", features = ["serde"] }
43+
url = { workspace = true, features = ["serde"] }
4544
which.workspace = true
4645

4746
[dev-dependencies]

crates/fig_desktop/Cargo.toml

+5-6
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ resource = "./autocomplete-icons/*"
2828

2929
[features]
3030
default = []
31-
gamma = ["fig_install/gamma"]
3231
# console = ["tokio/tracing", "fig_log/console"]
3332
# Required for cargo-tauri CLI
3433
custom-protocol = []
@@ -56,18 +55,18 @@ fig_request.workspace = true
5655
fig_settings.workspace = true
5756
fig_telemetry.workspace = true
5857
fig_util.workspace = true
59-
flume = "0.11.0"
58+
flume.workspace = true
6059
fnv = "1.0.7"
61-
futures = "0.3.30"
62-
http = "1.1.0"
60+
futures.workspace = true
61+
http.workspace = true
6362
image = "0.25.0"
6463
infer = "0.16.0"
6564
keyboard-types = "0.7.0"
6665
mime = "0.3.17"
6766
moka = { version = "0.12.1", features = ["future"] }
6867
muda = { version = "0.15.3", default-features = false }
6968
notify = "7.0.0"
70-
parking_lot = { version = "0.12.1", features = ["serde"] }
69+
parking_lot = { workspace = true, features = ["serde"] }
7170
paste = "1.0.11"
7271
percent-encoding.workspace = true
7372
rand.workspace = true
@@ -84,7 +83,7 @@ time.workspace = true
8483
tokio.workspace = true
8584
tracing.workspace = true
8685
tray-icon = { version = "0.19.2", default-features = false }
87-
url = "2.5.4"
86+
url.workspace = true
8887
uuid.workspace = true
8988
which.workspace = true
9089
whoami.workspace = true

0 commit comments

Comments
 (0)