84 Commits
Author SHA1 Message Date
kuekhaoyang 0294f59602 fix: keep mobile fullscreen controls visible 2026-07-29 22:36:05 +08:00
kuekhaoyang f98de077f7 fix: player UX, ad fingerprinting, Android TV 9 white screen
Address issues #217 #218 and integrate the useful parts of PR #219 without
regressions: stop player rebuild on episode reverse, grid/paged episodes,
poster placeholders, chrome69 client transpile for Amlogic WebView, and
duration-signature ad block detection while keeping interstitial/proxy filters.

Bump to 4.9.15.
2026-07-25 14:43:30 +08:00
kuekhaoyang bacd3f887e Fix mobile danmaku canvas scaling 2026-07-09 15:48:38 +08:00
kuekhaoyang dedf496761 fix: hide cursor during fullscreen playback 2026-07-08 22:12:34 +08:00
kuekhaoyang c1bcb5141a Fix Android APK PiP capture 2026-04-16 17:06:37 +08:00
kuekhaoyang 19e9707041 Fix managed auth and source list regressions 2026-04-15 23:04:41 +08:00
kuekhaoyang 833077a1f6 fix(cloudflare): remove node-only site icon route 2026-04-12 12:23:03 +08:00
kuekhaoyang 727fc2b0ed fix(docker): make the site icon configurable at runtime
Add SITE_ICON_FILE and SITE_ICON_URL support for the Docker image, route the app shell and manifest through a runtime icon endpoint, document the new Docker branding flow, and bump the app version to 4.8.3.
2026-04-12 11:26:57 +08:00
kuekhaoyang e2d7549a70 fix(player): expand the default player viewport
Remove the extra player shell, make the inline player full width on phones, align portrait web fullscreen to the top, and bump the app version to 4.8.2.

Closes #154
2026-04-12 10:51:48 +08:00
kuekhaoyang 15f6e434c8 fix(player): guard cast SDK in Android WebView
Fixes #147
2026-04-09 22:41:15 +08:00
kuekhaoyang fb4f50ee7f Hide fullscreen clock with player controls
Fixes #141
2026-04-08 14:05:53 +08:00
kuekhaoyang 372e60c4e5 fix: restore Android PiP/fullscreen and remove stale media caching
Fixes #142
2026-04-08 13:49:24 +08:00
kuekhaoyang 5829a79ee3 fix: enforce compliance mode for managed deployments 2026-04-02 21:42:00 +08:00
kuekhaoyang c8b7544f36 fix: stabilize iOS web fullscreen across auto-next 2026-04-02 20:35:27 +08:00
kuekhaoyang 48ad9bc252 fix: restore HLS ad filtering
Closes #133

Closes #134
2026-04-02 20:12:59 +08:00
kuekhaoyang a6bfcf4b36 feat: add configurable seek step setting 2026-04-02 19:57:08 +08:00
kuekhaoyang 35f7f4d83a feat: upgrade player fullscreen buffering and panel controls 2026-03-26 13:51:45 +08:00
kuekhaoyang 286d72341e fix: update video resolution badge visibility logic in DesktopVideoPlayer 2026-03-18 13:26:47 +08:00
kuekhaoyang 5d8c3daba0 feat: add full source resolution probing and display in player UI 2026-03-18 13:06:58 +08:00
kuekhaoyang 3564ce1ede chore: update package versions and add user config sync API
- Bump version to 4.8.0 and update dependencies in package.json
- Implement user config sync API for cross-device settings persistence
- Add resolution badge auto-hide hook for improved user experience
- Create useConfigSync hook to manage user settings synchronization with the server
2026-03-18 12:44:05 +08:00
kuekhaoyang b5a8a7f6c6 feat: enhance HLS player to prefer H.264 for compatibility with HEVC levels and update VideoGroupCard to include premium parameter in URL 2026-03-12 23:20:29 +08:00
kuekhaoyang 49fd5b70f4 feat: add video resolution detection and expose callback in player components 2026-03-12 23:12:55 +08:00
kuekhaoyang 0e87c94a64 feat: 修复超长 URL (414) 问题,添加分辨率检测,修复高级模式 bug,提升兼容性
- 将 groupedSources 存储在 sessionStorage 中而非 URL 参数里,以防止因 URL 过长导致的 CDN 414 错误 (#112)
- 自动将旧版 groupedSources URL 迁移至短 gs 键
- 从视频元素中检测并显示实际视频分辨率(例如 1920x1080),不再依赖来源提供的标签
- 修复 PlayerNavbar 设置链接在高级模式下总是跳转到 /settings 而非 /premium/settings 的问题 (#106)
- 修复 WatchHistorySidebar 未向 HistoryList 传递 isPremium,导致历史记录项 URL 丢失 premium=1 参数的问题 (#106)
- 为 HLS 播放添加多级浏览器回退机制 (HLS.js → 原生 → 代理 → 错误并提供浏览器建议) (#104)
- 在 IPTV 播放器中添加 HEVC/H.265 级别过滤,防止 CCTV 等频道出现仅有音频播放的问题 (#81)
- 更新依赖并升级版本至 4.5.0
2026-03-12 22:58:30 +08:00
kuekhaoyang 1e14948225 feat: implement locale switching between Simplified and Traditional Chinese with opencc-js 2026-03-01 13:22:06 +08:00
kuekhaoyang c95d7d5d95 feat: add premium password protection and enhance search functionality
- Implemented a separate password for premium content access via `PREMIUM_PASSWORD` environment variable.
- Added a `PremiumPasswordGate` component to manage access to premium content.
- Enhanced search functionality to support Traditional Chinese to Simplified Chinese conversion for broader search compatibility.
- Introduced automatic video quality labels in search results for better user experience.
- Added support for IPTV sources configuration through environment variables.
- Enabled merging of sources in search results based on environment variable settings.
- Updated volume control logic to handle mute state more effectively in video playback.
- Improved README documentation to reflect new features and configurations.
2026-03-01 12:06:53 +08:00
kuekhaoyang 82993e368b feat: Improve UI responsiveness for player controls, settings, and import tabs, and update lucide-react to 0.575.0. 2026-02-19 21:11:19 +08:00
kuekhaoyang c0fcfcc4ac feat: implement IPTV channel search debouncing and pagination, add video source auto-fallback, and improve type normalization. 2026-02-19 14:27:17 +08:00
kuekhaoyang 9ea9f85507 feat: Implement user-defined video sources and danmaku API management with new settings pages and a dedicated store. 2026-02-19 11:56:14 +08:00
kuekhaoyang e1ea1a0d9a feat: Implement IPTV access control, enhance IPTV player with keyboard shortcuts, auto-refresh source latencies, normalize video type names, and persist source badge expansion state. 2026-02-18 11:53:42 +08:00
kuekhaoyang aa8f8e9ff9 feat: enhance IPTV player with comprehensive controls, improved stream loading robustness, and UI refinements including volume, progress, and fullscreen. 2026-02-17 22:24:49 +08:00
kuekhaoyang 6a2e28c615 feat: Implement IPTV stream proxy to resolve CORS issues and refine desktop player menu positioning for fullscreen. 2026-02-17 17:57:56 +08:00
kuekhaoyang 5d139114b5 feat: Implement IPTV functionality with channel management and player, and add admin account configuration generation. 2026-02-17 16:37:53 +08:00
kuekhaoyang acf8cff63a feat: Persist player volume and mute settings and integrate source selection directly into the episode list. 2026-02-17 12:42:41 +08:00
kuekhaoyang 338981dadb feat: Add initial support for Android TV and Apple TV platforms, introduce a dedicated premium mode settings store, and implement personalized video recommendations. 2026-02-17 12:00:07 +08:00
kuekhaoyang 0750ebc12b feat: Add comprehensive danmaku settings UI and store integration, and refactor danmaku props from player control components. 2026-02-17 10:38:23 +08:00
kuekhaoyang df37806de7 feat: Implement danmaku (bullet comments) functionality with API integration, settings, and player display. 2026-02-17 10:21:07 +08:00
kuekhaoyang b11463a347 refactor: Simplify cast availability logic to immediately show the cast button upon SDK load and update package version. 2026-02-17 09:29:28 +08:00
kuekhaoyang a9888353a3 feat: Implement mobile double-tap gestures for video player controls and apply CSS optimizations. 2026-02-16 23:27:45 +08:00
kuekhaoyang e95fae4284 feat: Implement language filtering and display language information across video components. 2026-02-16 22:08:25 +08:00
kuekhaoyang c8402aedef feat: Implement HLS blob URL playback fallback for WebView-based browsers and increment package version. 2026-02-16 21:39:24 +08:00
kuekhaoyang e04fe79355 feat: Introduce 'auto' fullscreen type with device-specific defaults, update player logic and settings, and add dedicated iOS fullscreen documentation. 2026-02-16 10:58:47 +08:00
kuekhaoyang bb7bc3e75f feat: Enhance M3U8 ad detection with proxy URL unwrapping and segment-level analysis, and implement proxy fallback for HLS playlist fetching. 2026-02-16 10:31:09 +08:00
kuekhaoyang 772e377b3d feat: Conditionally adjust speed menu and button dimensions for rotated display. 2026-02-04 20:18:02 +08:00
kuekhaoyang 30f54e5fa7 feat: Improve dropdown menu positioning and alignment for MoreMenu and SpeedMenu in rotated fullscreen landscape mode. 2026-02-04 20:10:53 +08:00
kuekhaoyang 5d13724af4 feat: Adjust menu positioning logic for rotated mode by modifying left, align, top, and bottom styles. 2026-02-04 19:42:31 +08:00
kuekhaoyang b12bdc06da feat: Implement smart positioning and dynamic opening for desktop menus, and refine overlay navigation button pointer event handling. 2026-02-04 19:27:29 +08:00
kuekhaoyang cfebce6f56 feat: Center desktop player menus in normal mode and adjust right controls z-index. 2026-02-04 18:57:12 +08:00
kuekhaoyang b608d1031c feat: Enhance desktop player menu positioning for rotated states and improve control button clickability. 2026-02-04 17:36:16 +08:00
kuekhaoyang a7020529df Refactor: improve dropdown menu positioning by calculating relative to container and adjust slider track hover area. 2026-02-04 17:22:35 +08:00
kuekhaoyang 787110bd40 . 2026-02-04 17:13:00 +08:00