real-debrid-downloader/src/main
Sucukdeluxe 3c9894c7b0 Performance: ItemRow extraction + scheduler single-pass + selectedIds memo fix
Major optimizations to reduce UI lag with large queues (5000+ items):

1. ItemRow extracted to its own memoized component (renderer)
   Previously every package re-render mapped all its items inline,
   producing N×M re-renders per state update. Now each item-row only
   re-renders when ITS specific data changes, with custom equality on
   the visible fields (status, progress, speed, fullStatus, etc.).
   Also adds stable useCallback handlers per item.

2. PackageCard stats consolidated into single useMemo (renderer)
   Replaces 5 separate filter()/some() + 2 reduce() calls (O(7N)) with
   one O(N) pass collecting all aggregates (done/failed/cancelled/
   extracted/extracting/activeProgress/extractingProgress).

3. selectedIds memo comparator fixed (renderer)
   Custom equality now checks if selection state changed for items in
   THIS package only. Previously any selection anywhere broke memo on
   all 200+ visible PackageCards.

4. Scheduler single-pass queue presence (main)
   New getQueuePresence() returns hasImmediate + hasDelayed in one
   iteration. Replaces hasQueuedItems() + hasDelayedQueuedItems() that
   each scanned packages independently. Saves one full O(n) iteration
   per scheduler tick.

No functional changes. All 565 tests green.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-19 13:07:42 +02:00
..
all-debrid-web.ts Release v1.6.69 2026-03-06 04:17:22 +01:00
app-controller.ts Fix support bundle export freeze and resume prealloc recovery 2026-03-29 03:25:58 +02:00
audit-log.ts Harden support logging and debug setup 2026-03-09 02:47:49 +01:00
backup-crypto.ts Redesign backup system: AES-256-GCM encrypted .mdd format 2026-03-07 16:39:19 +01:00
bestdebrid-web.ts Release v1.6.81 2026-03-06 12:09:39 +01:00
cleanup.ts Harden deferred cleanup races 2026-03-09 17:23:28 +01:00
constants.ts Add Mega-Debrid multi-account support with automatic fallback 2026-03-23 20:12:51 +01:00
container.ts Comprehensive bugfix release v1.6.45 2026-03-05 03:53:28 +01:00
debrid.ts Performance: prune long-lived caches, hoist regexes, idle chart redraws 2026-04-19 12:32:38 +02:00
debug-server.ts Fix Debrid-Link retry recovery 2026-03-10 18:20:19 +01:00
debug-setup.ts Add dedicated rename support logging 2026-03-09 04:48:58 +01:00
download-completion.ts Harden download integrity, extraction safety, and update security 2026-03-28 16:27:21 +01:00
download-manager.ts Performance: ItemRow extraction + scheduler single-pass + selectedIds memo fix 2026-04-19 13:07:42 +02:00
extractor.ts Clean up companion metadata files (.sfv, .nfo, .md5) with their archives 2026-04-04 20:31:58 +02:00
extractor.ts.bak Refactor: Extractor in 18 Sektionen reorganisiert 2026-03-10 23:47:02 +01:00
integrity.ts Release v1.4.31 with full bug-audit hardening 2026-03-01 00:33:26 +01:00
item-log.ts Harden download integrity, extraction safety, and update security 2026-03-28 16:27:21 +01:00
link-export.ts Add package and item link export 2026-03-09 04:11:18 +01:00
link-parser.ts Add package and item link export 2026-03-09 04:11:18 +01:00
logger.ts Add support bundle and trace tooling 2026-03-09 02:15:32 +01:00
main.ts Better error logging for non-Administrator/headless server scenarios 2026-04-19 11:53:07 +02:00
mega-web-fallback.ts Refactor: Extractor in 18 Sektionen reorganisiert 2026-03-10 23:47:02 +01:00
package-log.ts Harden download integrity, extraction safety, and update security 2026-03-28 16:27:21 +01:00
realdebrid-web.ts Fix Real-Debrid web login session reuse 2026-03-09 00:03:05 +01:00
realdebrid.ts Add daily traffic limits, auto-sort packages, Debrid-Link multi-key improvements 2026-03-07 02:29:48 +01:00
rename-log.ts Revert daily-log and queue-scope changes back to v1.7.112 state 2026-03-24 10:15:28 +01:00
session-log.ts Comprehensive bugfix release v1.6.45 2026-03-05 03:53:28 +01:00
storage.ts Better error logging for non-Administrator/headless server scenarios 2026-04-19 11:53:07 +02:00
support-bundle.ts Fix support bundle export freeze and resume prealloc recovery 2026-03-29 03:25:58 +02:00
support-data.ts Add app runtime statistics 2026-03-09 04:59:00 +01:00
trace-log.ts Harden type safety and recovery guards 2026-03-10 05:54:19 +01:00
update.ts Harden download integrity, extraction safety, and update security 2026-03-28 16:27:21 +01:00
utils.ts Harden type safety and recovery guards 2026-03-10 05:54:19 +01:00
windows-host-diagnostics.ts Fix support bundle export freeze and resume prealloc recovery 2026-03-29 03:25:58 +02:00