You've already forked AstralRinth
forked from didirus/AstralRinth
Theseus build updates (#3588)
* Add launcher_feature_version to Profile * Misc fixes - Add typing to theme and settings stuff - Push instance route on creation from installing a modpack - Fixed servers not reloading properly when first added * Make old instances scan the logs folder for joined servers on launcher startup * Create AttachedWorldData * Change AttachedWorldData interface * Rename WorldType::World to WorldType::Singleplayer * Implement world display status system * Fix Minecraft font * Fix set_world_display_status Tauri error * Add 'Play instance' option * Add option to disable worlds showing in Home * Fixes - Fix available server filter only showing if there are some available - Fixed server and singleplayer filters sometimes showing when there are only servers or singleplayer worlds - Fixed new worlds not being automatically added when detected - Rephrased Jump back into worlds option description * Fixed sometimes more than 6 items showing up in Jump back in * Fix servers.dat issue with instances you haven't played before * Update a bunch of app dependencies in non-breaking ways * Update dependencies in app-lib that had breaking updates * Update dependencies in app that had breaking updates * Fix too large of bulk requests being made, limit max to 800 #3430 * Also update tauri-plugin-opener * Update app-lib to Rust 2024 * Non-breaking updates in ariadne * Breaking updates in ariadne * Ariadne Rust 2024 * Add hiding from home page, add types to Mods.vue * Make recent worlds go into grid when display is huge * Fix lint * Remove redundant media query * Fix protocol version on home page, and home page being blocked by pinging servers * Clippy fix in app-lib * Clippy fix in app * Clippy fix * More Clippy fixes * Fix Prettier lints * Undo `from_string` changes * Update macos dependencies * Apply updates to app-playground as well * Update Wry + Tauri * Update sysinfo * Update theseus_gui to Rust 2024 * Downgrade rand in ariadne to fix labrinth Labrinth can't use rand 0.9 due to argon2 * Cargo format --------- Signed-off-by: Josiah Glosson <soujournme@gmail.com> Co-authored-by: Prospector <prospectordev@gmail.com> Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com> Co-authored-by: Alejandro González <me@alegon.dev>
This commit is contained in:
@@ -2,8 +2,8 @@ use std::path::PathBuf;
|
||||
|
||||
use crate::{
|
||||
event::{
|
||||
emit::{emit_command, emit_warning},
|
||||
CommandPayload,
|
||||
emit::{emit_command, emit_warning},
|
||||
},
|
||||
util::io,
|
||||
};
|
||||
|
||||
@@ -10,8 +10,8 @@ use std::path::PathBuf;
|
||||
use crate::util::io;
|
||||
use crate::util::jre::extract_java_majorminor_version;
|
||||
use crate::{
|
||||
util::jre::{self},
|
||||
LoadingBarType, State,
|
||||
util::jre::{self},
|
||||
};
|
||||
|
||||
pub async fn get_java_versions() -> crate::Result<DashMap<u32, JavaVersion>> {
|
||||
|
||||
@@ -9,9 +9,9 @@ use tokio::{
|
||||
};
|
||||
|
||||
use crate::{
|
||||
State,
|
||||
prelude::Credentials,
|
||||
util::io::{self, IOError},
|
||||
State,
|
||||
};
|
||||
|
||||
#[derive(Serialize, Debug)]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::state::CachedEntry;
|
||||
use crate::State;
|
||||
use crate::state::CachedEntry;
|
||||
pub use daedalus::minecraft::VersionManifest;
|
||||
pub use daedalus::modded::Manifest;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//! Authentication flow interface
|
||||
|
||||
use crate::state::{Credentials, MinecraftLoginFlow};
|
||||
use crate::State;
|
||||
use crate::state::{Credentials, MinecraftLoginFlow};
|
||||
|
||||
#[tracing::instrument]
|
||||
pub async fn begin_login() -> crate::Result<MinecraftLoginFlow> {
|
||||
|
||||
@@ -27,12 +27,12 @@ pub mod data {
|
||||
|
||||
pub mod prelude {
|
||||
pub use crate::{
|
||||
State,
|
||||
data::*,
|
||||
event::CommandPayload,
|
||||
jre, metadata, minecraft_auth, mr_auth, pack, process,
|
||||
profile::{self, create, Profile},
|
||||
profile::{self, Profile, create},
|
||||
settings,
|
||||
util::io::{canonicalize, IOError},
|
||||
State,
|
||||
util::io::{IOError, canonicalize},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ use std::{collections::HashMap, path::PathBuf};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
State,
|
||||
pack::{
|
||||
self,
|
||||
import::{self, copy_dotminecraft},
|
||||
@@ -11,7 +12,6 @@ use crate::{
|
||||
prelude::ModLoader,
|
||||
state::{LinkedData, ProfileInstallStage},
|
||||
util::io,
|
||||
State,
|
||||
};
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
|
||||
@@ -3,13 +3,13 @@ use std::path::PathBuf;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
State,
|
||||
prelude::ModLoader,
|
||||
state::ProfileInstallStage,
|
||||
util::{
|
||||
fetch::{fetch, write_cached_icon},
|
||||
io,
|
||||
},
|
||||
State,
|
||||
};
|
||||
|
||||
use super::{copy_dotminecraft, recache_icon};
|
||||
|
||||
@@ -2,7 +2,7 @@ use std::path::PathBuf;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{prelude::ModLoader, state::ProfileInstallStage, util::io, State};
|
||||
use crate::{State, prelude::ModLoader, state::ProfileInstallStage, util::io};
|
||||
|
||||
use super::{copy_dotminecraft, recache_icon};
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
use serde::{de, Deserialize, Serialize};
|
||||
use serde::{Deserialize, Serialize, de};
|
||||
|
||||
use crate::{
|
||||
State,
|
||||
pack::{
|
||||
import::{self, copy_dotminecraft},
|
||||
install_from::{self, CreatePackDescription, PackDependency},
|
||||
},
|
||||
util::io,
|
||||
State,
|
||||
};
|
||||
|
||||
// instance.cfg
|
||||
|
||||
@@ -8,8 +8,8 @@ use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
event::{
|
||||
emit::{emit_loading, init_or_edit_loading},
|
||||
LoadingBarId,
|
||||
emit::{emit_loading, init_or_edit_loading},
|
||||
},
|
||||
util::{
|
||||
fetch::{self, IoSemaphore},
|
||||
@@ -71,7 +71,7 @@ pub async fn get_importable_instances(
|
||||
return Err(crate::ErrorKind::InputError(
|
||||
"Launcher type Unknown".to_string(),
|
||||
)
|
||||
.into())
|
||||
.into());
|
||||
}
|
||||
};
|
||||
|
||||
@@ -187,11 +187,7 @@ pub fn get_default_launcher_path(
|
||||
ImportLauncherType::Unknown => None,
|
||||
};
|
||||
let path = path?;
|
||||
if path.exists() {
|
||||
Some(path)
|
||||
} else {
|
||||
None
|
||||
}
|
||||
if path.exists() { Some(path) } else { None }
|
||||
}
|
||||
|
||||
/// Checks if this PathBuf is a valid instance for the given launcher type
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
use crate::State;
|
||||
use crate::data::ModLoader;
|
||||
use crate::event::emit::{emit_loading, init_loading};
|
||||
use crate::event::{LoadingBarId, LoadingBarType};
|
||||
use crate::state::{CachedEntry, LinkedData, ProfileInstallStage, SideType};
|
||||
use crate::util::fetch::{fetch, fetch_advanced, write_cached_icon};
|
||||
use crate::util::io;
|
||||
use crate::State;
|
||||
|
||||
use reqwest::Method;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
use crate::event::LoadingBarType;
|
||||
use crate::event::emit::{
|
||||
emit_loading, init_or_edit_loading, loading_try_for_each_concurrent,
|
||||
};
|
||||
use crate::event::LoadingBarType;
|
||||
use crate::pack::install_from::{
|
||||
set_profile_information, EnvType, PackFile, PackFileHash,
|
||||
EnvType, PackFile, PackFileHash, set_profile_information,
|
||||
};
|
||||
use crate::state::{
|
||||
cache_file_hash, CacheBehaviour, CachedEntry, ProfileInstallStage, SideType,
|
||||
CacheBehaviour, CachedEntry, ProfileInstallStage, SideType, cache_file_hash,
|
||||
};
|
||||
use crate::util::fetch::{fetch_mirrors, write};
|
||||
use crate::util::io;
|
||||
use crate::{profile, State};
|
||||
use crate::{State, profile};
|
||||
use async_zip::base::read::seek::ZipFileReader;
|
||||
|
||||
use super::install_from::{
|
||||
generate_pack_from_file, generate_pack_from_version_id, CreatePack,
|
||||
CreatePackLocation, PackFormat,
|
||||
CreatePack, CreatePackLocation, PackFormat, generate_pack_from_file,
|
||||
generate_pack_from_version_id,
|
||||
};
|
||||
use crate::data::ProjectType;
|
||||
use std::io::Cursor;
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
use crate::state::ProcessMetadata;
|
||||
pub use crate::{
|
||||
state::{Hooks, MemorySettings, Profile, Settings, WindowSize},
|
||||
State,
|
||||
state::{Hooks, MemorySettings, Profile, Settings, WindowSize},
|
||||
};
|
||||
use uuid::Uuid;
|
||||
|
||||
|
||||
@@ -3,12 +3,12 @@ use crate::launcher::get_loader_version_from_profile;
|
||||
use crate::settings::Hooks;
|
||||
use crate::state::{LauncherFeatureVersion, LinkedData, ProfileInstallStage};
|
||||
use crate::util::io::{self, canonicalize};
|
||||
use crate::{ErrorKind, pack, profile};
|
||||
pub use crate::{State, state::Profile};
|
||||
use crate::{
|
||||
event::{emit::emit_profile, ProfilePayloadType},
|
||||
event::{ProfilePayloadType, emit::emit_profile},
|
||||
prelude::ModLoader,
|
||||
};
|
||||
use crate::{pack, profile, ErrorKind};
|
||||
pub use crate::{state::Profile, State};
|
||||
use chrono::Utc;
|
||||
use std::path::PathBuf;
|
||||
use tracing::{info, trace};
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//! Theseus profile management interface
|
||||
|
||||
use crate::event::LoadingBarType;
|
||||
use crate::event::emit::{
|
||||
emit_loading, init_loading, loading_try_for_each_concurrent,
|
||||
};
|
||||
use crate::event::LoadingBarType;
|
||||
use crate::pack::install_from::{
|
||||
EnvType, PackDependency, PackFile, PackFileHash, PackFormat,
|
||||
};
|
||||
@@ -12,10 +12,10 @@ use crate::state::{
|
||||
ProfileFile, ProfileInstallStage, ProjectType, SideType,
|
||||
};
|
||||
|
||||
use crate::event::{emit::emit_profile, ProfilePayloadType};
|
||||
use crate::event::{ProfilePayloadType, emit::emit_profile};
|
||||
use crate::util::fetch;
|
||||
use crate::util::io::{self, IOError};
|
||||
pub use crate::{state::Profile, State};
|
||||
pub use crate::{State, state::Profile};
|
||||
use async_zip::tokio::write::ZipFileWriter;
|
||||
use async_zip::{Compression, ZipEntryBuilder};
|
||||
use serde_json::json;
|
||||
@@ -831,7 +831,7 @@ pub async fn create_mrpack_json(
|
||||
return Err(crate::ErrorKind::OtherError(
|
||||
"Loader version mismatch".to_string(),
|
||||
)
|
||||
.into())
|
||||
.into());
|
||||
}
|
||||
};
|
||||
dependencies
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
use crate::state::CacheBehaviour;
|
||||
use crate::{
|
||||
LoadingBarType,
|
||||
event::{
|
||||
emit::{emit_profile, init_loading},
|
||||
ProfilePayloadType,
|
||||
emit::{emit_profile, init_loading},
|
||||
},
|
||||
pack::{self, install_from::generate_pack_from_version_id},
|
||||
profile::get,
|
||||
state::ProfileInstallStage,
|
||||
LoadingBarType,
|
||||
};
|
||||
use futures::try_join;
|
||||
|
||||
@@ -24,9 +24,9 @@ pub async fn update_managed_modrinth_version(
|
||||
})?;
|
||||
|
||||
let unmanaged_err = || {
|
||||
crate::ErrorKind::InputError(
|
||||
format!("Profile at {profile_path} is not a managed modrinth pack, or has been disconnected."),
|
||||
)
|
||||
crate::ErrorKind::InputError(format!(
|
||||
"Profile at {profile_path} is not a managed modrinth pack, or has been disconnected."
|
||||
))
|
||||
};
|
||||
|
||||
// Extract modrinth pack information, if appropriate
|
||||
@@ -58,9 +58,9 @@ pub async fn repair_managed_modrinth(profile_path: &str) -> crate::Result<()> {
|
||||
})?;
|
||||
|
||||
let unmanaged_err = || {
|
||||
crate::ErrorKind::InputError(
|
||||
format!("Profile at {profile_path} is not a managed modrinth pack, or has been disconnected."),
|
||||
)
|
||||
crate::ErrorKind::InputError(format!(
|
||||
"Profile at {profile_path} is not a managed modrinth pack, or has been disconnected."
|
||||
))
|
||||
};
|
||||
|
||||
// For repairing specifically, first we remove all installed projects (to ensure we do remove ones that aren't in the pack)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
//! Theseus profile management interface
|
||||
|
||||
pub use crate::{
|
||||
state::{Hooks, MemorySettings, Profile, Settings, WindowSize},
|
||||
State,
|
||||
state::{Hooks, MemorySettings, Profile, Settings, WindowSize},
|
||||
};
|
||||
|
||||
/// Gets entire settings
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
//! Theseus tag management interface
|
||||
use crate::state::CachedEntry;
|
||||
pub use crate::{
|
||||
state::{Category, DonationPlatform, GameVersion, Loader},
|
||||
State,
|
||||
state::{Category, DonationPlatform, GameVersion, Loader},
|
||||
};
|
||||
|
||||
/// Get category tags
|
||||
|
||||
@@ -3,13 +3,13 @@ use crate::launcher::get_loader_version_from_profile;
|
||||
use crate::profile::get_full_path;
|
||||
use crate::state::attached_world_data::AttachedWorldData;
|
||||
use crate::state::{
|
||||
attached_world_data, server_join_log, Profile, ProfileInstallStage,
|
||||
Profile, ProfileInstallStage, attached_world_data, server_join_log,
|
||||
};
|
||||
pub use crate::util::server_ping::{
|
||||
ServerGameProfile, ServerPlayers, ServerStatus, ServerVersion,
|
||||
};
|
||||
use crate::util::{io, server_ping};
|
||||
use crate::{launcher, Error, ErrorKind, Result, State};
|
||||
use crate::{Error, ErrorKind, Result, State, launcher};
|
||||
use async_walkdir::WalkDir;
|
||||
use async_zip::{Compression, ZipEntryBuilder};
|
||||
use chrono::{DateTime, Local, TimeZone, Utc};
|
||||
@@ -743,8 +743,8 @@ pub async fn remove_server_from_profile(
|
||||
}
|
||||
|
||||
mod servers_data {
|
||||
use crate::util::io;
|
||||
use crate::Result;
|
||||
use crate::util::io;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::path::Path;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user