Multi-Hoster-Upload/renderer
Administrator bb89de3c93 perf: tab switch O(1), parallel settings save, cached hoster counts, sort-cache reuse
Four user-visible lag sources tracked down from a wider audit:

  - Tab click was running three full querySelectorAll walks per click
    (remove active from all tabs, all views, find new tab). Replaced
    with delegated listener on the tab bar plus cached node maps;
    tab switching is now O(1) and a no-op when clicking the active tab.

  - saveSettings awaited saveHosterSettings + saveGlobalSettings
    serially and then re-fetched the full config from main. With
    autosave firing on every keystroke this added 100–200ms of IPC
    stall per input change. The two saves now run in parallel and the
    post-save getConfig refetch is gone — we know the new state.

  - showContextMenu rebuilt hosterCounts (queueJobs.forEach) on every
    right-click. Replaced with a length-keyed cache; right-click on a
    5000-job queue no longer pauses while counting.

  - Recent-panel shift-click was querying every .recent-file-row in
    the DOM and re-parsing data-order. Reuses _recentSortCache.result
    instead, O(visible) vs O(N).
2026-04-20 14:13:09 +02:00
..
app.js perf: tab switch O(1), parallel settings save, cached hoster counts, sort-cache reuse 2026-04-20 14:13:09 +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(recent): export all recent uploads (name+link+hoster+time) 2026-04-19 11:35:41 +02:00
styles.css feat: 'Alle entfernen' button for recent files panel 2026-04-06 23:25:42 +02:00