Commit Graph
100 Commits
Author SHA1 Message Date
kuekhaoyang d325603123 fix: support WebView 83 client assets 2026-07-09 16:07:57 +08:00
kuekhaoyang bacd3f887e Fix mobile danmaku canvas scaling 2026-07-09 15:48:38 +08:00
kuekhaoyang 93e6699937 fix: disable Vercel analytics outside Vercel 2026-07-09 15:07:34 +08:00
kuekhaoyang 89d1d7268b chore: ignore Wrangler local state in Docker context 2026-07-08 23:39:47 +08:00
kuekhaoyang 47b691a097 chore: exclude generated TypeScript files from Docker context 2026-07-08 23:38:04 +08:00
kuekhaoyang 8ebc2ae009 chore: ignore Cloudflare build output in Docker context 2026-07-08 23:32:42 +08:00
kuekhaoyang 787680468b feat: clarify proxy and add LAN access toggle 2026-07-08 23:28:25 +08:00
kuekhaoyang 0f39d65b75 fix: default homepage to popular tab
Ensure the homepage always opens on the 热门 tag instead of automatically selecting 为你推荐, even when viewing history exists or cached tags omit the popular tag.

Fixes #182

Fixes #190
2026-07-08 23:00:09 +08:00
kuekhaoyang 62dafbfe59 feat: add homepage category shortcuts 2026-07-08 22:34:29 +08:00
kuekhaoyang dedf496761 fix: hide cursor during fullscreen playback 2026-07-08 22:12:34 +08:00
kuekhaoyang f2667d42de chore: upgrade Next.js 2026-07-08 21:50:07 +08:00
kuekhaoyang a5f9293658 Fix managed auth force mode 2026-07-08 21:36:06 +08:00
kuekhaoyang c1bcb5141a Fix Android APK PiP capture 2026-04-16 17:06:37 +08:00
kuekhaoyang eef52c751c Make source badges numeric only 2026-04-16 16:41:37 +08:00
kuekhaoyang 49951c67ef Fix source resolution badge probing 2026-04-16 16:31:17 +08:00
kuekhaoyang 19e9707041 Fix managed auth and source list regressions 2026-04-15 23:04:41 +08:00
kuekhaoyang 9d76bfdaf0 Fix Android TV PiP bridge recursion 2026-04-15 21:57:06 +08:00
kuekhaoyang a205393da0 fix(settings): stabilize update check status 2026-04-12 12:34:09 +08:00
kuekhaoyang 833077a1f6 fix(cloudflare): remove node-only site icon route 2026-04-12 12:23:03 +08:00
kuekhaoyang 4fb718f8d8 feat(settings): add version and update status 2026-04-12 11:57:38 +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 4db08dbf72 fix: sync runtime config into settings 2026-04-08 13:36:09 +08:00
kuekhaoyang e93c259e4a fix: make Android TV setup usable on Android 9
Fixes #144
2026-04-07 22:23:15 +08:00
kuekhaoyang f4f5597a80 fix: polish favorites page implementation 2026-04-07 22:05:39 +08:00
kuekhaoyang 38fe8e00fb fix cloudflare pages direct upload build 2026-04-02 22:41:49 +08:00
kuekhaoyang e73416d76b gate VideoTogether behind settings 2026-04-02 22:29:27 +08:00
kuekhaoyang 37b6e160d7 fix remaining issue 72 ui and iptv regressions 2026-04-02 22:14:46 +08:00
kuekhaoyang 5829a79ee3 fix: enforce compliance mode for managed deployments 2026-04-02 21:42:00 +08:00
kuekhaoyang 9762e0a6b5 Make Android TV APK build manual only 2026-04-02 21:19:19 +08:00
kuekhaoyang f66ca2fd3e Reduce redundant workflow runs 2026-04-02 21:17:00 +08:00
kuekhaoyang c8b7544f36 fix: stabilize iOS web fullscreen across auto-next 2026-04-02 20:35:27 +08:00
kuekhaoyang 773f0f3dc8 Merge VideoTogether website integration
Closes #132
2026-04-02 20:25:47 +08:00
kuekhaoyang 9c3a984984 add VideoTogether website integration 2026-04-02 20:22:53 +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 37d2c4abd9 Respect persisted danmaku API setting 2026-04-02 19:36:20 +08:00
kuekhaoyang 91a89e8bf2 Fix issue #72 follow-ups and IPTV source handling 2026-03-26 14:16:58 +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 064a27c8b6 feat: implement Upstash Redis for user config sync, replacing file-based persistence 2026-03-18 12:52:24 +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 1439a15d22 feat: Enhance PlayerSettings with Danmaku options and improve UI components
- Added Danmaku settings including API URL, opacity, font size, and display area to PlayerSettings.
- Improved button styles and transitions across various UI components for better user experience.
- Updated BackToTop, Badge, Button, Card, ConfirmDialog, Input, ModalBackdrop, ModalHeader, SegmentedControl, and Switch components for consistency with Liquid Glass design.
- Adjusted package versions in package.json and package-lock.json to reflect version 4.5.0.
2026-03-15 17:01:51 +08:00
kuekhaoyangandClaude Opus 4.6 5782da19c6 feat: refine UI design system with polished colors, animations, and components (v4.7.0)
Comprehensive UI overhaul across the Liquid Glass design system:
- Refined color palette with deeper dark mode tones and better contrast
- Updated glass morphism effects with improved blur and saturation values
- Polished Button, Card, Badge, Input, Switch, SegmentedControl components
- Improved VideoCard with poster zoom effect, gradient overlay, and better badge layout
- Refined Navbar with tighter spacing and better icon button hover states
- Enhanced sidebar toggle buttons (rounded-full, better sizing)
- Split PlayerSettings into PlayerSettings + DanmakuSettings (150-line limit)
- Fixed broken rgba(var(--accent-color-rgb)) references with color-mix()
- Added new CSS variables: --radius-xs/sm/md/lg, --shadow-lg, --transition-spring/snappy
- Added staggered children animation and sidebar enter keyframes
- Better scrollbar styling and focus states

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-03-15 16:58:03 +08:00
kuekhaoyangandClaude Opus 4.6 df137c97f3 feat: upgrade Liquid Glass design system to full spec (v4.6.0)
- Upgrade CSS variables with proper glass transparency, fixed gradient
  backgrounds, cubic-bezier(0.2, 0.8, 0.2, 1) fluid transitions, and
  enhanced shadow/border values matching the Liquid Glass touchstone
- Add full backdrop-filter: blur(25px) saturate(180%) to glass-card,
  glass-input, glass-popover, and glass-backdrop CSS classes
- Add lensing inner-glow hover effects and toast-in animation
- Update all UI components (Button, Card, Input, Badge, Switch,
  SegmentedControl, ConfirmDialog, ModalBackdrop, ModalHeader,
  BackToTop, Navbar) for strict Liquid Glass compliance
- Enforce rounded-2xl / rounded-full consistency across all components
- Bump version to 4.6.0, update @vercel/analytics to ^2.0.1

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-03-15 15:47:16 +08:00
kuekhaoyang b424047c5b feat: add resolution probing support to VideoCard, VideoGrid, and VideoGroupCard components 2026-03-12 23:36:30 +08:00
kuekhaoyang b41ead2564 feat: import useResolutionProbe hook for video resolution probing in VideoGrid component 2026-03-12 23:36:23 +08:00
kuekhaoyang f7a166ea19 feat: implement Probe Resolution API and add useResolutionProbe hook for video resolution detection 2026-03-12 23:34:00 +08:00
kuekhaoyang a567f62e19 feat: update quality patterns to include HDR and remove redundant HD entry 2026-03-12 23:23:04 +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 dd760153e3 Update 2026-03-05 16:20:48 +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 29b649b731 feat: Enhance IPTV stream proxy with robust M3U8 detection and add Cloudflare Pages configuration, alongside minor UI layout adjustments. 2026-02-20 17:52:41 +08:00
kuekhaoyang 98599bb972 feat: implement multi-level IPTV sidebar with source and group expansion, multi-route collapse, and optimized search performance. 2026-02-20 11:41:53 +08:00
kuekhaoyang d92fc9d986 fix: Improve UI responsiveness by adding flex-wrap to various components and update package version. 2026-02-19 22:11:26 +08:00
kuekhaoyang d59b5af38c refactor: improve UI responsiveness in settings components and refactor scrollbar hiding class. 2026-02-19 21:57:22 +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 4f91549ca9 feat: Update IPTV API routes to use Edge runtime. 2026-02-19 14:31:59 +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 54263f926b feat: Implement granular role-based access control, enhance IPTV stream proxy with header forwarding, and improve IPTV store with per-source channel caching. 2026-02-18 10:24:03 +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 4256ef4179 feat: Add pagination to the IPTV channel grid and enable editing for IPTV sources. 2026-02-17 20:42:26 +08:00
kuekhaoyang 798fac455a feat: Implement background search for alternative video sources and enhance source switching capabilities. 2026-02-17 19:33:02 +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 91280f250f feat: Enhance spatial navigation for TV remotes by making more components focusable, improving input field handling, and refining video card image fallback UI. 2026-02-17 12:56:22 +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 2e7aebc513 feat: Implement query regeneration for personalized recommendations to fetch more content and refine tab pre-selection logic. 2026-02-17 12:12:21 +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 d1c601e362 chore: bump project version to 4.2.1 and update documentation and lock file. 2026-02-17 00:19:47 +08:00
kuekhaoyang 0753492dfd feat: Implement new authentication and account management system, refactoring password gates and settings components. 2026-02-17 00:09:56 +08:00
kuekhaoyang ba615e8965 feat: Introduce user-editable source ID field with automatic generation and editing state handling. 2026-02-16 23:35:44 +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 98e314e31a feat: Implement settings password protection with a dedicated gate, management UI, and API integration. 2026-02-16 22:54:16 +08:00
kuekhaoyang a8c4586859 fix: Accumulate video counts per source across search result pages in search action. 2026-02-16 22:19:53 +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 bc25be5b05 feat: Implement parallel multi-page fetching from each search source and introduce client-side load more pagination for aggregated results. 2026-02-16 11:32:20 +08:00
kuekhaoyang d54039663a feat: Implement premium search history, add 'auto' fullscreen option, and update project version. 2026-02-16 11:10:09 +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 950b05f06e feat: Improve episode parsing in parsePlayUrl to handle missing names and provide default Chinese episode names. 2026-02-05 19:51:58 +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