Rebuilt watch history with per-episode tracking and two-way Trakt + panel sync
Watch History & Continue / Watched
4 项新增5 项改进
- 新增Split Continue Watching into two tabs — Continue and Watched — so finished titles move to Watched while in-progress and next-up items stay under Continue
- 新增Added a true per-episode watch history like Trakt's: the Watched tab now lists every individual episode and movie you've finished, newest first, each with its own date
- 新增Continue now shows a single Watch Next entry per show (the correct next episode, rolling over to the next season when needed) so you always know what to play next
- 改进Rebuilt Trakt and panel watchlist and watch-progress sync around a single sync engine, with the app's own library as the source of truth (newest watch wins)
- 新增Added two-way watch-history sync across local, panel, and Trakt so every connected account ends up with the same list — with no duplicate or echoed entries
- 改进Existing finished items are carried over automatically when you update, and history is tracked locally even when logged out
- 改进Continue Watching and Watchlist now appear almost instantly after signing in, loading saved items first and filling in posters in the background
- 改进The Watched tab loads in small pages as you scroll, so even very large histories open instantly and scroll smoothly
- 改进Movies in the Watched tab now show their runtime and genre (for example, 2h 35m · Science Fiction) like the rest of the list
Continue / Watched Controls & Privacy
4 项新增3 项改进
- 改进Redesigned Continue and Watched as full-width list rows with a rounded poster, title, subtitle (season/episode/episode name for shows; runtime and genre for movies), and the date you last watched
- 新增Added a thin progress bar on Continue rows and a small bookmark badge marking anything that's also in your watchlist
- 新增Added a trash icon to remove a row plus a three-dot menu for quick actions — Continue offers Play from beginning, Mark as watched, and Remove; Watched offers Mark as unwatched and Remove
- 改进Removing an item or marking it unwatched now sticks everywhere — it's dropped from this device, Trakt, and your panel account, and won't quietly reappear on the next sync
- 新增Added a Sync my viewing activity privacy switch under the Trakt tile so you can stop sharing what you watch while staying connected (your lists still download as before)
- 新增Added quiet sync feedback: a brief Couldn't sync — showing saved data message when a refresh fails, instead of failing silently
- 改进Signing into the panel now back-fills your locally-saved watchlist and watch progress to the panel, matching the existing Trakt back-fill
App: Performance & Fixes
1 项改进4 项修复
- 修复Fixed the app freezing (and sometimes being killed) right after signing into Trakt with a large history — the first sync now writes in fast batches and the database allows reading and writing at the same time
- 改进Made the Home and Continue Watching screens stay smooth with large libraries by building the list in the background instead of on the main thread
- 修复Adopted a single 90% finished point everywhere — the player, the lists, Trakt, and the panel — so an almost-finished title no longer flickers between an in-progress row and a next-episode card
- 修复Fixed Continue and Watched ordering so items list newest first by date, matching Trakt — importing history no longer overwrites the real last-watched date with the current time
- 修复Fixed the Continue tab visibly flickering and reshuffling items while syncing; it now settles on the correct state
App: Downloader
1 项改进
- 改进Improved the in-app downloader for more reliable downloads and a smoother overall download experience
Admin: TV Show Management
1 项新增
- 新增Added an Update Seasons & Episodes button inside the add/edit TV show screen that pulls the latest seasons and episodes from TMDB since the show was last added, so newly released seasons and episodes are added automatically when available
Admin: Downloader Settings
1 项新增
- 新增Added a universal downloader option to deliver external links only (plugin and Stremio links), configurable from the admin panel downloader settings
Admin: Watch Progress Sync
2 项新增
- 新增The watch-progress API can now delete a single item, so removing a title (or marking it unwatched) in the app drops that row from the panel account too
- 新增Watch progress now stores and returns a watched at date for completed items so the app's per-episode history shows accurate dates (run the database migrations after updating)
Admin: Production Stability & Caching
2 项新增4 项改进2 项修复
- 修复Fixed production CPU/RAM incidents caused by MySQL cache deadlocks — production packages now default to file cache instead of database cache for rate limiting and API response caching
- 新增Added an emergency-cache-recovery.sh script and Server Health emergency recovery guidance for affected aaPanel installs
- 改进Extended ContentCacheService wildcard cache busting to file and Redis drivers, not only database
- 改进Removed a duplicate global throttle:api middleware layer on public TMDB routes and added route-level throttles where missing
- 改进Updated queue worker cron templates to include the episodes queue
- 改进Added composite indexes for seasons, episodes, TV stream lookups, and settings group queries to improve hot API path performance
- 修复Fixed the weekly people:purge-orphans scheduler failing when the episode_cast table was missing
- 新增The deploy tool now offers optional Redis cache during production packaging, and .env.example documents file (default), Redis (advanced), and database (legacy) cache strategies
Admin: Fixes
1 项修复
- 修复Fixed the admin panel Updater page
