Skip to content

fix(lg): decode the base64+zlib schedulelist payload - #64

Merged
iFlip721 merged 1 commit into
mainfrom
ls-playlist
Sep 3, 2026
Merged

fix(lg): decode the base64+zlib schedulelist payload#64
iFlip721 merged 1 commit into
mainfrom
ls-playlist

Conversation

@iFlip721

@iFlip721 iFlip721 commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

LG now serves the catalog as base64 of a zlib stream under text/plain, so res.json() threw and every sync fell back to the offline snapshot. That fallback skips both channel pruning and the self-EPG (syncLive gates each on result.live), so the LG guide had gone unwritten since ~2026-06-27.

parseSchedulelist sniffs JSON vs base64+zlib/gzip, so an LG rollback needs no code change; inflate is bounded by a 64MB guard. Both callers (listChannels and syncLgEpg) share the one fetch point, so this covers each.

Also: a missing EPG crosswalk addon (ENOENT) now logs at info rather than warn — it's the documented steady state for the 13 sources whose addon is wired but uncommitted, and the warning was burying real ones. A present-but-corrupt file still warns.

Snapshot rebuilt live: 200 -> 194 rows (17 gone, 11 new).

LG now serves the catalog as base64 of a zlib stream under text/plain, so
res.json() threw and every sync fell back to the offline snapshot. That
fallback skips both channel pruning and the self-EPG (syncLive gates each on
result.live), so the LG guide had gone unwritten since ~2026-06-27.

parseSchedulelist sniffs JSON vs base64+zlib/gzip, so an LG rollback needs no
code change; inflate is bounded by a 64MB guard. Both callers (listChannels
and syncLgEpg) share the one fetch point, so this covers each.

Also: a missing EPG crosswalk addon (ENOENT) now logs at info rather than warn
— it's the documented steady state for the 13 sources whose addon is wired but
uncommitted, and the warning was burying real ones. A present-but-corrupt file
still warns.

Snapshot rebuilt live: 200 -> 194 rows (17 gone, 11 new).
@iFlip721
iFlip721 merged commit 48ddf09 into main Sep 3, 2026
6 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.

1 participant