021f3a4bb97a35267dee23eea1eb725a4faf800c
Self-attack on the previous commit's new code, in the function every round has found defective — including, twice now, in the block that fixed the last defect. Qualifying a nested inline object's members as `parent.child` assumes no property name contains a dot. JSON permits one. Measured: a schema with a literal `a.b` member alongside a nested `a` -> `b` collides, and when the literal is `required` the nested optional member is MASKED — it vanishes from the population entirely. Silent-miss direction again, introduced by the fix for a silent miss. Zero dotted property names in the document today, which is exactly the reasoning that has been wrong five times on this issue, so the assumption is asserted rather than relied on. The separator is a named constant, the assumptions test now carries a third clause, and the failure message says what to change instead of only reporting that a fact moved. Witnessed: planting a schema with an `a.b` member fires it. 908 passed 2 skipped, ruff format 0.
fix(754,757): declare graphicsElementIds + padToNearestMinute, and pin every MCP tool to its OpenAPI contract (#760)
fix(754,757): declare graphicsElementIds + padToNearestMinute, and pin every MCP tool to its OpenAPI contract (#760)
ErsatzTV
ErsatzTV lets you transform your media library into a personalized, live TV experience - complete with EPG, channel scheduling, and seamless streaming to all your devices. Rediscover your content, your way.
How It Works
- Install ErsatzTV: Download and set up the server on your system.
- Add Your Media: Connect your media libraries and collections.
- Create Channels: Design and schedule your own live channels.
- Stream Anywhere: Watch on any device with IPTV and EPG support.
Key Features
- Custom channels: Create and schedule your own live TV channels.
- IPTV & EPG: Stream with IPTV and Electronic Program Guide support.
- Hardware Transcoding: High-performance streaming with hardware acceleration (NVENC, QSV, VAAPI, AMF, VideoToolbox)
- Media Server Integration: Connect Plex, Jellyfin, Emby and more.
- Music & Subtitles: Mix music videos and enjoy subtitle support.
- Open Source: Free, open, and community-driven project.
Documentation
Documentation is available at ersatztv.org.
License
This project is inspired by pseudotv-plex and the dizquetv fork and is released under the zlib license.
