Merge tag 'v0.14.6' into beta

v0.14.6
This commit is contained in:
2026-06-17 02:14:47 +03:00
2497 changed files with 357074 additions and 111947 deletions
+15
View File
@@ -8,6 +8,7 @@ use crate::event::{
LoadingPayload, ProcessPayload, ProfilePayload, WarningPayload, InfoPayload
};
use futures::prelude::*;
use serde_json::Value;
#[cfg(feature = "tauri")]
use tauri::{Emitter, Manager};
use uuid::Uuid;
@@ -323,6 +324,20 @@ pub async fn emit_friend(payload: FriendPayload) -> crate::Result<()> {
Ok(())
}
#[allow(unused_variables)]
pub async fn emit_notification(payload: Value) -> crate::Result<()> {
#[cfg(feature = "tauri")]
{
let event_state = crate::EventState::get()?;
event_state
.app
.emit("notification", payload)
.map_err(EventError::from)?;
}
Ok(())
}
// loading_join! macro
// loading_join!(key: Option<&LoadingBarId>, total: f64, message: Option<&str>; task1, task2, task3...)
// This will submit a loading event with the given message for each task as they complete
+26
View File
@@ -219,6 +219,9 @@ pub enum CommandPayload {
InstallModpack {
id: String,
},
InstallServer {
id: String,
},
RunMRPack {
// run or install .mrpack
path: PathBuf,
@@ -277,6 +280,29 @@ pub enum FriendPayload {
StatusSync,
}
#[cfg(feature = "tauri")]
pub use self::log_types::*;
#[cfg(feature = "tauri")]
mod log_types {
use crate::state::Log4jEvent;
use serde::Serialize;
#[derive(Serialize, Clone)]
#[serde(tag = "type", rename_all = "snake_case")]
pub enum LogEvent {
Log4j(Log4jEvent),
Legacy { message: String },
}
#[derive(Serialize, Clone)]
pub struct LogPayload {
pub profile_path_id: String,
#[serde(flatten)]
pub event: LogEvent,
}
}
#[derive(Debug, thiserror::Error)]
pub enum EventError {
#[error("Event state was not properly initialized")]