Missing architecture docs: channel management, M3U generation, logo fixes #6
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Finding (adversarial docs review 2026-03-17)
The ersatztv project has good CLAUDE.md and MEMORY.md coverage for the tech stack and CI/CD, but no design/architecture documentation for the application-level concerns that matter most for maintaining this fork:
What's missing
Channel architecture: How channels are defined, what content sources feed them, scheduling logic. The 29 (or 31?) channels are listed in
Docker/ErsatzTV.mdin server-management docs but the design decisions behind them aren't captured.M3U/XMLTV generation: How playlists are built, the tvg-logo URL issue (Gitea issue #1), and how Jellyfin consumes the output. This is the core integration point.
Logo fix design: The logo watermark/fix script is documented in server-management's
Docker/ErsatzTV.mdbut the reasoning and implementation approach aren't in this repo.Fork maintenance strategy: Upstream is archived (Feb 2026). How do we handle:
Suggested approach
docs/directory or expand MEMORY.md with architecture notesAddressed in
f1e97b94. Added three docs:docs/fork-strategy.md— Fork maintenance strategy covering:docs/channels.md— Channel architecture covering:docs/m3u-xmltv.md— M3U/XMLTV integration covering:localhostis only inChannelLogoGenerator.GenerateChannelLogoUrl()used by watermarks, not M3U output. The logo issue may be a network/Host-header problem rather than a code bug.Also updated CLAUDE.md with implementer workflow and project boundaries sections.