remove redundant or unused deps (#1462)
This commit is contained in:
committed by
GitHub
parent
45d0359118
commit
08d8848346
118
Cargo.lock
generated
118
Cargo.lock
generated
@@ -466,41 +466,13 @@ version = "1.5.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "axum"
|
|
||||||
version = "0.7.9"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f"
|
|
||||||
dependencies = [
|
|
||||||
"async-trait",
|
|
||||||
"axum-core 0.4.5",
|
|
||||||
"bytes",
|
|
||||||
"futures-util",
|
|
||||||
"http 1.3.1",
|
|
||||||
"http-body",
|
|
||||||
"http-body-util",
|
|
||||||
"itoa",
|
|
||||||
"matchit 0.7.3",
|
|
||||||
"memchr",
|
|
||||||
"mime",
|
|
||||||
"percent-encoding",
|
|
||||||
"pin-project-lite",
|
|
||||||
"rustversion",
|
|
||||||
"serde",
|
|
||||||
"sync_wrapper",
|
|
||||||
"tower",
|
|
||||||
"tower-layer",
|
|
||||||
"tower-service",
|
|
||||||
"tracing",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "axum"
|
name = "axum"
|
||||||
version = "0.8.6"
|
version = "0.8.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8a18ed336352031311f4e0b4dd2ff392d4fbb370777c9d18d7fc9d7359f73871"
|
checksum = "8a18ed336352031311f4e0b4dd2ff392d4fbb370777c9d18d7fc9d7359f73871"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"axum-core 0.5.5",
|
"axum-core",
|
||||||
"axum-macros",
|
"axum-macros",
|
||||||
"base64",
|
"base64",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -512,7 +484,7 @@ dependencies = [
|
|||||||
"hyper",
|
"hyper",
|
||||||
"hyper-util",
|
"hyper-util",
|
||||||
"itoa",
|
"itoa",
|
||||||
"matchit 0.8.4",
|
"matchit",
|
||||||
"memchr",
|
"memchr",
|
||||||
"mime",
|
"mime",
|
||||||
"multer",
|
"multer",
|
||||||
@@ -532,27 +504,6 @@ dependencies = [
|
|||||||
"tracing",
|
"tracing",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "axum-core"
|
|
||||||
version = "0.4.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199"
|
|
||||||
dependencies = [
|
|
||||||
"async-trait",
|
|
||||||
"bytes",
|
|
||||||
"futures-util",
|
|
||||||
"http 1.3.1",
|
|
||||||
"http-body",
|
|
||||||
"http-body-util",
|
|
||||||
"mime",
|
|
||||||
"pin-project-lite",
|
|
||||||
"rustversion",
|
|
||||||
"sync_wrapper",
|
|
||||||
"tower-layer",
|
|
||||||
"tower-service",
|
|
||||||
"tracing",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "axum-core"
|
name = "axum-core"
|
||||||
version = "0.5.5"
|
version = "0.5.5"
|
||||||
@@ -572,38 +523,14 @@ dependencies = [
|
|||||||
"tracing",
|
"tracing",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "axum-extra"
|
|
||||||
version = "0.9.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c794b30c904f0a1c2fb7740f7df7f7972dfaa14ef6f57cb6178dc63e5dca2f04"
|
|
||||||
dependencies = [
|
|
||||||
"axum 0.7.9",
|
|
||||||
"axum-core 0.4.5",
|
|
||||||
"bytes",
|
|
||||||
"fastrand",
|
|
||||||
"futures-util",
|
|
||||||
"headers",
|
|
||||||
"http 1.3.1",
|
|
||||||
"http-body",
|
|
||||||
"http-body-util",
|
|
||||||
"mime",
|
|
||||||
"multer",
|
|
||||||
"pin-project-lite",
|
|
||||||
"serde",
|
|
||||||
"tower",
|
|
||||||
"tower-layer",
|
|
||||||
"tower-service",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "axum-extra"
|
name = "axum-extra"
|
||||||
version = "0.10.3"
|
version = "0.10.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9963ff19f40c6102c76756ef0a46004c0d58957d87259fc9208ff8441c12ab96"
|
checksum = "9963ff19f40c6102c76756ef0a46004c0d58957d87259fc9208ff8441c12ab96"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"axum 0.8.6",
|
"axum",
|
||||||
"axum-core 0.5.5",
|
"axum-core",
|
||||||
"bytes",
|
"bytes",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"headers",
|
"headers",
|
||||||
@@ -1285,7 +1212,7 @@ version = "0.0.131"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"axum 0.8.6",
|
"axum",
|
||||||
"db",
|
"db",
|
||||||
"executors",
|
"executors",
|
||||||
"futures",
|
"futures",
|
||||||
@@ -1636,7 +1563,7 @@ version = "0.0.131"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"agent-client-protocol",
|
"agent-client-protocol",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"axum 0.8.6",
|
"axum",
|
||||||
"bon",
|
"bon",
|
||||||
"bytes",
|
"bytes",
|
||||||
"chrono",
|
"chrono",
|
||||||
@@ -1651,9 +1578,7 @@ dependencies = [
|
|||||||
"fork_stream",
|
"fork_stream",
|
||||||
"futures",
|
"futures",
|
||||||
"futures-io",
|
"futures-io",
|
||||||
"icu_provider",
|
|
||||||
"json-patch",
|
"json-patch",
|
||||||
"lazy_static",
|
|
||||||
"mcp-types",
|
"mcp-types",
|
||||||
"os_pipe",
|
"os_pipe",
|
||||||
"regex",
|
"regex",
|
||||||
@@ -2923,8 +2848,6 @@ dependencies = [
|
|||||||
"globwalk",
|
"globwalk",
|
||||||
"json-patch",
|
"json-patch",
|
||||||
"nix 0.29.0",
|
"nix 0.29.0",
|
||||||
"notify",
|
|
||||||
"notify-debouncer-full",
|
|
||||||
"openssl-sys",
|
"openssl-sys",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
"sentry",
|
"sentry",
|
||||||
@@ -2997,12 +2920,6 @@ dependencies = [
|
|||||||
"regex-automata",
|
"regex-automata",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "matchit"
|
|
||||||
version = "0.7.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "matchit"
|
name = "matchit"
|
||||||
version = "0.8.4"
|
version = "0.8.4"
|
||||||
@@ -4021,12 +3938,11 @@ dependencies = [
|
|||||||
"aes-gcm",
|
"aes-gcm",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"axum 0.8.6",
|
"axum",
|
||||||
"axum-extra 0.10.3",
|
"axum-extra",
|
||||||
"base64",
|
"base64",
|
||||||
"chrono",
|
"chrono",
|
||||||
"futures",
|
"futures",
|
||||||
"hmac",
|
|
||||||
"jsonwebtoken 9.3.1",
|
"jsonwebtoken 9.3.1",
|
||||||
"rand 0.9.2",
|
"rand 0.9.2",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
@@ -4037,7 +3953,6 @@ dependencies = [
|
|||||||
"serde_json",
|
"serde_json",
|
||||||
"sha2",
|
"sha2",
|
||||||
"sqlx",
|
"sqlx",
|
||||||
"subtle",
|
|
||||||
"thiserror 2.0.17",
|
"thiserror 2.0.17",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
@@ -4712,8 +4627,7 @@ name = "server"
|
|||||||
version = "0.0.131"
|
version = "0.0.131"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"axum 0.8.6",
|
"axum",
|
||||||
"axum-extra 0.9.6",
|
|
||||||
"chrono",
|
"chrono",
|
||||||
"db",
|
"db",
|
||||||
"deployment",
|
"deployment",
|
||||||
@@ -4760,7 +4674,7 @@ version = "0.0.131"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"axum 0.8.6",
|
"axum",
|
||||||
"backon",
|
"backon",
|
||||||
"base64",
|
"base64",
|
||||||
"chrono",
|
"chrono",
|
||||||
@@ -4775,7 +4689,6 @@ dependencies = [
|
|||||||
"git2",
|
"git2",
|
||||||
"ignore",
|
"ignore",
|
||||||
"json-patch",
|
"json-patch",
|
||||||
"lazy_static",
|
|
||||||
"moka",
|
"moka",
|
||||||
"notify",
|
"notify",
|
||||||
"notify-debouncer-full",
|
"notify-debouncer-full",
|
||||||
@@ -4799,7 +4712,6 @@ dependencies = [
|
|||||||
"thiserror 2.0.17",
|
"thiserror 2.0.17",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
"tokio-tungstenite",
|
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"tracing",
|
"tracing",
|
||||||
"ts-rs 11.0.1",
|
"ts-rs 11.0.1",
|
||||||
@@ -5497,12 +5409,8 @@ checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"log",
|
"log",
|
||||||
"rustls",
|
|
||||||
"rustls-pki-types",
|
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-rustls",
|
|
||||||
"tungstenite",
|
"tungstenite",
|
||||||
"webpki-roots 0.26.11",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -5812,11 +5720,8 @@ dependencies = [
|
|||||||
"httparse",
|
"httparse",
|
||||||
"log",
|
"log",
|
||||||
"rand 0.9.2",
|
"rand 0.9.2",
|
||||||
"rustls",
|
|
||||||
"rustls-pki-types",
|
|
||||||
"sha1",
|
"sha1",
|
||||||
"thiserror 2.0.17",
|
"thiserror 2.0.17",
|
||||||
"url",
|
|
||||||
"utf-8",
|
"utf-8",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -5971,7 +5876,7 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
|||||||
name = "utils"
|
name = "utils"
|
||||||
version = "0.0.131"
|
version = "0.0.131"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"axum 0.8.6",
|
"axum",
|
||||||
"bytes",
|
"bytes",
|
||||||
"chrono",
|
"chrono",
|
||||||
"directories",
|
"directories",
|
||||||
@@ -5996,7 +5901,6 @@ dependencies = [
|
|||||||
"thiserror 2.0.17",
|
"thiserror 2.0.17",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
"tokio-tungstenite",
|
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"tracing",
|
"tracing",
|
||||||
"tracing-subscriber",
|
"tracing-subscriber",
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ async-trait = { workspace = true }
|
|||||||
directories = "6.0.0"
|
directories = "6.0.0"
|
||||||
command-group = { version = "5.0", features = ["with-tokio"] }
|
command-group = { version = "5.0", features = ["with-tokio"] }
|
||||||
regex = "1.11.1"
|
regex = "1.11.1"
|
||||||
lazy_static = "1.4"
|
|
||||||
json-patch = "2.0"
|
json-patch = "2.0"
|
||||||
thiserror = { workspace = true }
|
thiserror = { workspace = true }
|
||||||
enum_dispatch = "0.3.13"
|
enum_dispatch = "0.3.13"
|
||||||
@@ -45,7 +44,6 @@ codex-app-server-protocol = { git = "https://github.com/openai/codex.git", packa
|
|||||||
codex-mcp-types = { git = "https://github.com/openai/codex.git", package = "mcp-types", rev = "80d6a3868ef1414e0fb1c2e28a369f2ef4fa4dcc" }
|
codex-mcp-types = { git = "https://github.com/openai/codex.git", package = "mcp-types", rev = "80d6a3868ef1414e0fb1c2e28a369f2ef4fa4dcc" }
|
||||||
sha2 = "0.10"
|
sha2 = "0.10"
|
||||||
derivative = "2.2.0"
|
derivative = "2.2.0"
|
||||||
icu_provider = { version = "2.1.1", default-features = false, features = ["sync"] }
|
|
||||||
|
|
||||||
[target.'cfg(windows)'.dependencies]
|
[target.'cfg(windows)'.dependencies]
|
||||||
winsplit = "0.1.0"
|
winsplit = "0.1.0"
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
use std::{
|
use std::{
|
||||||
collections::HashMap,
|
collections::HashMap,
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
sync::Arc,
|
sync::{Arc, LazyLock},
|
||||||
};
|
};
|
||||||
|
|
||||||
use agent_client_protocol::{self as acp, SessionNotification};
|
use agent_client_protocol::{self as acp, SessionNotification};
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use lazy_static::lazy_static;
|
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
use tracing::debug;
|
use tracing::debug;
|
||||||
@@ -487,10 +486,8 @@ pub fn normalize_logs(msg_store: Arc<MsgStore>, worktree_path: &Path) {
|
|||||||
|
|
||||||
fn extract_url_from_text(text: &str) -> Option<String> {
|
fn extract_url_from_text(text: &str) -> Option<String> {
|
||||||
// Simple URL extractor
|
// Simple URL extractor
|
||||||
lazy_static! {
|
static URL_RE: LazyLock<Regex> =
|
||||||
static ref URL_RE: Regex =
|
LazyLock::new(|| Regex::new(r#"https?://[^\s"')]+"#).expect("valid regex"));
|
||||||
Regex::new(r#"https?://[^\s"')]+"#).expect("valid regex");
|
|
||||||
}
|
|
||||||
URL_RE.find(text).map(|m| m.as_str().to_string())
|
URL_RE.find(text).map(|m| m.as_str().to_string())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
use std::{
|
use std::{
|
||||||
collections::HashMap,
|
collections::HashMap,
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
sync::Arc,
|
sync::{Arc, LazyLock},
|
||||||
};
|
};
|
||||||
|
|
||||||
use codex_app_server_protocol::{
|
use codex_app_server_protocol::{
|
||||||
@@ -22,7 +22,6 @@ use codex_protocol::{
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use lazy_static::lazy_static;
|
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
@@ -1074,12 +1073,10 @@ fn build_command_output(stdout: Option<&str>, stderr: Option<&str>) -> Option<St
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lazy_static! {
|
static SESSION_ID: LazyLock<Regex> = LazyLock::new(|| {
|
||||||
static ref SESSION_ID: Regex = Regex::new(
|
Regex::new(r#"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})"#)
|
||||||
r#"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})"#
|
.expect("valid regex")
|
||||||
)
|
});
|
||||||
.expect("valid regex");
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug)]
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
pub enum Error {
|
pub enum Error {
|
||||||
|
|||||||
@@ -3,14 +3,13 @@ mod share_bridge;
|
|||||||
use std::{
|
use std::{
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
process::Stdio,
|
process::Stdio,
|
||||||
sync::Arc,
|
sync::{Arc, LazyLock},
|
||||||
};
|
};
|
||||||
|
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use command_group::AsyncCommandGroup;
|
use command_group::AsyncCommandGroup;
|
||||||
use fork_stream::StreamExt as _;
|
use fork_stream::StreamExt as _;
|
||||||
use futures::{StreamExt, future::ready, stream::BoxStream};
|
use futures::{StreamExt, future::ready, stream::BoxStream};
|
||||||
use lazy_static::lazy_static;
|
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
use schemars::JsonSchema;
|
use schemars::JsonSchema;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
@@ -982,10 +981,11 @@ pub struct TodoInfo {
|
|||||||
// Log interpretation UTILITIES
|
// Log interpretation UTILITIES
|
||||||
// =============================================================================
|
// =============================================================================
|
||||||
|
|
||||||
lazy_static! {
|
// Accurate regex for OpenCode log lines: LEVEL timestamp +ms ...
|
||||||
// Accurate regex for OpenCode log lines: LEVEL timestamp +ms ...
|
static OPENCODE_LOG_REGEX: LazyLock<Regex> = LazyLock::new(|| {
|
||||||
static ref OPENCODE_LOG_REGEX: Regex = Regex::new(r"^(INFO|DEBUG|WARN|ERROR)\s+\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\s+\+\d+\s*ms.*").unwrap();
|
Regex::new(r"^(INFO|DEBUG|WARN|ERROR)\s+\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\s+\+\d+\s*ms.*")
|
||||||
}
|
.unwrap()
|
||||||
|
});
|
||||||
|
|
||||||
/// Log utilities for OpenCode processing
|
/// Log utilities for OpenCode processing
|
||||||
pub struct LogUtils;
|
pub struct LogUtils;
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
use std::{collections::HashMap, fs, str::FromStr, sync::RwLock};
|
use std::{
|
||||||
|
collections::HashMap,
|
||||||
|
fs,
|
||||||
|
str::FromStr,
|
||||||
|
sync::{LazyLock, RwLock},
|
||||||
|
};
|
||||||
|
|
||||||
use convert_case::{Case, Casing};
|
use convert_case::{Case, Casing};
|
||||||
use lazy_static::lazy_static;
|
|
||||||
use serde::{Deserialize, Deserializer, Serialize, de::Error as DeError};
|
use serde::{Deserialize, Deserializer, Serialize, de::Error as DeError};
|
||||||
use thiserror::Error;
|
use thiserror::Error;
|
||||||
use ts_rs::TS;
|
use ts_rs::TS;
|
||||||
@@ -47,10 +51,8 @@ pub enum ProfileError {
|
|||||||
NoAvailableExecutorProfile,
|
NoAvailableExecutorProfile,
|
||||||
}
|
}
|
||||||
|
|
||||||
lazy_static! {
|
static EXECUTOR_PROFILES_CACHE: LazyLock<RwLock<ExecutorConfigs>> =
|
||||||
static ref EXECUTOR_PROFILES_CACHE: RwLock<ExecutorConfigs> =
|
LazyLock::new(|| RwLock::new(ExecutorConfigs::load()));
|
||||||
RwLock::new(ExecutorConfigs::load());
|
|
||||||
}
|
|
||||||
|
|
||||||
// New format default profiles (v3 - flattened)
|
// New format default profiles (v3 - flattened)
|
||||||
const DEFAULT_PROFILES_JSON: &str = include_str!("../default_profiles.json");
|
const DEFAULT_PROFILES_JSON: &str = include_str!("../default_profiles.json");
|
||||||
|
|||||||
@@ -21,8 +21,6 @@ thiserror = { workspace = true }
|
|||||||
command-group = { version = "5.0", features = ["with-tokio"] }
|
command-group = { version = "5.0", features = ["with-tokio"] }
|
||||||
nix = { version = "0.29", features = ["signal", "process"] }
|
nix = { version = "0.29", features = ["signal", "process"] }
|
||||||
openssl-sys = { workspace = true }
|
openssl-sys = { workspace = true }
|
||||||
notify = "8.2.0"
|
|
||||||
notify-debouncer-full = "0.5.0"
|
|
||||||
reqwest = { version = "0.12", features = ["json"] }
|
reqwest = { version = "0.12", features = ["json"] }
|
||||||
sentry = { version = "0.41.0", features = ["anyhow", "backtrace", "panic", "debug-images"] }
|
sentry = { version = "0.41.0", features = ["anyhow", "backtrace", "panic", "debug-images"] }
|
||||||
futures = "0.3"
|
futures = "0.3"
|
||||||
|
|||||||
@@ -34,5 +34,3 @@ rand = "0.9"
|
|||||||
sha2 = "0.10"
|
sha2 = "0.10"
|
||||||
url = "2.5"
|
url = "2.5"
|
||||||
base64 = "0.22"
|
base64 = "0.22"
|
||||||
hmac = "0.12"
|
|
||||||
subtle = "2.6"
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ ignore = "0.4"
|
|||||||
git2 = "0.18"
|
git2 = "0.18"
|
||||||
mime_guess = "2.0"
|
mime_guess = "2.0"
|
||||||
rust-embed = "8.2"
|
rust-embed = "8.2"
|
||||||
axum-extra = { version = "0.9", features = ["typed-header"] }
|
|
||||||
url = "2.5"
|
url = "2.5"
|
||||||
rand = { version = "0.8", features = ["std"] }
|
rand = { version = "0.8", features = ["std"] }
|
||||||
sha2 = "0.10"
|
sha2 = "0.10"
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ regex = "1.11.1"
|
|||||||
notify-rust = "4.11"
|
notify-rust = "4.11"
|
||||||
os_info = "3.12.0"
|
os_info = "3.12.0"
|
||||||
reqwest = { version = "0.12", features = ["json"] }
|
reqwest = { version = "0.12", features = ["json"] }
|
||||||
lazy_static = "1.4"
|
|
||||||
futures-util = "0.3"
|
futures-util = "0.3"
|
||||||
json-patch = "2.0"
|
json-patch = "2.0"
|
||||||
backon = "1.5.1"
|
backon = "1.5.1"
|
||||||
@@ -47,7 +46,6 @@ strum_macros = "0.27.2"
|
|||||||
strum = "0.27.2"
|
strum = "0.27.2"
|
||||||
notify = "8.2.0"
|
notify = "8.2.0"
|
||||||
notify-debouncer-full = "0.5.0"
|
notify-debouncer-full = "0.5.0"
|
||||||
tokio-tungstenite = { version = "0.28.0", features = ["rustls-tls-webpki-roots"] }
|
|
||||||
dunce = "1.0"
|
dunce = "1.0"
|
||||||
dashmap = "6.1"
|
dashmap = "6.1"
|
||||||
once_cell = "1.20"
|
once_cell = "1.20"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
use std::{
|
use std::{
|
||||||
collections::HashMap,
|
collections::HashMap,
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
sync::{Arc, Mutex},
|
sync::{Arc, LazyLock, Mutex},
|
||||||
};
|
};
|
||||||
|
|
||||||
use git2::{Error as GitError, Repository};
|
use git2::{Error as GitError, Repository};
|
||||||
@@ -12,10 +12,8 @@ use utils::shell::resolve_executable_path;
|
|||||||
use super::git::{GitService, GitServiceError};
|
use super::git::{GitService, GitServiceError};
|
||||||
|
|
||||||
// Global synchronization for worktree creation to prevent race conditions
|
// Global synchronization for worktree creation to prevent race conditions
|
||||||
lazy_static::lazy_static! {
|
static WORKTREE_CREATION_LOCKS: LazyLock<Mutex<HashMap<String, Arc<tokio::sync::Mutex<()>>>>> =
|
||||||
static ref WORKTREE_CREATION_LOCKS: Arc<Mutex<HashMap<String, Arc<tokio::sync::Mutex<()>>>>> =
|
LazyLock::new(|| Mutex::new(HashMap::new()));
|
||||||
Arc::new(Mutex::new(HashMap::new()));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct WorktreeCleanup {
|
pub struct WorktreeCleanup {
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ jsonwebtoken = { version = "10.2.0", features = ["rust_crypto"] }
|
|||||||
tokio = { workspace = true }
|
tokio = { workspace = true }
|
||||||
futures = "0.3.31"
|
futures = "0.3.31"
|
||||||
tokio-stream = { version = "0.1.17", features = ["sync"] }
|
tokio-stream = { version = "0.1.17", features = ["sync"] }
|
||||||
tokio-tungstenite = { version = "0.28", features = ["rustls-tls-webpki-roots", "url"] }
|
|
||||||
shellexpand = "3.1.1"
|
shellexpand = "3.1.1"
|
||||||
which = "8.0.0"
|
which = "8.0.0"
|
||||||
similar = "2"
|
similar = "2"
|
||||||
|
|||||||
Reference in New Issue
Block a user