Twitch-VOD-Manager/src
xRangerDE 8d4b0704db feat: local archive search — new Archiv tab
Pairs with 4.6.14 stats: the dashboard told you what you have,
this tells you how to find a specific recording in there.

New Archiv tab between Statistik and Einstellungen. Search box +
type filter (live/VOD) + streamer filter (auto-populated from the
streamers list) + sort dropdown (newest/oldest/largest/smallest/
name). Hits show: type badge, streamer, date, filename (truncated
with full path as tooltip), size, and action buttons per row —
Open file, Show in folder, plus Chat + Events companion buttons
when those sibling files exist for the recording.

Backend (searchArchive in main.ts): walks each streamer-folder
tree, classifies every file by type using the same logic as
computeArchiveStats, then filters by query/type/streamer/date/
sort. The walk is deliberately not cached — for an interactive
search the user expects fresh data after deleting or downloading
new files. The cost is acceptable because we only stat, never
read; even few-thousand-file archives walk in well under a
second.

Companion attachment: each recording fullPath strips its .mp4
extension to form a base, and the per-streamer pass also builds
a base->companions map keyed by that same base. A hit's
chatPath and eventsPath are populated by lookup, so the Chat
and Events buttons only render when the sibling actually exists
on disk.

Frontend (renderer-archive.ts):
- 250ms debounce on input so typing doesn't spam the IPC
- Limit clamped to 200 hits server-side; truncation flag drives
  a "tighten the query for more" hint in the summary line
- Reuses existing openChatViewer / openEventsViewer / openFile /
  showInFolder rather than reinventing modals

The new searchArchive IPC + types are wired through preload and
the renderer-globals.d.ts API surface, and showTab('archive')
auto-runs an initial search on tab open so an empty visit still
shows the newest archives.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 00:26:42 +02:00
..
index.html feat: local archive search — new Archiv tab 2026-05-11 00:26:42 +02:00
main.ts feat: local archive search — new Archiv tab 2026-05-11 00:26:42 +02:00
preload.ts feat: local archive search — new Archiv tab 2026-05-11 00:26:42 +02:00
renderer-archive.ts feat: local archive search — new Archiv tab 2026-05-11 00:26:42 +02:00
renderer-globals.d.ts feat: local archive search — new Archiv tab 2026-05-11 00:26:42 +02:00
renderer-locale-de.ts feat: local archive search — new Archiv tab 2026-05-11 00:26:42 +02:00
renderer-locale-en.ts feat: local archive search — new Archiv tab 2026-05-11 00:26:42 +02:00
renderer-queue.ts feat: live recording health indicator (green/amber dot per item) 2026-05-10 22:04:53 +02:00
renderer-settings.ts feat: auto-resume live recording across streamlink crashes 2026-05-11 00:10:44 +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-stats.ts feat: archive statistics dashboard 2026-05-11 00:20:14 +02:00
renderer-streamers.ts feat: auto-vod-download — per-streamer VOD toggle + background poller 2026-05-10 21:59:05 +02:00
renderer-texts.ts feat: local archive search — new Archiv tab 2026-05-11 00:26:42 +02:00
renderer-updates.ts feat: skip-version + addStreamer validation + smart-scheduler tooltip 2026-05-10 12:14:13 +02:00
renderer.ts feat: local archive search — new Archiv tab 2026-05-11 00:26:42 +02:00
styles.css feat: live recording health indicator (green/amber dot per item) 2026-05-10 22:04:53 +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 recording health indicator (green/amber dot per item) 2026-05-10 22:04:53 +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