Skip to content

Releases: Liberniz/CineFlow

v5.1.0

Choose a tag to compare

@Liberniz Liberniz released this 26 Oct 04:26
feat(tv): sorting in Browse and Favorites (v5.1.0)

Browse gains a sort chip row — 热度优先 / 评分最高 / 最新发布 / 经典最早 — passed to discoverMovies as sortBy (was hardcoded to popularity). TmdbClient maps primary_release_date.* to first_air_date.* on the TV discover side, whose date field has a different name.

Favorites gains a local sort row: 收藏顺序 / 评分最高 / 年份最新 / 年份最早. Search stays relevance-ordered (TMDB search has no sort parameter).

v5.0.0

Choose a tag to compare

@Liberniz Liberniz released this 25 Oct 08:47
feat(tv): native Android TV UI (v5.0.0) — WebView shell retired

The WebView build flickered and crawled on the Sony TV, so the TV client is now fully native. Same package and signing: an overwrite install keeps the stored TMDB credential, proxy and resource settings.

- MainActivity: native shell with a left nav rail (首页/浏览/搜索/收藏/设置) hosting fragments; D-pad focus is the platform's own (visible accent focus states + focus scale on cards), Back returns to Home
- Home: rows (今日推荐/正在流行/大众流行) from TmdbClient.getInitialData
- Browse: media-type + genre chips over discoverMovies with paging; Search: searchMovies with paging grid
- DetailActivity: backdrop/poster/meta/cast/recommendations, resource lookup with progressive source loading, line + episode pickers, playback via the existing ExoPlayer PlayerActivity (resolveMediaUrl for page-type links)
- Favorites: new native store (Store.favoritesJson)
- Settings: credential/proxy/resource-mode/custom-source import on the same Store/ResourceClient; scan-to-type survives natively — a dialog drives the same WwwServer one-time LAN page + ZXing QR
- Images via Coil on Net.client(proxy), so posters use the in-app proxy too

The Kotlin data layer (Store/TmdbClient/ResourceClient/Net) and desktop app are unchanged; CineflowBridge/bridge-shim are now unused and left in tree (connector cannot delete files).

v4.2.0

Choose a tag to compare

@Liberniz Liberniz released this 25 Oct 07:48
feat(tv): remote-first interaction layer (v4.2.0)

The shared desktop UI is pointer-first; on TV that meant invisible focus and mouse-oriented navigation. When the Android bridge shim flags TV mode (window.__CINEFLOW_TV__), the renderer now adds:

- Spatial D-pad navigation: arrow keys move a visible focus (accent outline, cards scale up) across every interactive element using geometry-based scoring, scoped to the topmost open layer
- Cards/resource rows/style chips become focusable automatically (MutationObserver keeps tabindex in sync with re-renders); Enter activates them
- Modals and the detail panel grab focus on open and restore it on close; boot lands focus on the first card
- Back key: MainActivity asks window.__cineflowHandleBack() first — it closes the scan dialog, player, settings or detail panel — before falling back to WebView history / exit
- tv-mode CSS: no cursor, no scrollbars, desktop island handle hidden

Desktop builds are unchanged (the layer stays inert without the flag).

v4.0.1

Choose a tag to compare

@Liberniz Liberniz released this 25 Oct 01:30
fix(tv): load bridge shim as external script (CSP blocked the inline …

v4.0.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 16:09

新增

  • Android TV 版:全新 APK,可安装在索尼电视 / Google TV 上使用(WebView 壳 + 原生 ExoPlayer 播放,Leanback 桌面入口)
  • Windows 安装包:CineFlow-4.0.0-Setup.exe(nsis,x64,未签名)
  • 自定义外部源导入支持 TVBox 格式:{sites:[...]} / 站点数组 / 单站点 JSON / 远程订阅地址(仅 type=1 JSON 接口)

macOS

  • dmg / zip 双架构(arm64 + x64),未签名:首次打开被 Gatekeeper 拦截时,右键应用 → 打开 即可运行

说明

  • 桌面版(Windows / mac)与电视版共用同一套资源站与 TMDB 数据,设置相互独立
  • TV 版暂不支持:DoH / 元数据预热 / 播放代理探测 / 清单级广告过滤
  • 电视上使用遥控器方向键操作,页面为鼠标交互设计,部分悬停效果体验一般

v3.2.1

Choose a tag to compare

@github-actions github-actions released this 05 Oct 16:03
feat: 自定义外部源导入支持 TVBox 格式

- 识别 TVBox 配置({sites:[...]} 或站点数组),提取 type=1 的 JSON 接口
- spider/jar(csp_*)与 xml(type=0)暂不支持,跳过并给出明确错误提示
- 保留原有 JSON 数组 / 分行文本 / 远程 URL 格式,回归测试通过