_sessionTrackedJobs and _sessionDoneJobs accumulated jobIds across the whole session — IDs of jobs already removed from queueJobs (by removeFromQueueOnDone or the auto-cap that lands in handleBatchDone) stayed in those sets forever. ~50 bytes/entry × hundreds of batches × many jobs/batch = small but real growth over a multi-day session. At batch-done, walk the sets and drop any ID that's no longer present in queueJobs. _completedUploadKeys is intentionally kept — it's the dedup against re-queueing the same file across batches and would break that contract if pruned. The prune is a single pass per batch-done (rare event) and only happens when the sets aren't already empty. 97/97 tests still green. |
||
|---|---|---|
| .. | ||
| app.js | ||
| drop-target.html | ||
| index.html | ||
| styles.css | ||