feat(theseus): Update to Tauri v2 (#2178)

* feat(theseus): Initial migration to Tauri v2

* feat(theseus): Added a way to zoom / scale UI

* chore(theseus): Started cleaning up some plugins

* fix(theseus): Github Actions

* refactor(theseus): Reduced boilerplate & more work

* feat(theseus): Allow multiple app instances to be open at once (#995)

* fix(theseus): Lint & more

* fix(theseus): App Release github action

* fix(theseus): Open links in browser & macos builds

* fix(theseus): Rebase fixes

* fix(theseus): Updater & app release action

* fix(theseus): Fixed definitions in `build.rs`

* Fix MacOS deep linking, window decorations

* fix(theseus): Closing & maximizing app

* Fix macos build

* add back release conf

* acc fix build

* make updater for release builds only

* focus window on startup

---------

Co-authored-by: Jai A <jaiagr+gpg@pm.me>
Co-authored-by: Geometrically <18202329+Geometrically@users.noreply.github.com>
This commit is contained in:
Norbiros
2024-08-27 21:49:36 +02:00
committed by GitHub
parent 396f737612
commit d6a72fbfc4
83 changed files with 15614 additions and 2013 deletions

View File

@@ -3,14 +3,13 @@ use crate::event::{
CommandPayload, EventError, LoadingBar, LoadingBarType, ProcessPayloadType,
ProfilePayloadType,
};
use futures::prelude::*;
#[cfg(feature = "tauri")]
use crate::event::{
LoadingPayload, ProcessPayload, ProfilePayload, WarningPayload,
};
use futures::prelude::*;
#[cfg(feature = "tauri")]
use tauri::Manager;
use tauri::Emitter;
use uuid::Uuid;
#[cfg(feature = "cli")]
@@ -187,7 +186,7 @@ pub async fn emit_loading(
#[cfg(feature = "tauri")]
event_state
.app
.emit_all(
.emit(
"loading",
LoadingPayload {
fraction: opt_display_frac,
@@ -215,7 +214,7 @@ pub async fn emit_warning(message: &str) -> crate::Result<()> {
let event_state = crate::EventState::get().await?;
event_state
.app
.emit_all(
.emit(
"warning",
WarningPayload {
message: message.to_string(),
@@ -239,7 +238,7 @@ pub async fn emit_command(command: CommandPayload) -> crate::Result<()> {
let event_state = crate::EventState::get().await?;
event_state
.app
.emit_all("command", command)
.emit("command", command)
.map_err(EventError::from)?;
}
Ok(())
@@ -258,7 +257,7 @@ pub async fn emit_process(
let event_state = crate::EventState::get().await?;
event_state
.app
.emit_all(
.emit(
"process",
ProcessPayload {
profile_path_id: profile_path.to_string(),
@@ -283,7 +282,7 @@ pub async fn emit_profile(
let event_state = crate::EventState::get().await?;
event_state
.app
.emit_all(
.emit(
"profile",
ProfilePayload {
profile_path_id: profile_path_id.to_string(),

View File

@@ -2,6 +2,8 @@
use dashmap::DashMap;
use serde::{Deserialize, Serialize};
use std::{path::PathBuf, sync::Arc};
#[cfg(feature = "tauri")]
use tauri::Emitter;
use tokio::sync::OnceCell;
use uuid::Uuid;
@@ -62,10 +64,11 @@ impl EventState {
}
#[cfg(feature = "tauri")]
pub async fn get_main_window() -> crate::Result<Option<tauri::Window>> {
pub async fn get_main_window() -> crate::Result<Option<tauri::WebviewWindow>>
{
use tauri::Manager;
let value = Self::get().await?;
Ok(value.app.get_window("main"))
Ok(value.app.get_webview_window("main"))
}
}
@@ -103,8 +106,7 @@ impl Drop for LoadingBarId {
let event = bar.bar_type.clone();
let fraction = bar.current / bar.total;
use tauri::Manager;
let _ = event_state.app.emit_all(
let _ = event_state.app.emit(
"loading",
LoadingPayload {
fraction: None,

View File

@@ -217,7 +217,7 @@ where
let file_name = format!(
"{}/{}",
profile.path,
path.replace("\\", "/")
path.replace('\\', "/")
.replace(".disabled", "")
);

View File

@@ -68,11 +68,13 @@ impl Settings {
onboarded: res.onboarded == 1,
extra_launch_args: res
.extra_launch_args
.and_then(|x| serde_json::from_str(&x).ok())
.as_ref()
.and_then(|x| serde_json::from_str(x).ok())
.unwrap_or_default(),
custom_env_vars: res
.custom_env_vars
.and_then(|x| serde_json::from_str(&x).ok())
.as_ref()
.and_then(|x| serde_json::from_str(x).ok())
.unwrap_or_default(),
memory: MemorySettings {
maximum: res.mc_memory_max as u32,