Multi-Hoster-Upload/renderer
Administrator 678c9ce3c5 perf(renderer): use live HTMLCollection in selection-class toggles
applyQueueSelectionClasses + applyRecentSelectionClasses ran
tbody.querySelectorAll('.queue-row') / ('.recent-file-row') on every
click. querySelectorAll always walks the tree and returns a fresh
static NodeList. With 200 visible queue rows + frequent click/drag
selections that's a measurable per-click cost.

Switch to getElementsByClassName: returns a live HTMLCollection that
the engine memoizes and updates incrementally as nodes are
inserted/removed. First call still walks once; subsequent calls are
near-free reads. Iteration uses a plain index loop because
HTMLCollection is array-like, not iterable in older runtimes (it is
in modern Chromium, but the index loop is also marginally faster).

No behaviour change. 87/87 still green.
2026-04-28 04:39:57 +02:00
..
app.js perf(renderer): use live HTMLCollection in selection-class toggles 2026-04-28 04:39:57 +02:00
drop-target.html feat: floating drop target window and English column labels 2026-03-12 04:11:01 +01:00
index.html feat(ui): per-job log modal + account label in status 2026-04-22 18:13:53 +02:00
styles.css feat: 'Alle entfernen' button for recent files panel 2026-04-06 23:25:42 +02:00