Skip to content

Commit 557e71f

Browse files
committed
refactor: move restart_after_pending_update to tauri state instead of app lib state
1 parent 85eadbc commit 557e71f

2 files changed

Lines changed: 11 additions & 13 deletions

File tree

‎apps/app/src/main.rs‎

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use native_dialog::{DialogBuilder, MessageLevel};
88
use std::env;
9-
use std::sync::atomic::Ordering;
9+
use std::sync::atomic::{AtomicBool, Ordering};
1010
use tauri::{Listener, Manager};
1111
use tauri_plugin_fs::FsExt;
1212
use theseus::prelude::*;
@@ -101,14 +101,15 @@ fn restart_app(app: tauri::AppHandle) {
101101
app.restart();
102102
}
103103

104+
#[derive(Default)]
105+
struct RestartAfterPendingUpdate(AtomicBool);
106+
104107
#[tauri::command]
105108
async fn set_restart_after_pending_update(
106109
should_restart: bool,
110+
restart: tauri::State<'_, RestartAfterPendingUpdate>,
107111
) -> api::Result<()> {
108-
let state = State::get().await?;
109-
state
110-
.restart_after_pending_update
111-
.store(should_restart, Ordering::Relaxed);
112+
restart.0.store(should_restart, Ordering::Relaxed);
112113
Ok(())
113114
}
114115

@@ -328,6 +329,7 @@ fn main() {
328329
.plugin(api::friends::init())
329330
.plugin(api::worlds::init())
330331
.manage(PendingUpdateData::default())
332+
.manage(RestartAfterPendingUpdate::default())
331333
.invoke_handler(tauri::generate_handler![
332334
initialize_state,
333335
is_dev,
@@ -363,11 +365,10 @@ fn main() {
363365
#[cfg(feature = "updater")]
364366
if matches!(&event, tauri::RunEvent::Exit) {
365367
let update_data = app.state::<PendingUpdateData>().inner();
366-
let should_restart = State::get_if_initialized()
367-
.map(|s| {
368-
s.restart_after_pending_update.load(Ordering::Relaxed)
369-
})
370-
.unwrap_or(false);
368+
let should_restart = app
369+
.state::<RestartAfterPendingUpdate>()
370+
.0
371+
.load(Ordering::Relaxed);
371372
if let Some((update, data)) = &*update_data.0.lock().unwrap()
372373
{
373374
fn set_changelog_toast(version: Option<String>) {

‎packages/app-lib/src/state/mod.rs‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,6 @@ pub struct State {
120120
/// Friends socket
121121
pub friends_socket: FriendsSocket,
122122

123-
pub restart_after_pending_update: AtomicBool,
124-
125123
pub(crate) pool: SqlitePool,
126124

127125
pub(crate) file_watcher: FileWatcher,
@@ -418,7 +416,6 @@ impl State {
418416
discord_rpc,
419417
process_manager,
420418
friends_socket,
421-
restart_after_pending_update: AtomicBool::new(false),
422419
pool,
423420
file_watcher,
424421
// app_identifier,

0 commit comments

Comments
 (0)