Daedalus doesn't instantly fail when upstream loses versions (#5518)

* Daedalus doesn't instantly fail when upstream loses versions

* fix shear

* Revert DashMap changes for try_join_all
This commit is contained in:
aecsocket
2026-03-10 18:59:47 +00:00
committed by GitHub
parent 0c98f6bf45
commit 2b8175ad66
4 changed files with 119 additions and 79 deletions

View File

@@ -1,6 +1,6 @@
use crate::util::fetch_json;
use crate::{
Error, MirrorArtifact, UploadFile, util::download_file, util::format_url,
Error, FetchResult, UploadFile, util::download_file, util::format_url,
util::sha1_async,
};
use daedalus::minecraft::{
@@ -12,12 +12,9 @@ use serde::Deserialize;
use std::sync::Arc;
use tokio::sync::Semaphore;
#[tracing::instrument(skip(semaphore, upload_files, _mirror_artifacts))]
pub async fn fetch(
semaphore: Arc<Semaphore>,
upload_files: &DashMap<String, UploadFile>,
_mirror_artifacts: &DashMap<String, MirrorArtifact>,
) -> Result<(), Error> {
#[tracing::instrument(skip(semaphore))]
pub async fn fetch(semaphore: Arc<Semaphore>) -> Result<FetchResult, Error> {
let upload_files = DashMap::new();
let modrinth_manifest = fetch_json::<VersionManifest>(
&format_url(&format!(
"minecraft/v{}/manifest.json",
@@ -169,7 +166,10 @@ pub async fn fetch(
);
}
Ok(())
Ok(FetchResult {
upload_files,
mirror_artifacts: DashMap::new(),
})
}
#[derive(Deserialize, Debug)]