Skip to content

Fix TwitchDownloaderCLI detection and GetHistory for imported channels - #3

Merged
second2falcon merged 3 commits into
masterfrom
claude/cool-pascal-83mxi7
Sep 20, 2026
Merged

second2falcon merged 3 commits into
masterfrom
claude/cool-pascal-83mxi7

Conversation

@second2falcon

Copy link
Copy Markdown
Owner

Summary

  • Fix TwitchDownloaderCLI showing "not found" — two root causes addressed:
    • "2>&1" was passed as a literal argument to spawn() in DVRBinaries(), not interpreted as a shell redirect, causing the version regex to never match
    • libicu76 was missing from the Dockerfile apt-get install; TwitchDownloaderCLI is a .NET 8 self-contained binary that requires ICU libraries (the old Alpine config had icu-libs but the Debian Trixie migration dropped it)
  • Fix "Fetch History" returning 400 for imported channels — the history .jsonline file is only written during live captures, so channels imported from another system always got "No history found". The endpoint now falls back to the last 5 VODs' chapters_raw data when the file is absent, returning 400 only if there are genuinely no chapters at all.
  • Update docker-compose.yml image reference to ghcr.io/second2falcon/livestreamdvr:latest

Changes

File Change
server/src/Helpers/Software.ts Remove "2>&1" from TwitchDownloader version_args
Dockerfile Add libicu76 to apt-get install
docker-compose.yml Update image reference to fork's GHCR image
server/src/Controllers/Channels.ts Fall back to last-5-VOD chapters in GetHistory when no live-capture history file exists

https://claude.ai/code/session_018ynVqCD9HyYB2nSqpTUwFa


Generated by Claude Code

…l redirect arg

- Remove "2>&1" from TwitchDownloader version_args in Software.ts; it was
  passed as a literal argument to spawn() rather than interpreted as a shell
  redirect, causing the version regex to fail to match
- Add libicu76 to apt-get install in Dockerfile; TwitchDownloaderCLI is a
  .NET 8 self-contained binary that requires ICU libraries for globalization,
  which were missing from the Debian Trixie slim image (the old Alpine config
  explicitly included icu-libs but the migration dropped it)
- Update docker-compose.yml image reference to ghcr.io/second2falcon/livestreamdvr:latest

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ynVqCD9HyYB2nSqpTUwFa
… file exists

Channels imported from another system never trigger the live-capture writes
that build the per-channel .jsonline history file, so Fetch History always
returned 400 "No history found" for them even with 77 recorded VODs.

When the history file is absent, collect chapters_raw from all of the
channel's loaded VODs, sort them by started_at, and return those instead.
The 400 error is preserved only when there are genuinely no VODs with
chapters either.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ynVqCD9HyYB2nSqpTUwFa
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ynVqCD9HyYB2nSqpTUwFa
@second2falcon
second2falcon merged commit 97e3736 into master Sep 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants