can4hou6joeng4
b63f94fed4
fix(sync): 丢弃缺少 videoId 的同步记录,避免整页崩溃
...
服务端同步恢复回来的记录不保证结构完整(旧结构或半截写入)。缺少 videoId
的记录会让 HistoryItem.tsx:24 与 FavoritesItem.tsx:21 在渲染期拼播放地址
时对 undefined 调用 toString(),抛出未捕获异常。由于 getVideoUrl() 是在
渲染 href 时调用的,React 会直接卸载整棵树,首页白屏且刷新无效——该账号
只能靠直接改库才能恢复。
新增 lib/utils/sync-records.ts 做可渲染性判定(要求 videoId、source、
title 齐备),在云端拉取入口 useCloudSync 与 HistoryList / FavoritesList
各过滤一次:脏数据进不来,已经落库的也渲染不出来。
2026-07-31 18:28:35 +08:00
kuekhaoyang
907f393e2f
fix: keep floating buttons anchored on resize
2026-07-27 21:13:08 +08:00
kuekhaoyang
66d8564dd2
fix issue 210 slow source search reliability
2026-07-13 21:09:47 +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
37b6e160d7
fix remaining issue 72 ui and iptv regressions
2026-04-02 22:14:46 +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
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
f7a166ea19
feat: implement Probe Resolution API and add useResolutionProbe hook for video resolution detection
2026-03-12 23:34:00 +08:00
vvwn and GitHub
224ec37e40
Implement useCloudSync hook for cloud data sync
2026-02-24 14:25:13 +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
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
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
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
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
30600e4d95
feat: Implement scroll position management with a new setting, add a back-to-top button, and extend search cache duration.
2026-01-25 15:42:21 +08:00
kuekhaoyang
7368582398
.
2026-01-25 15:02:46 +08:00
kuekhaoyang
198ca2ddd7
feat: Implement URL state persistence for search queries, source filters, and type filters, and update search form styling.
2026-01-25 14:55:38 +08:00
Troray
3d3a7d445b
update useVideoPlayer.ts
2026-01-24 03:07:08 +08:00
Troray
1b09998cdf
fix(VideoPlayer): 处理 sourceopen 与浏览器差异
...
- 优化 useEffect 逻辑,当 source 变化时重置状态
- 确保数据重新获取时显示正确的加载状态
2026-01-24 02:46:44 +08:00
kuekhaoyang
24f870a40c
feat: Integrate subscription synchronization and initialize new subscriptions with lastUpdated: 0.
2026-01-15 17:21:53 +08:00
Troray
430336c4c1
Update useSubscriptionSync.ts
2026-01-14 02:32:55 +08:00
Troray
dfdeef04a7
fix: stop infinite requests after adding new subscription
...
Adding a new subscription triggered an infinite loop of JSON fetches
because useSubscriptionSync was subscribing to settingsStore changes,
which caused a cycle: store change → state update → sync → save →
store change.
- Remove settingsStore subscription to break the infinite loop
- Add refs to ensure sync runs only once per component mount
- Enable 5-minute cooldown to prevent redundant syncs
2026-01-14 01:43:32 +08:00
kuekhaoyang
04aa734ff8
Update
2026-01-13 16:32:01 +08:00
kuekhaoyang
b11e762350
Update
2026-01-13 16:04:13 +08:00
Troray
beba6a6cbe
fix(search): resolve infinite loop and refactor useHomePage hook
...
- 修复逻辑缺陷:移除了导致死循环的条件,并引入 Ref 追踪状态,解决了“无结果死循环”和“异步源加载导致的重复搜索”问题。
- 代码重构 (DRY):新增 executeSearch 复用核心逻辑。
- Hook 优化:完善了 useCallback 和 useEffect 的依赖管理,提升 React 渲染性能。
2026-01-11 00:35:16 +08:00
kuekhaoyang
26cfa10c3a
feat: Replace adult and secret content features with a new premium content system.
2026-01-04 19:04:27 +08:00
kuekhaoyang
d7cd4c6e36
feat: Improve hook stability and performance with useCallback and useMemo, and enhance auto-skip and search error handling.
2026-01-04 18:18:47 +08:00
kuekhaoyang
e9d060f74a
chore: remove PWA installation banner, associated hooks, manifest, and PWA metadata from the application.
2026-01-02 14:08:50 +08:00
kuekhaoyang
cb0dee9469
feat: Implement PWA installation prompt and banner.
2026-01-02 14:04:23 +08:00
kuekhaoyang
c5e2397f2a
feat: implement secret mode with separate history and favorites, and dedicated player links
2026-01-02 13:54:27 +08:00
kuekhaoyang
f379c52e76
feat: Implement video stall detection, next episode loading UI, and persist playback rate across sessions.
2026-01-02 13:17:10 +08:00
kuekhaoyang
d8da86054c
fix: Improve useHomePage search logic to retry searches when sources become available and prevent empty queries.
2025-12-30 11:58:47 +08:00
kuekhaoyang
c920a3160a
feat: Introduce display settings for real-time latency and search mode, enhance video player controls, and add a generic UI switch component.
2025-12-29 10:48:25 +08:00
kuekhaoyang
7c1f1db046
refactor: remove runtime fetching of environment subscriptions and envSubscriptionsSet state.
2025-12-25 16:38:27 +08:00
kuekhaoyang
48d6568a70
feat: add support for environment variable defined subscription sources and runtime config API
2025-12-25 16:25:53 +08:00
kuekhaoyang
609fba7571
feat: Implement automatic subscription source syncing, initialize subscriptions from environment, and integrate into home page.
2025-12-25 12:11:46 +08:00
kuekhaoyang
43a35e3f47
new
2025-12-24 23:53:24 +08:00