From 0aee09eb0d2d2073166a94b35e188708af70bbf3 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Tue, 14 Jul 2026 10:59:10 +0200 Subject: [PATCH] language_model: Fix compilation on wasm (#60955) Release Notes: - N/A or Added/Fixed/Improved ... --- Cargo.lock | 31 ++++++++++++++++------------ Cargo.toml | 1 + crates/language_model/Cargo.toml | 4 ++-- crates/language_model/src/api_key.rs | 2 +- crates/language_model/src/request.rs | 2 +- crates/scheduler/Cargo.toml | 2 +- 6 files changed, 24 insertions(+), 18 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f1a64ec5fe..6a8cfe5c98 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6507,6 +6507,9 @@ name = "fastrand" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +dependencies = [ + "getrandom 0.2.16", +] [[package]] name = "fax" @@ -6729,7 +6732,18 @@ checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" dependencies = [ "futures-core", "futures-sink", - "nanorand", + "spin 0.9.8", +] + +[[package]] +name = "flume" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e139bc46ca777eb5efaf62df0ab8cc5fd400866427e56c68b22e414e53bd3be" +dependencies = [ + "fastrand 2.3.0", + "futures-core", + "futures-sink", "spin 0.9.8", ] @@ -9782,6 +9796,7 @@ dependencies = [ "env_var", "futures 0.3.32", "gpui", + "gpui_util", "http_client", "icons", "image", @@ -9791,7 +9806,6 @@ dependencies = [ "serde", "serde_json", "thiserror 2.0.17", - "util", ] [[package]] @@ -11364,15 +11378,6 @@ dependencies = [ "rand 0.8.6", ] -[[package]] -name = "nanorand" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" -dependencies = [ - "getrandom 0.2.16", -] - [[package]] name = "native-tls" version = "0.2.18" @@ -16039,7 +16044,7 @@ dependencies = [ "async-task", "backtrace", "chrono", - "flume", + "flume 0.12.0", "futures 0.3.32", "parking_lot", "rand 0.9.4", @@ -17522,7 +17527,7 @@ checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" dependencies = [ "atoi", "chrono", - "flume", + "flume 0.11.1", "futures-channel", "futures-core", "futures-executor", diff --git a/Cargo.toml b/Cargo.toml index 45086218b3..26324298e4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -597,6 +597,7 @@ encoding_rs = "0.8" exec = "0.3.1" fancy-regex = "0.18.0" fork = "0.4.0" +flume = "0.12" futures = "0.3.32" futures-concurrency = "7.7.1" futures-lite = "1.13" diff --git a/crates/language_model/Cargo.toml b/crates/language_model/Cargo.toml index d679588138..2f0a6911f4 100644 --- a/crates/language_model/Cargo.toml +++ b/crates/language_model/Cargo.toml @@ -17,12 +17,13 @@ test-support = [] [dependencies] anyhow.workspace = true -credentials_provider.workspace = true base64.workspace = true collections.workspace = true +credentials_provider.workspace = true env_var.workspace = true futures.workspace = true gpui.workspace = true +gpui_util.workspace = true http_client.workspace = true icons.workspace = true image.workspace = true @@ -32,7 +33,6 @@ parking_lot.workspace = true serde.workspace = true serde_json.workspace = true thiserror.workspace = true -util.workspace = true [dev-dependencies] gpui = { workspace = true, features = ["test-support"] } diff --git a/crates/language_model/src/api_key.rs b/crates/language_model/src/api_key.rs index 4be5a64d3d..e2645d37f0 100644 --- a/crates/language_model/src/api_key.rs +++ b/crates/language_model/src/api_key.rs @@ -3,11 +3,11 @@ use credentials_provider::CredentialsProvider; use env_var::EnvVar; use futures::{FutureExt, future}; use gpui::{AsyncApp, Context, SharedString, Task}; +use gpui_util::ResultExt as _; use std::{ fmt::{Display, Formatter}, sync::Arc, }; -use util::ResultExt as _; use crate::AuthenticateError; diff --git a/crates/language_model/src/request.rs b/crates/language_model/src/request.rs index b4dedbbd7b..fdea3d7dc7 100644 --- a/crates/language_model/src/request.rs +++ b/crates/language_model/src/request.rs @@ -6,9 +6,9 @@ use base64::{Engine as _, write::EncoderWriter}; use gpui::{ App, AppContext as _, DevicePixels, Image, ImageFormat, ObjectFit, Size, Task, point, px, size, }; +use gpui_util::ResultExt; use image::GenericImageView as _; use image::codecs::png::PngEncoder; -use util::ResultExt; use language_model_core::{ImageSize, LanguageModelImage}; diff --git a/crates/scheduler/Cargo.toml b/crates/scheduler/Cargo.toml index bc97b17b28..98fe3b0197 100644 --- a/crates/scheduler/Cargo.toml +++ b/crates/scheduler/Cargo.toml @@ -19,7 +19,7 @@ test-support = [] async-task.workspace = true backtrace.workspace = true chrono.workspace = true -flume = "0.11" +flume.workspace = true futures.workspace = true parking_lot.workspace = true rand.workspace = true