Keep session bytes on live update cadence
This commit is contained in:
@@ -4,6 +4,10 @@ All notable changes to Multi-Debrid Downloader are documented in this file.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Download presentation
|
||||
|
||||
- Keep the sidebar session byte counter on the same live snapshot cadence as the remaining byte counter even when large-queue statistics are cached.
|
||||
|
||||
### Proxy limit tuning
|
||||
|
||||
- Increase the default global proxy connection budget for new settings from 20 to 32 and raise the configurable maximum from 32 to 40 while retaining fair sharing and adaptive 429/503 backoff.
|
||||
|
||||
@@ -175,6 +175,8 @@ npm exec -- tsc --noEmit
|
||||
|
||||
## Verifizierungen vom 31. August 2026
|
||||
|
||||
- Unveröffentlichter Sidebar-Live-Takt-Fix: Bei laufenden Queues ab 500 Einträgen bleibt der Sitzungs-Bytezähler trotz des 1,5-Sekunden-Statistik-Caches in jedem 750-Millisekunden-Live-Snapshot aktuell. Die Bedeutung des kumulativen Sitzungszählers bleibt unverändert. Der vollständige Download-Manager-Lauf war mit 263 von 263 Tests erfolgreich.
|
||||
- Vollständiger Client-Lauf nach dem Live-Takt-Fix: 2.658 Tests erfolgreich und 4 optionale JVM-Tests übersprungen; genau ein unveränderter Entpacktest überschritt unter paralleler Gesamtlast einmal sein 5-Sekunden-Limit. Der unmittelbar folgende isolierte Lauf aller 84 Entpacktests war vollständig grün. TypeScript, Main-/Renderer-Build, Self-Check und 16 von 16 Backup-API-Tests waren ebenfalls erfolgreich; die bekannte Vite-Warnung zum rund 576 KiB großen Renderer-Chunk bleibt bestehen.
|
||||
- Unveröffentlichte 32/40-Limitanpassung: Proxy-Scheduler, Storage, Einstellungen, Renderer-Projektion und visuelle Fixtures 229 von 229 Tests erfolgreich. Die Main-Normalisierung deckt Standard 32, Minimum 2, Maximum 40 und Werte oberhalb des Maximums direkt ab.
|
||||
- Vollständiger Client-Lauf nach der 32/40-Anpassung ohne die zwei lokal nicht ausführbaren Symlink-Fixtures: 140 Testdateien erfolgreich, 1 JVM-Testdatei übersprungen; 2.658 Tests erfolgreich und 4 übersprungen. Die übrigen 22 Public-Release-Metadatentests liefen separat erfolgreich. Alle 84 Entpacktests sind unverändert grün.
|
||||
- Nach der 32/40-Anpassung erfolgreich: TypeScript, vollständiger Main-/Renderer-Build, Self-Check und 16 von 16 Backup-API-Tests. Die bekannte Vite-Warnung zum rund 576 KiB großen Renderer-Chunk bleibt bestehen.
|
||||
|
||||
@@ -2855,7 +2855,10 @@ export class DownloadManager extends EventEmitter {
|
||||
public getStats(now = nowMs()): DownloadStats {
|
||||
const itemCount = this.itemCount;
|
||||
if (this.statsCache && this.session.running && itemCount >= 500 && now - this.statsCacheAt < 1500) {
|
||||
return this.statsCache;
|
||||
return {
|
||||
...this.statsCache,
|
||||
totalDownloaded: this.sessionDownloadedBytes
|
||||
};
|
||||
}
|
||||
|
||||
this.resetSessionTotalsIfQueueEmpty();
|
||||
|
||||
@@ -84,6 +84,25 @@ describe("download live update cadence", () => {
|
||||
vi.useRealTimers();
|
||||
}
|
||||
});
|
||||
|
||||
it("keeps the session byte counter live while large-queue statistics are cached", () => {
|
||||
const root = fs.mkdtempSync(path.join(os.tmpdir(), "rd-live-session-bytes-"));
|
||||
tempDirs.push(root);
|
||||
const session = emptySession();
|
||||
session.running = true;
|
||||
const manager = new DownloadManager(defaultSettings(), session, createStoragePaths(path.join(root, "state")));
|
||||
const internal = manager as unknown as {
|
||||
itemCount: number;
|
||||
sessionDownloadedBytes: number;
|
||||
};
|
||||
|
||||
internal.itemCount = 500;
|
||||
internal.sessionDownloadedBytes = 8 * 1024 * 1024;
|
||||
expect(manager.getSnapshot().stats.totalDownloaded).toBe(8 * 1024 * 1024);
|
||||
|
||||
internal.sessionDownloadedBytes = 16 * 1024 * 1024;
|
||||
expect(manager.getSnapshot().stats.totalDownloaded).toBe(16 * 1024 * 1024);
|
||||
});
|
||||
});
|
||||
|
||||
describe("snapshot revision", () => {
|
||||
|
||||
Reference in New Issue
Block a user