From 6254395570ed0b007d283a7c9698f9b8a8ed01d7 Mon Sep 17 00:00:00 2001 From: Ruben Rosario Date: Sun, 21 Jun 2026 14:38:23 +0100 Subject: [PATCH] Remove auto-sync timers, keep only manual sync Sync engine no longer has push (30s) or pull (5min) intervals. Sync only happens on launch (InitialSync), manual Ctrl+R (FullSync), or after create/edit/delete (TriggerSync). --- src/main.rs | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/src/main.rs b/src/main.rs index bcd3798..a73ed33 100644 --- a/src/main.rs +++ b/src/main.rs @@ -164,33 +164,19 @@ async fn run_sync_engine( sync_stats: Arc>, rx: &mut tokio::sync::mpsc::Receiver, ) { - let mut push_interval = tokio::time::interval(tokio::time::Duration::from_secs(30)); - let mut pull_interval = tokio::time::interval(tokio::time::Duration::from_secs(300)); - pull_interval.tick().await; - loop { - tokio::select! { - _ = push_interval.tick() => { + match rx.recv().await { + Some(SyncCommand::TriggerSync) => { push_sync(&db, &api, &network_status, &sync_stats).await; } - _ = pull_interval.tick() => { - pull_sync(&db, &api, &network_status, &sync_stats, false).await; + Some(SyncCommand::FullSync) => { + push_sync(&db, &api, &network_status, &sync_stats).await; + pull_sync(&db, &api, &network_status, &sync_stats, true).await; } - cmd = rx.recv() => { - match cmd { - Some(SyncCommand::TriggerSync) => { - push_sync(&db, &api, &network_status, &sync_stats).await; - } - Some(SyncCommand::FullSync) => { - push_sync(&db, &api, &network_status, &sync_stats).await; - pull_sync(&db, &api, &network_status, &sync_stats, true).await; - } - Some(SyncCommand::InitialSync) => { - run_initial_sync(&db, &api, &network_status, &sync_stats).await; - } - Some(SyncCommand::Shutdown) | None => break, - } + Some(SyncCommand::InitialSync) => { + run_initial_sync(&db, &api, &network_status, &sync_stats).await; } + Some(SyncCommand::Shutdown) | None => break, } } }