diff --git a/pages/store/index.vue b/pages/store/index.vue
index 53db899..c695039 100644
--- a/pages/store/index.vue
+++ b/pages/store/index.vue
@@ -25,6 +25,18 @@
>
Get game download progress
+
+
diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml
index 3b70f13..9ef8f6c 100644
--- a/src-tauri/Cargo.toml
+++ b/src-tauri/Cargo.toml
@@ -39,7 +39,7 @@ hex = "0.4.3"
tauri-plugin-dialog = "2"
env_logger = "0.11.5"
http = "1.1.0"
-tokio = { version = "1.40.0", features = ["rt", "tokio-macros"] }
+tokio = { version = "1.40.0", features = ["rt", "tokio-macros", "signal"] }
urlencoding = "2.1.3"
md5 = "0.7.0"
atomic-counter = "1.0.1"
diff --git a/src-tauri/src/downloads/download_agent.rs b/src-tauri/src/downloads/download_agent.rs
index cae4a83..dd20dc2 100644
--- a/src-tauri/src/downloads/download_agent.rs
+++ b/src-tauri/src/downloads/download_agent.rs
@@ -5,28 +5,28 @@ use crate::downloads::manifest::{DropDownloadContext, DropManifest};
use crate::downloads::progress::ProgressChecker;
use crate::DB;
use atomic_counter::RelaxedCounter;
+use http::status;
use log::info;
use rustix::fs::{fallocate, FallocateFlags};
use serde::{Deserialize, Serialize};
use std::fs::{create_dir_all, File};
use std::path::Path;
-use std::sync::atomic::AtomicBool;
-use std::sync::{Arc, Mutex};
+use std::sync::{Arc, Mutex, RwLock};
use urlencoding::encode;
pub struct GameDownloadAgent {
pub id: String,
pub version: String,
- state: Mutex,
+ pub status: Arc>,
contexts: Mutex>,
pub progress: ProgressChecker,
pub manifest: Mutex