Previously: clicking "Erneut versuchen" after a batch had already finished spawned a fresh UploadManager with empty _failedAccounts and _accountOverrides. The first retry then burned the full retry budget on the account we already knew was dead (e.g. disk-space-full byse account) before rotation kicked in again — same problem we fixed for within-batch flow but for across-batch flow. - main.js: two module-level maps (_sessionFailedAccounts, _sessionAccountOverrides) cache rotation state across batches in the same app session. Populated on account-failed and on both switchAccount paths (event-driven + save-config re-resolve). - lib/upload-manager.js: startBatch(tasks, opts) accepts primeFailedAccounts + primeOverrides. State is still cleared first (legacy behaviour for callers without opts), then re-primed from the passed session state. batch-start rot-log entry reports how many entries were primed for diagnostics. - Tests: prime priority is honored (pre-job-swap fires on first attempt, no fast-fail, no upload to acc1); back-compat for callers that don't pass opts. App restart remains the reset signal — matches the "neuer Tag, acc1 hat vielleicht wieder Platz" expectation. |
||
|---|---|---|
| .. | ||
| backup-crypto.test.js | ||
| config-store.test.js | ||
| hosters.test.js | ||
| remote-config.test.js | ||
| remote-server.test.js | ||
| semaphore.test.js | ||
| throttle.test.js | ||
| ui-smoke.js | ||
| upload-manager.test.js | ||