Commit graph

10 commits

Author SHA1 Message Date
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
arabcoders
39ed3d0361 refactor: add more context to the actual log message. 2026-05-28 17:56:28 +03:00
arabcoders
cf90db3b4c refactor: update log mesages to take advantage of JSONL 2026-05-27 23:53:42 +03:00
arabcoders
c3132858e7 feat: add download_skipped flag to track intentionally skipped downloads 2026-04-10 18:07:05 +03:00
arabcoders
84077349c7 feat: improve status tracking in downloads 2026-02-14 20:05:08 +03:00
arabcoders
a3fc7f6abb fix: remove unnecessary terminator call and improve exception handling in status tracker 2026-02-13 18:16:18 +03:00
arabcoders
abf4c5cffd fix: remove useless log statement. 2026-01-30 21:13:48 +03:00
arabcoders
3383d5d5dc refactor: move streaming logic to a feature submodule 2026-01-27 17:42:12 +03:00
arabcoders
ad54d80077 Refactor: better final filename status tracking 2026-01-14 19:50:35 +03:00
arabcoders
55a298e0ff Refactor: download module into testable chunks 2026-01-13 20:05:01 +03:00