timothy 021f3a4bb9 fix(807): the dotted path I just added could MASK a nested member
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.
2026-08-23 01:36:32 +02:00
2022-04-28 06:56:01 -05:00
2025-11-11 06:12:46 -06:00
2021-02-08 21:13:53 -06:00
2023-08-13 09:33:33 -05:00
2025-11-26 10:49:01 -06:00
2026-02-24 15:27:51 -06:00

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.

contact features community

epg-example

How It Works

  1. Install ErsatzTV: Download and set up the server on your system.
  2. Add Your Media: Connect your media libraries and collections.
  3. Create Channels: Design and schedule your own live channels.
  4. 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.

S
Description
Fork of ErsatzTV - custom IPTV channel server (upstream archived Feb 2026)
Readme Zlib
79 MiB
v26.11.0
Latest
2026-07-20 22:22:04 +02:00
Languages
C# 64.6%
TypeScript 15.7%
Python 10.1%
JavaScript 5.8%
Shell 2.6%
Other 1.1%