From b71809c04175f79526bf1751d3671f791ecee8fe Mon Sep 17 00:00:00 2001 From: DecDuck Date: Fri, 6 Feb 2026 00:30:27 +1100 Subject: [PATCH] In-app store, delta version support (#179) * fix: windows launch * feat: add necessary client fixes for store * fix: keyring fix * feat: delta version support * feat: dl/disk progress * feat: move to jwt auth * fix: lint --- libs/drop-base | 2 +- main/composables/downloads.ts | 14 +- main/pages/queue.vue | 61 +++- src-tauri/Cargo.lock | 345 ++++++++++++++++++ src-tauri/database/src/db.rs | 11 +- src-tauri/database/src/models.rs | 3 +- .../download_manager/src/depot_manager.rs | 65 ++-- .../src/download_manager_builder.rs | 53 +-- .../src/download_manager_frontend.rs | 4 +- .../download_manager/src/downloadable.rs | 3 +- .../download_manager/src/frontend_updates.rs | 16 +- .../src/util/progress_object.rs | 52 ++- .../games/src/downloads/download_agent.rs | 245 ++++++++----- .../games/src/downloads/download_logic.rs | 54 ++- src-tauri/games/src/downloads/manifest.rs | 46 --- src-tauri/games/src/downloads/mod.rs | 1 - src-tauri/games/src/library.rs | 49 ++- src-tauri/process/src/process_manager.rs | 2 +- src-tauri/remote/Cargo.toml | 1 + src-tauri/remote/src/auth.rs | 33 +- src-tauri/remote/src/server_proto.rs | 13 +- src-tauri/src/games.rs | 17 +- src-tauri/src/lib.rs | 2 +- 23 files changed, 808 insertions(+), 284 deletions(-) delete mode 100644 src-tauri/games/src/downloads/manifest.rs diff --git a/libs/drop-base b/libs/drop-base index 14f4e3e..04125e8 160000 --- a/libs/drop-base +++ b/libs/drop-base @@ -1 +1 @@ -Subproject commit 14f4e3e20b9abe41d9561d580060cf3578149640 +Subproject commit 04125e89bef517411e103cdabcfa64a1bb563423 diff --git a/main/composables/downloads.ts b/main/composables/downloads.ts index 741b1f1..a09e423 100644 --- a/main/composables/downloads.ts +++ b/main/composables/downloads.ts @@ -5,9 +5,12 @@ export type QueueState = { queue: Array<{ meta: DownloadableMetadata; status: string; - progress: number | null; - current: number; - max: number; + dl_progress: number | null; + dl_current: number; + dl_max: number; + disk_progress: number | null; + disk_current: number; + disk_max: number; }>; status: string; }; @@ -33,7 +36,8 @@ listen("update_stats", (event) => { stats.value = event.payload as StatsState; }); -export const useDownloadHistory = () => useState>('history', () => []); +export const useDownloadHistory = () => + useState>("history", () => []); export function formatKilobytes(bytes: number): string { const units = ["K", "M", "G", "T", "P"]; @@ -47,4 +51,4 @@ export function formatKilobytes(bytes: number): string { } return `${value.toFixed(1)} ${units[unitIndex]}`; -} \ No newline at end of file +} diff --git a/main/pages/queue.vue b/main/pages/queue.vue index 005662e..fe7fbd2 100644 --- a/main/pages/queue.vue +++ b/main/pages/queue.vue @@ -6,12 +6,16 @@
- {{ formatKilobytes(stats.speed) }}B/s + {{ formatKilobytes(stats.speed) }}B/s {{ formatTime(stats.time) }} left
-
+
-