diff --git a/desktop/pages/store/index.vue b/desktop/pages/store/index.vue
index 1b3ea21e..53db899b 100644
--- a/desktop/pages/store/index.vue
+++ b/desktop/pages/store/index.vue
@@ -19,6 +19,12 @@
>
Cancel game download
+
diff --git a/desktop/src-tauri/Cargo.lock b/desktop/src-tauri/Cargo.lock
index 520eb1a5..e0d8a65e 100644
--- a/desktop/src-tauri/Cargo.lock
+++ b/desktop/src-tauri/Cargo.lock
@@ -298,6 +298,12 @@ dependencies = [
"system-deps",
]
+[[package]]
+name = "atomic-counter"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62f447d68cfa5a9ab0c1c862a703da2a65b5ed1b7ce1153c9eb0169506d56019"
+
[[package]]
name = "atomic-waker"
version = "1.1.2"
@@ -1018,6 +1024,7 @@ dependencies = [
name = "drop-app"
version = "0.1.0"
dependencies = [
+ "atomic-counter",
"ciborium",
"directories",
"env_logger",
diff --git a/desktop/src-tauri/Cargo.toml b/desktop/src-tauri/Cargo.toml
index 79a3d0a0..aca911fd 100644
--- a/desktop/src-tauri/Cargo.toml
+++ b/desktop/src-tauri/Cargo.toml
@@ -46,6 +46,7 @@ versions = { version = "6.3.2", features = ["serde"] }
urlencoding = "2.1.3"
rustix = "0.38.37"
md5 = "0.7.0"
+atomic-counter = "1.0.1"
[dependencies.uuid]
version = "1.10.0"
diff --git a/desktop/src-tauri/src/downloads/download_agent.rs b/desktop/src-tauri/src/downloads/download_agent.rs
index 792c3b3e..43f6322e 100644
--- a/desktop/src-tauri/src/downloads/download_agent.rs
+++ b/desktop/src-tauri/src/downloads/download_agent.rs
@@ -4,6 +4,7 @@ use crate::downloads::download_logic;
use crate::downloads::manifest::{DropDownloadContext, DropManifest};
use crate::downloads::progress::ProgressChecker;
use crate::DB;
+use atomic_counter::RelaxedCounter;
use log::info;
use rustix::fs::{fallocate, FallocateFlags};
use serde::{Deserialize, Serialize};
@@ -18,7 +19,7 @@ pub struct GameDownloadAgent {
pub version: String,
state: Mutex,
contexts: Mutex>,
- progress: ProgressChecker,
+ pub progress: ProgressChecker,
pub manifest: Mutex