kuekhaoyang
f1a0086701
fix: harden sync and image fallback; release 4.9.19
2026-07-31 23:17:50 +08:00
kuekhaoyang
4983a9e2ab
Merge remote-tracking branch 'origin/pr-230' into agent/release-4.9.19
2026-07-31 23:08:41 +08:00
can4hou6joeng4
3bf72e4b66
fix(douban): 图片代理按镜像回退,修复境外部署海报大量 500
...
imgN.doubanio.com 互为镜像但解析到不同线路:img1 当前解析到国内 IP
180.97.198.41,在境外主机上不可达。此时 fetch 是直接抛异常而不是返回
状态码,于是走进 catch 一律返回 500,首页会有相当比例的海报加载失败。
改为在 imgN.doubanio.com 之间按 img9 -> img3 -> img2 顺序回退,同一
路径换个镜像即可取到。同时保留最后一次的真实状态码,不再把上游的 403
或 404 也统一伪装成 500。
2026-07-31 18:32:34 +08:00
can4hou6joeng4
81c46d754e
fix(sync): 修复自托管下无法读取 Upstash 配置
...
app/api/user/{sync,config} 用 @upstash/redis/cloudflare 的
Redis.fromEnv() 创建客户端。该实现只读传入的 env 参数或 Cloudflare
全局绑定,从不回退到 process.env,因此在 Docker / Node 自托管下
url 与 token 恒为 undefined,两个接口必定返回 500,跨设备同步
(收藏、历史、设置)完全不可用。认证走的是 auth.ts 里的
new Redis({ url, token }),所以登录正常,只有用户数据读写失败。
把 auth.ts 中已有的双源回退抽成 lib/server/runtime-env.ts,Redis
客户端抽成 lib/server/redis.ts,两个路由改为惰性获取共享客户端。
惰性创建同时修正了另一个隐患:Cloudflare 的 per-request 绑定在
模块求值阶段不可达,而原先客户端是在模块作用域创建的。
未配置 Upstash 时返回 503 并给出明确说明,而不是当成请求失败。
Fixes #226
2026-07-31 10:12:40 +08:00
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
Codex
27d30139c1
fix: support Upstash Redis on Cloudflare Pages
2026-07-20 16:13:51 +08:00
kuekhaoyang
66d8564dd2
fix issue 210 slow source search reliability
2026-07-13 21:09:47 +08:00
kuekhaoyang
7ae08e2d7d
fix issue 207 account actions visibility
2026-07-12 01:02:47 +08:00
kuekhaoyang
d6f2a2e3c7
fix login gate session loop
2026-07-09 17:39:46 +08:00
kuekhaoyang
610f57c5b0
fix auth sync requests after login
2026-07-09 16:33:44 +08:00
kuekhaoyang
93e6699937
fix: disable Vercel analytics outside Vercel
2026-07-09 15:07:34 +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
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
4db08dbf72
fix: sync runtime config into settings
2026-04-08 13:36:09 +08:00
kuekhaoyang
f4f5597a80
fix: polish favorites page implementation
2026-04-07 22:05:39 +08:00
LamLarryyyy and Claude Sonnet 4.6
ddcce8341a
feat: add dedicated My Favourites page with grid view
...
Add a full-page favourites view accessible via heart icon in the navbar.
Supports sorting by date/title, clear all, infinite scroll pagination,
and separate pages for normal (/favorites) and premium (/premium/favorites) modes.
Co-Authored-By: Claude Sonnet 4.6 <[email protected] >
2026-04-07 14:37:16 +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
9c3a984984
add VideoTogether website integration
2026-04-02 20:22:53 +08:00
kuekhaoyang
a6bfcf4b36
feat: add configurable seek step setting
2026-04-02 19:57:08 +08:00
mayziran
91bb481c4e
docker弹幕环境变量修复
2026-03-26 15:23:43 +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
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
kuekhaoyang and Claude 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
kuekhaoyang and Claude 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
f7a166ea19
feat: implement Probe Resolution API and add useResolutionProbe hook for video resolution detection
2026-03-12 23:34:00 +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
vvwn and GitHub
1d777968f3
Add user sync API with Redis integration
...
Implement GET and POST endpoints for user sync data with Redis.
2026-02-24 14:50:42 +08:00
vvwn and GitHub
4f894c6011
Delete app/api/user/sync/route.ts
2026-02-24 14:49:10 +08:00
vvwn and GitHub
b3d9a31e25
Integrate AutoSync component into layout
...
Added AutoSync component within ThemeProvider for background synchronization.
2026-02-24 14:38:32 +08:00
vvwn and GitHub
57c00c9611
Add user sync route with GET and POST methods
...
Implement GET and POST handlers for user sync data using Upstash Redis.
2026-02-24 14:18:44 +08:00
vvwn and GitHub
e8681c4ac9
Delete app/api/user
2026-02-24 14:11:15 +08:00
vvwn and GitHub
628c85299d
Create user
2026-02-24 14:09:46 +08:00
vvwn and GitHub
eddcee2abf
Delete app/api/user directory
2026-02-24 14:09:02 +08:00
vvwn and GitHub
6e2561c3b9
Add user sync API with Redis integration
...
Implement GET and POST endpoints for user sync data with Redis.
2026-02-24 14:07:45 +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