ytptube/app/library/downloads
Jesse Bate e0dbc2d15d perf: throttle item_updated WebSocket events to 500ms intervals
yt-dlp fires progress hooks faster than the browser can usefully render
them. Previously every callback triggered a WebSocket emit → Vue
reactivity update → DOM re-render, causing unnecessary main-thread work
during active downloads.

Now status changes (e.g. downloading → finished) are always emitted
immediately, while progress-only updates are capped at one per 500ms
per download. A flush_pending() call at loop termination ensures the
final state is never dropped.
2026-06-10 19:32:31 +09:30
..
__init__.py Refactor: download module into testable chunks 2026-01-13 20:05:01 +03:00
core.py refactor: use single logger namespace 2026-05-28 19:07:11 +03:00
hooks.py refactor: add more context to the actual log message. 2026-05-28 17:56:28 +03:00
item_adder.py refactor: use single logger namespace 2026-05-28 19:07:11 +03:00
monitors.py refactor: use single logger namespace 2026-05-28 19:07:11 +03:00
playlist_processor.py refactor: use single logger namespace 2026-05-28 19:07:11 +03:00
pool_manager.py refactor: use single logger namespace 2026-05-28 19:07:11 +03:00
process_manager.py refactor: update log mesages to take advantage of JSONL 2026-05-27 23:53:42 +03:00
queue_manager.py refactor: use single logger namespace 2026-05-28 19:07:11 +03:00
status_tracker.py perf: throttle item_updated WebSocket events to 500ms intervals 2026-06-10 19:32:31 +09:30
temp_manager.py refactor: add more context to the actual log message. 2026-05-28 17:56:28 +03:00
types.py Refactor: download module into testable chunks 2026-01-13 20:05:01 +03:00
utils.py refactor: update log mesages to take advantage of JSONL 2026-05-27 23:53:42 +03:00
video_processor.py refactor: use single logger namespace 2026-05-28 19:07:11 +03:00