From a12ee88b9b370a909dbb20eece9171136bb89023 Mon Sep 17 00:00:00 2001 From: John Rogers Date: Tue, 29 Jul 2025 00:13:23 +0100 Subject: [PATCH] feat: Force sync on config save with timeturner offset Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) --- src/api.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/api.rs b/src/api.rs index aa3314a..19e58a7 100644 --- a/src/api.rs +++ b/src/api.rs @@ -145,6 +145,22 @@ async fn update_config( if config::save_config("config.yml", &config).is_ok() { log::info!("🔄 Saved config via API: {:?}", *config); + + // If timeturner offset is active, trigger a sync immediately. + if config.timeturner_offset.is_active() { + let state = data.ltc_state.lock().unwrap(); + if let Some(frame) = &state.latest { + log::info!("Timeturner offset is active, triggering sync..."); + if system::trigger_sync(frame, &config).is_ok() { + log::info!("Sync triggered successfully after config change."); + } else { + log::error!("Sync failed after config change."); + } + } else { + log::warn!("Timeturner offset is active, but no LTC frame available to sync."); + } + } + HttpResponse::Ok().json(&*config) } else { log::error!("Failed to write config.yml");