Twitch-VOD-Manager/src
xRangerDE b7c7b9eb7c feat: per-streamer storage stats panel — see what eats the disk
With auto-record running across N streamers, disk usage compounds
quickly and silently. New Settings -> Storage card walks the
download folder once per Refresh click and shows per-streamer
totals so the user can decide which folders to thin out.

Server:
- new computeStorageStats() — readdirSync the download_path top
  level, classify each subfolder as a known streamer (matches
  config.streamers case-insensitive), the special "Clips" bucket,
  or extra (unknown user-created folder, surfaced separately so
  it does not get conflated with archive bytes). Recursive
  walkFolderForStats counts files + total bytes + live-only bytes
  (subfolder named "live" — populated by the live-recording
  feature) + chat bytes (anything matching .chat.json or
  .chat.jsonl). Skips per-entry on permission errors so a single
  blocked folder can not abort the whole scan.
- Sort order: largest first, both for streamers and extras.
- IPC get-storage-stats returns the structured result.

Renderer:
- Settings card with a Refresh button + summary line ("X files,
  Y bytes, free disk Z") + two tables (known-streamers, then
  extras) with columns for file count, total bytes, live bytes,
  chat bytes, and a per-row Open button that drops the user
  straight into Explorer at that folder.
- Tables built via createElement (no innerHTML) so a streamer
  named with HTML special chars cannot escape the cell.
- DE + EN labels for everything; column headers and the Open
  button locale-switch on the fly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 20:54:19 +02:00
..
index.html feat: per-streamer storage stats panel — see what eats the disk 2026-05-10 20:54:19 +02:00
main.ts feat: per-streamer storage stats panel — see what eats the disk 2026-05-10 20:54:19 +02:00
preload.ts feat: per-streamer storage stats panel — see what eats the disk 2026-05-10 20:54:19 +02:00
renderer-globals.d.ts feat: per-streamer storage stats panel — see what eats the disk 2026-05-10 20:54:19 +02:00
renderer-locale-de.ts feat: per-streamer storage stats panel — see what eats the disk 2026-05-10 20:54:19 +02:00
renderer-locale-en.ts feat: per-streamer storage stats panel — see what eats the disk 2026-05-10 20:54:19 +02:00
renderer-queue.ts feat: live stream recording — record streamers as they go live 2026-05-10 20:30:08 +02:00
renderer-settings.ts feat: per-streamer storage stats panel — see what eats the disk 2026-05-10 20:54:19 +02:00
renderer-shared.ts fix: persist expanded details across re-renders, guard drag-drop init against duplicates 2026-03-21 15:03:20 +01:00
renderer-streamers.ts feat: auto-record polling — set-and-forget live archival 2026-05-10 20:35:19 +02:00
renderer-texts.ts feat: per-streamer storage stats panel — see what eats the disk 2026-05-10 20:54:19 +02:00
renderer-updates.ts feat: skip-version + addStreamer validation + smart-scheduler tooltip 2026-05-10 12:14:13 +02:00
renderer.ts feat: stats-bar pause-on-hidden + bulk-mark downloaded + title tooltip 2026-05-10 20:20:42 +02:00
styles.css feat: auto-record polling — set-and-forget live archival 2026-05-10 20:35:19 +02:00
tools.ts refactor: extract tool discovery functions to src/tools.ts 2026-03-20 10:00:51 +01:00
types.ts feat: live stream recording — record streamers as they go live 2026-05-10 20:30:08 +02:00
update-version-utils.ts chore: migrate repository to Codeberg, bump version to 4.2.0, update update logic 2026-03-01 20:23:21 +01:00