Skip to content
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
8d16834
Update Rust version
Gaming32 Aug 7, 2025
3ebdac4
Update async-compression 0.4.25 -> 0.4.27
Gaming32 Aug 7, 2025
37a10c7
Update async-tungstenite 0.29.1 -> 0.30.0
Gaming32 Aug 7, 2025
97a6e94
Update bytemuck 1.23.0 -> 1.23.1
Gaming32 Aug 7, 2025
dc33b4b
Update clap 4.5.40 -> 4.5.43
Gaming32 Aug 7, 2025
719aba3
Update deadpool-redis 0.21.1 -> 0.22.0 and redis 0.31.0 -> 0.32.4
Gaming32 Aug 7, 2025
f1825fb
Update enumset 1.1.6 -> 1.1.7
Gaming32 Aug 7, 2025
b7f0ec3
Update hyper-util 0.1.14 -> 0.1.16
Gaming32 Aug 7, 2025
211cd05
Update indexmap 2.9.0 -> 2.10.0
Gaming32 Aug 7, 2025
86c408c
Update indicatif 0.17.11 -> 0.18.0
Gaming32 Aug 8, 2025
39aea65
Update jemalloc_pprof 0.7.0 -> 0.8.1
Gaming32 Aug 8, 2025
1a7b2f1
Update lettre 0.11.17 -> 0.11.18
Gaming32 Aug 8, 2025
1c940a0
Update meilisearch-sdk 0.28.0 -> 0.29.1
Gaming32 Aug 8, 2025
14b2755
Update notify 8.0.0 -> 8.2.0 and notify-debouncer-mini 0.6.0 -> 0.7.0
Gaming32 Aug 8, 2025
9cb1ad8
Update quick-xml 0.37.5 -> 0.38.1
Gaming32 Aug 8, 2025
fadbf80
Fix theseus lint
Gaming32 Aug 8, 2025
2217da0
Update reqwest 0.12.20 -> 0.12.22
Gaming32 Aug 8, 2025
d501f1f
Cargo fmt in theseus
Gaming32 Aug 8, 2025
2e18d50
Update rgb 0.8.50 -> 0.8.52
Gaming32 Aug 8, 2025
89901de
Update sentry 0.41.0 -> 0.42.0 and sentry-actix 0.41.0 -> 0.42.0
Gaming32 Aug 8, 2025
58f1e2c
Update serde_json 1.0.140 -> 1.0.142
Gaming32 Aug 8, 2025
4aae445
Update serde_with 3.13.0 -> 3.14.0
Gaming32 Aug 8, 2025
b19ad9c
Update spdx 0.10.8 -> 0.10.9
Gaming32 Aug 8, 2025
b1093af
Update sysinfo 0.35.2 -> 0.36.1
Gaming32 Aug 8, 2025
26dd65d
Update tauri suite
Gaming32 Aug 8, 2025
a9bfba9
Fix build by updating mappings
Gaming32 Aug 8, 2025
67e4833
Update tokio 1.45.1 -> 1.47.1 and tokio-util 0.7.15 -> 0.7.16
Gaming32 Aug 8, 2025
3962f33
Update tracing-actix-web 0.7.18 -> 0.7.19
Gaming32 Aug 8, 2025
2443a96
Update zip 4.2.0 -> 4.3.0
Gaming32 Aug 8, 2025
41cd6fe
Misc Cargo.lock updates
Gaming32 Aug 8, 2025
ab7bbd0
Update Dockerfiles
Gaming32 Aug 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,476 changes: 816 additions & 660 deletions Cargo.lock

Large diffs are not rendered by default.

72 changes: 36 additions & 36 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,39 +25,39 @@ actix-ws = "0.3.0"
argon2 = { version = "0.5.3", features = ["std"] }
ariadne = { path = "packages/ariadne" }
async_zip = "0.0.17"
async-compression = { version = "0.4.25", default-features = false }
async-compression = { version = "0.4.27", default-features = false }
async-recursion = "1.1.1"
async-stripe = { version = "0.41.0", default-features = false, features = [
"runtime-tokio-hyper-rustls",
] }
async-trait = "0.1.88"
async-tungstenite = { version = "0.29.1", default-features = false, features = [
async-tungstenite = { version = "0.30.0", default-features = false, features = [
"futures-03-sink",
] }
async-walkdir = "2.1.0"
base64 = "0.22.1"
bitflags = "2.9.1"
bytemuck = "1.23.0"
bytemuck = "1.23.1"
bytes = "1.10.1"
censor = "0.3.0"
chardetng = "0.1.17"
chrono = "0.4.41"
clap = "4.5.40"
clap = "4.5.43"
clickhouse = "0.13.3"
color-thief = "0.2.2"
console-subscriber = "0.4.1"
daedalus = { path = "packages/daedalus" }
dashmap = "6.1.0"
data-url = "0.3.1"
deadpool-redis = "0.21.1"
deadpool-redis = "0.22.0"
dirs = "6.0.0"
discord-rich-presence = "0.2.5"
dotenv-build = "0.1.1"
dotenvy = "0.15.7"
dunce = "1.0.5"
either = "1.15.0"
encoding_rs = "0.8.35"
enumset = "1.1.6"
enumset = "1.1.7"
flate2 = "1.1.2"
fs4 = { version = "0.13.1", default-features = false }
futures = { version = "0.3.31", default-features = false }
Expand All @@ -74,15 +74,15 @@ hyper-rustls = { version = "0.27.7", default-features = false, features = [
"ring",
"tls12",
] }
hyper-util = "0.1.14"
hyper-util = "0.1.16"
iana-time-zone = "0.1.63"
image = { version = "0.25.6", default-features = false, features = ["rayon"] }
indexmap = "2.9.0"
indicatif = "0.17.11"
indexmap = "2.10.0"
indicatif = "0.18.0"
itertools = "0.14.0"
jemalloc_pprof = "0.7.0"
jemalloc_pprof = "0.8.1"
json-patch = { version = "4.0.0", default-features = false }
lettre = { version = "0.11.17", default-features = false, features = [
lettre = { version = "0.11.18", default-features = false, features = [
"builder",
"hostname",
"pool",
Expand All @@ -92,24 +92,24 @@ lettre = { version = "0.11.17", default-features = false, features = [
"smtp-transport",
] }
maxminddb = "0.26.0"
meilisearch-sdk = { version = "0.28.0", default-features = false }
meilisearch-sdk = { version = "0.29.1", default-features = false }
murmur2 = "0.1.0"
native-dialog = "0.9.0"
notify = { version = "8.0.0", default-features = false }
notify-debouncer-mini = { version = "0.6.0", default-features = false }
notify = { version = "8.2.0", default-features = false }
notify-debouncer-mini = { version = "0.7.0", default-features = false }
p256 = "0.13.2"
paste = "1.0.15"
phf = { version = "0.12.1", features = ["macros"] }
png = "0.17.16"
prometheus = "0.14.0"
quartz_nbt = "0.2.9"
quick-xml = "0.37.5"
quick-xml = "0.38.1"
rand = "=0.8.5" # Locked on 0.8 until argon2 and p256 update to 0.9
rand_chacha = "=0.3.1" # Locked on 0.3 until we can update rand to 0.9
redis = "=0.31.0" # Locked on 0.31 until deadpool-redis updates to 0.32
redis = "0.32.4"
regex = "1.11.1"
reqwest = { version = "0.12.20", default-features = false }
rgb = "0.8.50"
reqwest = { version = "0.12.22", default-features = false }
rgb = "0.8.52"
rust_decimal = { version = "1.37.2", features = [
"serde-with-float",
"serde-with-str",
Expand All @@ -121,53 +121,53 @@ rust-s3 = { version = "0.35.1", default-features = false, features = [
"tokio-rustls-tls",
] }
rusty-money = "0.4.1"
sentry = { version = "0.41.0", default-features = false, features = [
sentry = { version = "0.42.0", default-features = false, features = [
"backtrace",
"contexts",
"debug-images",
"panic",
"reqwest",
"rustls",
] }
sentry-actix = "0.41.0"
sentry-actix = "0.42.0"
serde = "1.0.219"
serde_bytes = "0.11.17"
serde_cbor = "0.11.2"
serde_ini = "0.2.0"
serde_json = "1.0.140"
serde_with = "3.13.0"
serde_json = "1.0.142"
serde_with = "3.14.0"
serde-xml-rs = "0.8.1" # Also an XML (de)serializer, consider dropping yaserde in favor of this
sha1 = "0.10.6"
sha1_smol = { version = "1.0.1", features = ["std"] }
sha2 = "0.10.9"
spdx = "0.10.8"
spdx = "0.10.9"
sqlx = { version = "0.8.6", default-features = false }
sysinfo = { version = "0.35.2", default-features = false }
sysinfo = { version = "0.36.1", default-features = false }
tar = "0.4.44"
tauri = "2.6.1"
tauri-build = "2.3.0"
tauri-plugin-deep-link = "2.4.0"
tauri-plugin-dialog = "2.3.0"
tauri-plugin-http = "2.5.0"
tauri = "2.7.0"
tauri-build = "2.3.1"
tauri-plugin-deep-link = "2.4.1"
tauri-plugin-dialog = "2.3.2"
tauri-plugin-http = "2.5.1"
tauri-plugin-opener = "2.4.0"
tauri-plugin-os = "2.3.0"
tauri-plugin-single-instance = "2.3.0"
tauri-plugin-single-instance = "2.3.2"
tauri-plugin-updater = { version = "2.9.0", default-features = false, features = [
"rustls-tls",
"zip",
] }
tauri-plugin-window-state = "2.3.0"
tauri-plugin-window-state = "2.4.0"
tempfile = "3.20.0"
theseus = { path = "packages/app-lib" }
thiserror = "2.0.12"
tikv-jemalloc-ctl = "0.6.0"
tikv-jemallocator = "0.6.0"
tokio = "1.45.1"
tokio = "1.47.1"
tokio-stream = "0.1.17"
tokio-util = "0.7.15"
tokio-util = "0.7.16"
totp-rs = "5.7.0"
tracing = "0.1.41"
tracing-actix-web = "0.7.18"
tracing-actix-web = "0.7.19"
tracing-error = "0.2.1"
tracing-subscriber = "0.3.19"
url = "2.5.4"
Expand All @@ -179,7 +179,7 @@ whoami = "1.6.0"
winreg = "0.55.0"
woothee = "0.13.0"
yaserde = "0.12.0"
zip = { version = "4.2.0", default-features = false, features = [
zip = { version = "4.3.0", default-features = false, features = [
"bzip2",
"deflate",
"deflate64",
Expand Down Expand Up @@ -226,7 +226,7 @@ wildcard_dependencies = "warn"
warnings = "deny"

[patch.crates-io]
wry = { git = "https://github.com/modrinth/wry", rev = "21db186" }
wry = { git = "https://github.com/modrinth/wry", rev = "f2ce0b0" }

# Optimize for speed and reduce size on release builds
[profile.release]
Expand Down
12 changes: 5 additions & 7 deletions apps/app/src/api/ads.rs
Original file line number Diff line number Diff line change
Expand Up @@ -197,15 +197,13 @@ pub async fn open_link<R: Runtime>(

if url::Url::parse(&path).is_ok()
&& !state.malicious_origins.contains(&origin)
&& let Some(last_click) = state.last_click
&& last_click.elapsed() < Duration::from_millis(100)
{
if let Some(last_click) = state.last_click {
if last_click.elapsed() < Duration::from_millis(100) {
let _ = app.opener().open_url(&path, None::<String>);
state.last_click = None;
let _ = app.opener().open_url(&path, None::<String>);
state.last_click = None;

return Ok(());
}
}
return Ok(());
}

tracing::info!("Malicious click: {path} origin {origin}");
Expand Down
13 changes: 5 additions & 8 deletions apps/app/src/api/auth.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,16 +59,13 @@ pub async fn login<R: Runtime>(
.url()?
.as_str()
.starts_with("https://login.live.com/oauth20_desktop.srf")
{
if let Some((_, code)) =
&& let Some((_, code)) =
window.url()?.query_pairs().find(|x| x.0 == "code")
{
window.close()?;
let val =
minecraft_auth::finish_login(&code.clone(), flow).await?;
{
window.close()?;
let val = minecraft_auth::finish_login(&code.clone(), flow).await?;

return Ok(Some(val));
}
return Ok(Some(val));
}

tokio::time::sleep(std::time::Duration::from_millis(50)).await;
Expand Down
8 changes: 4 additions & 4 deletions apps/app/src/api/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,11 @@ pub async fn should_disable_mouseover() -> bool {
// We try to match version to 12.2 or higher. If unrecognizable to pattern or lower, we default to the css with disabled mouseover for safety
if let tauri_plugin_os::Version::Semantic(major, minor, _) =
tauri_plugin_os::version()
&& major >= 12
&& minor >= 3
{
if major >= 12 && minor >= 3 {
// Mac os version is 12.3 or higher, we allow mouseover
return false;
}
// Mac os version is 12.3 or higher, we allow mouseover
return false;
}
true
} else {
Expand Down
8 changes: 4 additions & 4 deletions apps/app/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -233,10 +233,10 @@ fn main() {
});

#[cfg(not(target_os = "linux"))]
if let Some(window) = app.get_window("main") {
if let Err(e) = window.set_shadow(true) {
tracing::warn!("Failed to set window shadow: {e}");
}
if let Some(window) = app.get_window("main")
&& let Err(e) = window.set_shadow(true)
{
tracing::warn!("Failed to set window shadow: {e}");
}

Ok(())
Expand Down
36 changes: 17 additions & 19 deletions apps/daedalus_client/src/forge.rs
Original file line number Diff line number Diff line change
Expand Up @@ -506,27 +506,25 @@ async fn fetch(

return Ok(lib);
}
} else if let Some(url) = &lib.url {
if !url.is_empty() {
insert_mirrored_artifact(
&lib.name,
None,
vec![
url.clone(),
"https://libraries.minecraft.net/"
.to_string(),
"https://maven.creeperhost.net/"
.to_string(),
maven_url.to_string(),
],
false,
mirror_artifacts,
)?;
} else if let Some(url) = &lib.url
&& !url.is_empty()
{
insert_mirrored_artifact(
&lib.name,
None,
vec![
url.clone(),
"https://libraries.minecraft.net/".to_string(),
"https://maven.creeperhost.net/".to_string(),
maven_url.to_string(),
],
false,
mirror_artifacts,
)?;

lib.url = Some(format_url("maven/"));
lib.url = Some(format_url("maven/"));

return Ok(lib);
}
return Ok(lib);
}

// Other libraries are generally available in the "maven" directory of the installer. If they are
Expand Down
30 changes: 14 additions & 16 deletions apps/daedalus_client/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,22 +93,22 @@ async fn main() -> Result<()> {
.ok()
.and_then(|x| x.parse::<bool>().ok())
.unwrap_or(false)
&& let Ok(token) = dotenvy::var("CLOUDFLARE_TOKEN")
&& let Ok(zone_id) = dotenvy::var("CLOUDFLARE_ZONE_ID")
{
if let Ok(token) = dotenvy::var("CLOUDFLARE_TOKEN") {
if let Ok(zone_id) = dotenvy::var("CLOUDFLARE_ZONE_ID") {
let cache_clears = upload_files
let cache_clears = upload_files
.into_iter()
.map(|x| format_url(&x.0))
.chain(
mirror_artifacts
.into_iter()
.map(|x| format_url(&x.0))
.chain(
mirror_artifacts
.into_iter()
.map(|x| format_url(&format!("maven/{}", x.0))),
)
.collect::<Vec<_>>();

// Cloudflare ratelimits cache clears to 500 files per request
for chunk in cache_clears.chunks(500) {
REQWEST_CLIENT.post(format!("https://api.cloudflare.com/client/v4/zones/{zone_id}/purge_cache"))
.map(|x| format_url(&format!("maven/{}", x.0))),
)
.collect::<Vec<_>>();

// Cloudflare ratelimits cache clears to 500 files per request
for chunk in cache_clears.chunks(500) {
REQWEST_CLIENT.post(format!("https://api.cloudflare.com/client/v4/zones/{zone_id}/purge_cache"))
.bearer_auth(&token)
.json(&serde_json::json!({
"files": chunk
Expand All @@ -128,8 +128,6 @@ async fn main() -> Result<()> {
item: "cloudflare clear cache".to_string(),
}
})?;
}
}
}
}

Expand Down
24 changes: 11 additions & 13 deletions apps/daedalus_client/src/util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -167,20 +167,18 @@ pub async fn download_file(
let bytes = x.bytes().await;

if let Ok(bytes) = bytes {
if let Some(sha1) = sha1 {
if &*sha1_async(bytes.clone()).await? != sha1 {
if attempt <= 3 {
continue;
} else {
return Err(
crate::ErrorKind::ChecksumFailure {
hash: sha1.to_string(),
url: url.to_string(),
tries: attempt,
}
.into(),
);
if let Some(sha1) = sha1
&& &*sha1_async(bytes.clone()).await? != sha1
{
if attempt <= 3 {
continue;
} else {
return Err(crate::ErrorKind::ChecksumFailure {
hash: sha1.to_string(),
url: url.to_string(),
tries: attempt,
}
.into());
}
}

Expand Down
Loading