v1.6.0
1.6.0+8
Note
This release modernizes mobile Search with Top Searched / Most Watched and voice search, makes Recommendations live after any watch (including TV), adds official Website/GitHub links, and polishes the native TV player (subtitles, focus, watchlist) while hardening stability on both platforms.
What's New
- Mobile Search redesign — idle state shows Top Searched (trending) and Most Watched (popular) carousels (
Top Searched/Most Watchedfetched in parallel with safe fallbacks); unified results screen for All / Movies / TV Shows / Actors withAllaggregating all media types and separate grids for each tab - Voice search — integrated
speech_to_text 6.6.0withRECORD_AUDIOpermission, single-pill search bar (no left icon, mic integrated), 30s listen / 5s pause,ListenMode.search, filler stripping (search for/find/show me) and 650 ms partial-result debounce that auto-searches while speaking - Mobile Recommendations live —
Because You Watchednow trackshistory.first(latest movie/episode/season/series) instead of oldisWatched, clears 30-min cache and refreshes onCloudSync.historyRevision+WatchHistory.localHistoryRevision+ app resume, pulls TV watches before computing so TV binges appear on mobile - Actor filmography correctly grouped —
movie_credits/tv_creditsare authoritative; tv credits now openMaxStreamSeriesScreenand enforcemedia_type, fixing movies reading as series and vice versa - About screen — Website & GitHub — new
Websitesection (https://maxstreamweb.vercel.app) withIcons.languageandGitHub Repositorysection (https://github.com/chila254/maxstream) withIcons.codeinmaxstream_about_screen.dart - TV subtitles upgraded — manual overlay for VixSrc (header-signed fetch), English auto-select, selection popups with cue count /
failed to load, and 200 ms lift above playback controls when visible (PlayerScreen.kt) - TV Home & Details polish — series/movie release status badges (
Returning/Ended/Cancelled/Released/Post Production/To be released), watchlist counts, and focused Continue Watching captionS{season} E{episode} · {name}
Features
- Mobile
- Modern pill search bar —
1E1E1E→232323gradient,0.09border, dual shadows, integrated mic (red when listening,Listening…hint) and clear affordance; tabs hidden until searching and replaced by modern pillChoiceChips(All/Movies/TV Shows/Actorswith animated red pill) Top Searched/Most Watcheduse Coming-Soon style cards (300×220backdrop +56×82poster, gradient,TV/MOVIEbadge, pill rating, year + 2-line overview) in152pxhorizontal carousels with12dpradius/shadow; grid cards enlarged to0.62aspect,10pxspacing, star pill- Reusable
AppShimmer(lib/widgets/app_shimmer.dart) — narrow bright glint band (0.42/0.5/0.58stops lerped toward white) sweeping at800 msreplaces soft1500 msShimmer.fromColorson all 8 loading screens - Recommendation rows and series list now show instant cached content while refreshing in background (no full-screen shimmer on every tab return)
WatchHistoryService.localHistoryRevision(ValueNotifier) bumped on everysavefor immediate offline refresh
- Modern pill search bar —
- TV (native Kotlin/Compose)
- Player OK flow: first OK reveals controls and focuses Play/Pause (no pause), second OK pauses; single activator via
onPreviewKeyEvent+focusable()eliminates pause/resume flicker (PlayerScreen.kt:1419,1788) - Content rows use
RowDesc+RowNavStatewithfocusFirstRow/onCardKey, hero debounced at 400 ms, and 18-attempt focus seeding for sidebar→content - Continue Watching card emphasizes
S/E · episodeNamein red/bold when focused, and syncs every 30 s + onhistoryRevision - Unreleased episodes show
To be released on {date}badge, are skipped by D-pad, and blockplayNext/selectMenuOption CloudSyncRepository.getJsonreturnsnullon non-2xx to avoid wiping local watchlist/history on error;TvShelllogout now usesshellNavController
- Player OK flow: first OK reveals controls and focuses Play/Pause (no pause), second OK pauses; single activator via
Full Changelog: v1.5.0...v1.6.0