# Perf/Stabilität Audit Log ## Abgeschlossen in dieser Session - [x] **3.1.3** — Doppel-Render beim Retry vieler Jobs entfernt. - [x] **3.1.4** — Byse disk-space als account-level klassifiziert (vorher fälschlich file-rejected). - [x] **3.1.5** — Pre-job-swap hinter Semaphore-Queue + Late-Resolve bei save-config. - [x] **3.1.6** — `JSON.stringify(files/hosters)` aus start-upload debugLog raus. - [x] **3.1.7** — Status-Change-Events im Renderer via rAF coalesced. - [x] **3.1.8** — Byse-Poller race-condition fix (kein "newFiles.length===1"-Fallback mehr) + transient-network-classifier mit 2 Tests abgesichert + Memory-Snapshot-Logger bei Batch-Boundaries. ## Getestet / validiert - 82 Unit-Tests grün - Error-Klassifikation (fileRejected / accountError / transient) hat jetzt eindeutige, getestete Trennlinien - Rotation-Pipeline durchspielbar in Tests (session memory, late-add, override-precedence) ## Nicht angegangen (Follow-ups) - **Throughput bei 20+ parallelen Uploads** — bräuchte Lasttest-Setup mit Mock-Hoster; speculative ohne User-Beschwerde. - **Netz-Ausfall-Recovery** — Klassifikator getestet, echter Network-Interrupt-Integrationstest nicht gemacht (aufwendiger Setup, real-world: Transients werden korrekt erkannt). - **Live Memory-Tracking** — Batch-Boundary-Logging liefert jetzt Datenpunkte. Bei wachsendem `rss`/`heapUsed` über Batches hinweg: Leak-Verdacht, dann in DevTools profilen. ## Bekannte externe Issues (nicht fixbar bei uns) - Byse "Not video file format" bei manchen MKV-Releases ist Byse-seitige Codec/Container-Validierung. Lösung: Datei vorher remuxen (z.B. mit mkvtoolnix). - Real-Debrid-Downloader + Multi-Hoster-Upload konkurrieren um File-Handles → WinError 5 beim Rename. Workaround: Downloader komplett durchlaufen lassen bevor Queue gezogen wird.