Repository navigation
Releases: Liberniz/CineFlow
Releases · Liberniz/CineFlow
Release list
v5.1.0
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
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
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
v4.0.0
新增
- 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
feat: 自定义外部源导入支持 TVBox 格式
- 识别 TVBox 配置({sites:[...]} 或站点数组),提取 type=1 的 JSON 接口
- spider/jar(csp_*)与 xml(type=0)暂不支持,跳过并给出明确错误提示
- 保留原有 JSON 数组 / 分行文本 / 远程 URL 格式,回归测试通过