Added
- Favorites:
- Added a Favorites feature for starring whole movies and series (
src/favorites.rs,favorites.json), independent of watch history and unaffected by/clear-cache. - Added
*on the Home screen andf/Fon the Details screen to toggle a title's favorite status, with a★indicator on favorited rows and a[f] Favorite/[f] Unfavoritehint on the Details screen. - Added an arrow-navigable Favorites row on the landing screen (Streaming and Addon modes) showing up to 5 recently-starred titles, with a
+N more • /favoritesoverflow link;Downfrom the search bar focuses the row,Enteropens the selected title,Escreleases focus. - Added the
/favoritesslash command, mirroring/history, to load the full starred list into the results view;*unstars the selected row there. - Added mouse support for the landing Favorites row (select/open rows, open the full list via the overflow line).
- Extracted cross-provider title-identity matching into
SubjectIdentity(src/models.rs), now shared by watch history and Favorites so remakes, cross-provider duplicates, and movie/series title collisions are deduplicated identically.
- Added a Favorites feature for starring whole movies and series (
Fixed
- External player failure reporting: Treat every non-zero player exit, including exits after several seconds or without stderr output, as a playback error instead of reconciling false watch progress.
- Search focus: Restore Backspace on the Home screen as a reliable way to focus the search input from results or Favorites.
- Season subtitles: Remember an explicit subtitle or no-subtitle choice for every episode in a season download.
- Playback state safety: Sanitize provider and subject identifiers before using them in tracker state filenames.
- Cross-platform release validation: Run all-feature locked builds/tests, binary startup smoke tests, Unix and Windows installer syntax checks, and release-target builds in CI.
- Release artifact smoke tests: Execute each native release target's produced binary on its CI runner before archiving.
- Documentation accuracy: Document Android intent limitations, the actual Termux binary model, macOS-only IINA support, native runtime verification requirements, and the current automated test count.
- Windows VLC & player spawn fix: Removed erroneous
CREATE_NO_WINDOWflag that suppressed GUI window creation and caused VLC to crash on Windows; normalized Windows backslash subtitle paths in--sub-fileand gracefully handle subtitle download failures without breaking stream playback. - Termux player opener resolution: Resolve
termux-open,termux-open-url, andtermux-amdirectly in$PREFIX/binand static Termux paths; remove broken/system/bin/amfallback in unrooted Termux that crashed with Permission Denied (exit code 126). - Termux dependency path: Remove the Android platform-verifier dependency path that caused the v0.1.12 startup panic; real-device confirmation remains required.