diff --git a/mediarepo-api/src/tauri_plugin/custom_schemes.rs b/mediarepo-api/src/tauri_plugin/custom_schemes.rs index 6ad31c4..a5b4bd2 100644 --- a/mediarepo-api/src/tauri_plugin/custom_schemes.rs +++ b/mediarepo-api/src/tauri_plugin/custom_schemes.rs @@ -8,7 +8,7 @@ pub fn register_custom_uri_schemes(builder: Builder) -> Builder Plugin for MediarepoPlugin { app.manage(api_state); let buffer_state = BufferState::default(); - app.manage(buffer_state); + app.manage(buffer_state.clone()); + thread::spawn(move || loop { + thread::sleep(Duration::from_secs(10)); + buffer_state.clear_expired(); + }); let repo_state = AppState::load()?; app.manage(repo_state); diff --git a/mediarepo-api/src/tauri_plugin/state.rs b/mediarepo-api/src/tauri_plugin/state.rs index 3179f42..f73132a 100644 --- a/mediarepo-api/src/tauri_plugin/state.rs +++ b/mediarepo-api/src/tauri_plugin/state.rs @@ -58,7 +58,7 @@ impl VolatileBuffer { } } -#[derive(Default)] +#[derive(Default, Clone)] pub struct BufferState { pub buffer: Arc>>, }