1.7.0+9
Note
This release adds Viduki as a new streaming server, subtitle customization with cross-device sync, HEVC/H.265 software decode, server auto-switch on failure, and a massive number of stability fixes across mobile and TV. It also introduces the Cloudflare Worker health endpoint and a live server status dashboard on the website.
What's New
- Viduki streaming server — new
VidukiServerProviderwith 4 API servers (/1/,/2/,/3/,/4/) for both movies and TV;VidukiExtractoruses WebView-based JS injection with fetch/XHR/video interception to resolve streams (0641735) - Subtitle customization — cross-device subtitle settings sync via Firebase RTDB; color, size, background opacity, shadow, and font weight now persist and sync between phone and TV (
e5bd18b,a81e0ef,7579d1f) - HEVC/H.265 software decode — ExoPlayer decoder fallback enabled on mobile (
beeee27) and TV (9e45543);video_player_androidfork withsetEnableDecoderFallback(true)for HEVC playback on devices without hardware support - Server auto-switch on Source Error — TV player automatically tries the next server when a stream fails (
2d3ad97); mobile skips quality loop and instant-switches to next server (2888d32) - Mobile quality fallback — VidLink now falls back from 720p → 480p within the same server before trying the next server (
be0fd7e,a7febc3) - Search history — recent searches saved and displayed on idle search screen (
2366632) - Pull-to-refresh on home and library screens (
2366632) - Now Playing indicator in notification with media controls (
2366632) - Genre browsing screen (
2366632) - Biometric lock — optional fingerprint/face unlock for the app (
2366632) - Provider health screen — renamed from Server Health; lists all servers and extractors with live status checks (
1bc5098,513e5a4) - VidLink extraction route — player UI shows whether stream came from Worker, HTTP, or WebView (
3d378fa) - Cloudflare Worker
/healthendpoint — pings 13 servers + 38 extractors in batches of 15, cached for 5 minutes (77ce4fc,ffa9afb) - Website server status page — standalone
/statuspage with search, filter (All/Online/Offline), auto-refresh, and grouped extractor sections (maxstream-web) - Website modernized — animated mesh gradient hero, glassmorphism cards, phone mockup screenshots, scroll-triggered reveals, download dialog with 3 APK variants (
maxstream-web) - VidLink extractor route display — player shows "Worker" / "HTTP" / "WebView" badge for current stream source (
3d378fa) - VidLove server registered on TV (
608c55b) - Vidflix extractor revived via
player.vidflix.clubAPI (a4eea58) - Vixcloud extractor registered (
608c55b) - Continue Watching improvements — TV watches now appear on mobile recommendations; pull TV history before computing recommendations (
2366632)
Bug Fixes
Video Player & Playback
- Fix video player crash + continue watching sync (
ad7ac14) - Fix
rawUrlscope error in VidLink HTTP extractor (a1583f7) - Fix HLS streams behind
noon.mooncase.onlineproxy (1490153) - Fix VidLink Source error — wrong Referer for hakunaymatata.com streams (
bb9acb9) - Fix import logic + Worker hakunaymatata referer (
b2bbc9f) - Add
X-Playback-Environmentheader to VidLink/api/b/requests (c5684cc) - Bypass broken noon proxy for hakunaymatata.com CDN (
c6a966a) - Fix mobile next-server
TimeoutException15s + dispose race (9d21c79) - Fix mobile server switch stuck + only SW decode Vidlink (
8bd798d) - Fix server switch stuck at "Switching to Auto" + fvp Bad state (
5055daf) - Fix
VideoFormat.mp4→ other,String.containsbool → lowercase (4a3fb6d) - Fix VixSrc/Vixcloud mobile — filter HEVC variants, return best H.264 stream (
a1a635e,82492c8,1254fe2) - Fix TV server discovery timeout too short — Videasy/Vidflix never reached (
1254fe2) - Fix TV
onPlayerErrorretry with 3x backoff to prevent mid-playback crash (08c5d4d) - Fix TV buffer 300s → 60s (
08c5d4d) - Fix VidLink H265 playback on phones: prefer H.264, fix HLS
formatHint(6c9ca12) - Fix
fvp/nextlibHEVC SW decode blocking playback start (cf15075) - Fix mobile HLS source errors and expand HEVC URL filtering (
0df160f) - Fix
usesCleartextTraffic+ dispose old ExoPlayer before new on server switch (a7febc3) - Fix download: resolve relative HLS variant URIs for Videasy (
057590c) - Fix download: whitelist videasy HLS hosts for episode downloads (
0baa57d) - Fix VidLink: cap to 720p, fix MIME for proxied mp4 (noon) (
262f8d3) - Fix
audio_servicemanifest entries and extendAudioServiceActivity(f1d2dc4) - Fix
PlaybackStateconstructor const removal (0dcfa6f)
TV App
- Fix TV subtitle settings crash: use
BackHandler+Surfacerows pattern (ea28681) - Fix TV subtitle settings D-pad: replace
verticalScrollColumn withLazyColumn(603a6e7) - Fix D-pad up/down navigation in TV subtitle settings screen (
50837db) - Fix missing imports:
toArgbandfocusRequester(4870b96) - Fix 3 TV bugs: back nav, D-pad focus, subtitle color sync (
e5f2fdf) - Fix TV subtitle settings sync — UI now reacts to cloud changes (
cbe89e3) - Fix TV focus restore + subtitle settings up/down navigation (
08b0b3f) - Fix TV subtitle settings — back key nav, cloud sync on startup, player re-reads (
d7c265e) - Fix
ServerValue.TIMESTAMPuppercase, add import +Map-basedsetValue(40e2ae7,0590843) - Fix
ShadowspreadRadius,mutableIntStateOf, TV Firebase deps (88e678f) - Fix Compose
Color.WhiteforgraphicsLayershadow colors (2725c52) - Fix TV exit dialog white focus + mobile notification icons/thumbnails (
1cc199f) - Fix TV Details Watchlist → dual push Firebase + Supabase (
ff368ca) - Fix TV episode menu: auto-scroll seasons like episodes (
3de7685) - Fix TV compile: inline Source Error switch (
c011eae) - Fix TV compile: move
switchMediabeforebuildPlayer(e4dd4bd) - Fix TV compile:
WatchProgressappContext,runCatchingsuspend (2589cda) - Fix TV compile:
WatchProgressRepository.pushWatchProgressnot suspend (d5779d0) - Fix TV StreamExtractor domains to match mobile fixes (
5d8e0b1) - Fix TV
Aboutdialog loads version dynamically viaPackageManager(94dd7c6) - Fix
_FullListScreennull check onsetStateafter dispose (1da9fca)
Cloud Sync
- Fix continue watching not updating — timestamp guard on cloud import + refresh after player return (
af4b657) - Fix watchlist deletions reconciliation across phone and TV (
9be8eca) - Fix Continue Watching sync + Coming Soon duplicates (
d0851d5) - Fix Continue Watching racing between Firebase and Supabase (
d6283e8) - Fix
CloudSyncRepository.getJsonreturnsnullon non-2xx to avoid wiping local data - Remove Supabase entirely, use RTDB-only sync with auto-delete watched entries (
d497216) - Fix
pullFromCloudUnit?return type mismatch (a521704) - Fix unbalanced braces in
CloudSyncRepository+ suspend type inference (ab025ea)
Mobile
- Fix subtitle sync, mobile auto-install, TV update dialog (
59848ca) - Fix mobile subtitle settings to reload when TV pushes changes (
7579d1f) - Fix search history, improve notification thumbnails (
03eea58) - Fix recommendations after watch + dynamic version in About (
d55a692) - Fix
1da9fca_FullListScreennull check onsetStateafter dispose
Build & Infrastructure
- Fix FOSS TV build — conditional Firebase + Kotlin stubs (
ee8325a) - Fix remove
google-services.jsondecode from FOSS TV build (51df5ca) - Fix
Gradleproperty instead offile-existscheck for Firebase (8fc0943) - Fix enable core library desugaring for
play-services-tasks(90e4c29) - Fix
org.jsondep conflicts with Firebase under R8 + ProGuard keep rule (940e9ff) - Fix missing import,
audio_serviceAPI, handler type (bad3cfc) - Fix
lastErrorThrowableto match Throwable catch for WebView OOM (790731b)
Infrastructure
- Removed VLC entirely —
flutter_vlc_player+libvlc-allremoved; ExoPlayer is now the sole player (331cfa3) - Removed Supabase — RTDB-only sync with auto-delete watched entries; simpler, no external dependency (
d497216) - Split-per-abi APK builds —
maxstream-arm64-v8a.apk,maxstream-armeabi-v7a.apk,maxstream-x86_64.apk(009ba91) - TV build isolated from mobile +
nextlibmade optional (f2812c1) - TV
compileSdk35 → 36,minSdk21 → 23 for Media3 1.10.1 (540d5fc,d5c029b) - R8 minify + shrink enabled for mobile release builds (
fef77e7) video_player_androidfork updated to 2.12.2 (1872b70)- Cloudflare Worker health endpoint with batched subrequests (groups of 15) (
77ce4fc,ffa9afb) - CI builds FOSS Universal TV APK (no
google-services.jsonneeded) (51df5ca) - ProGuard keep rule for
R$drawableresources (b016773) - Firebase already-initialized race condition guard (
fc4884d,0086432) - Constants
PREFS/KEY_JSON/TAGmoved intoSubtitleSettingsRepositoryobject (53c909e)
**Full Changelog**: v1.6.0...v1.7.0