mirror of
https://github.com/knutwurst/patchdl.git
synced 2026-10-06 08:00:21 +02:00
UI: Updating now means only the queue; active downloads stay in Updatable
Previous behaviour moved a game out of Updatable the moment it entered the pool, which made it disappear from the list you came to watch. The queue chip now means literally that: jobs in state="queued" waiting for a free pool slot. Active, paused and installing jobs stay under Updatable so you don't have to switch tabs to see the thing you just told to download. Implementation: reconcileFromJobs stamps the raw j.state on the title as g._jobState; gameCategory routes only "queued" to Updating, every other live state falls through to the existing Updatable branch.
This commit is contained in:
1 parent
81d6f0e332
commit
2bc15cbaa2
1 file changed
+7
-3
+7
-3
@@ -323,9 +323,11 @@ function renderGames() {
|
||||
|
||||
// Mutually-exclusive bucket per game for the filter chips.
|
||||
function gameCategory(game) {
|
||||
// In-flight work (queued, active, paused, installing) lives in its own
|
||||
// bucket so Updatable shows only what the user could still trigger.
|
||||
if (game.installing || game.downloading || game.resumable) return "updating";
|
||||
// Updating is the queue — jobs waiting for a pool slot. An actively
|
||||
// downloading game stays under Updatable so you don't lose sight of it
|
||||
// while drilling into the queue; same for paused (the user knows where
|
||||
// it is and can resume from the card) and installing.
|
||||
if (game._jobState === "queued") return "updating";
|
||||
// checking is transient (version lookup still running); keep it visible under
|
||||
// Updatable rather than letting it fall out of every specific filter.
|
||||
if (game.status === "checking") return "updatable";
|
||||
@@ -569,9 +571,11 @@ function reconcileFromJobs(jobs) {
|
||||
g._localDownloading = false;
|
||||
}
|
||||
if (g.downloading && !g._localDownloading) g.downloading = false;
|
||||
g._jobState = null;
|
||||
return;
|
||||
}
|
||||
g._localDownloading = false; // the pool now tracks it
|
||||
g._jobState = j.state;
|
||||
if (j.state === "active" || j.state === "queued") {
|
||||
g.downloading = true;
|
||||
g.resumable = false;
|
||||
|
||||
Reference in new issue
Block a user