12 Commits

Author SHA1 Message Date
Felix
0189cb929c chore(uaflix): invalidate cached season structures
Bump the season structure cache key to v3 so stale entries that may include premiere episodes are not reused.
2026-06-15 09:02:40 +03:00
Felix
b6c9c748cd fix(uaflix): return null for premiere-only seasons
Previously, seasons containing only unreleased premiere episodes were skipped during season structure iteration. This could allow downstream processing to continue without a valid season result.

Return null when every episode in a season is filtered as a premiere, making the no-available-episodes case explicit for callers.
2026-06-15 08:56:35 +03:00
Felix
ddcbc3eae8 refactor(uaflix): centralize premiere episode filtering
Filter out unreleased premiere episodes before building UAFLIX season episode structures, so downstream episode ordering, voice creation, and zetvideo handling only process available episodes. Added logging for filtered and fully-premiere seasons to make skipped content visible during probing.
2026-06-15 08:53:56 +03:00
Felix
e695121444 fix(uaflix): skip probing unreleased premiere episodes
Mark season episodes whose description title contains «Прем'єра» and skip player probing for them. This avoids unnecessary HTTP requests for episodes that have not aired yet.
2026-06-15 08:46:19 +03:00
Felix
6a398317a4 feat(uaflix): detect missing player and retry movie streams
Add page-status detection for episode parsing so the controller can
distinguish between a missing page, an existing page without a player,
and a page with available streams.

When a movie page exists but no player is present, retry once after a
short delay before failing. If the player still is unavailable, return a
non-cached error so temporary site state does not get persisted.
2026-05-29 18:08:27 +03:00
Felix
9a6fe0ab7c chore(uaflix): bump cache keys for episode and season structures 2026-05-29 16:59:26 +03:00
Felix
f793fefa82 feat(uaflix): support multiple episode streams and translations
Add stream selection by voice title when multiple player sources are
available, and preserve all zetvideo iframe URLs on episode pages so
multiple translations can be generated. Update episode probing to return
structured player info and propagate the selected stream metadata through
play and episode JSON responses.
2026-05-29 16:55:27 +03:00
Felix
35bb155fa3 fix(uaflix): simplify subtitle presence check in episode logging 2026-05-29 16:30:50 +03:00
Felix
dd40ed69f2 refactor(uaflix): handle multiple iframe sources on episode pages
Extract iframe URLs from video-box containers, fallback to all page
iframes, and include og:video:iframe metadata so pages with multiple
players are parsed consistently. Update the episode resolver to probe
all zetvideo embeds and aggregate playable streams instead of relying
on a single iframe. Bump the module version to 5.3.
2026-05-29 16:25:17 +03:00
Felix
04bb7d48b5 Усі модулі тепер коректно передають об'єкт SubtitleTpl у шаблони Lampac, що дозволяє відображати субтитри в інтерфейсі плеєра. 2026-05-02 15:54:56 +03:00
Felix
543aa5f047 refactor: replace dots with underscores in module route paths and identifiers
- Updated all HTTP route paths from "lite/lme.module" to "lite/lme_module" across LME.AnimeON, LME.Bamboo, LME.JackTor, LME.KlonFUN, LME.Makhno, LME.Mikai, LME.NMoonAnime, LME.StarLight, LME.UafilmME, LME.Uaflix, and LME.Unimay controllers
- Standardized error messages, log prefixes, cache keys, and other string identifiers to use underscores instead of dots for consistency with naming conventions
- Applied changes to ModInit.cs, OnlineApi.cs, and invoke classes to maintain uniformity in module references
2026-04-12 11:14:26 +03:00
Felix
2cb90e15a9 refactor(modules): prefix namespaces and identifiers with LME 2026-04-12 10:20:44 +03:00