Changelogs
Changelogs de toutes les versions stables de Watchtower, également disponibles sur GitHub.
8.1.1835-b1835Dernière
🧩 Corrections
- corriger refs assets supprimés — transparent.png restauré, branding→watchtower icons
🧹 Suppressions
- quick-wins — .dev gitignored, spotube assets supprimés, ffigen→dev_dependencies
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1834-b1834
🧹 Suppressions
- quick-wins — .dev gitignored, spotube assets supprimés, ffigen→dev_dependencies
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1833-b1833
✨ Nouvelles fonctionnalités
- pixel-perfect TikTok header, redesigned Pour toi rail + bottom overlay, creator profile screen
🧩 Corrections
- add missing isar_community/isar.dart import to reel_screen and nf_bottom_sheet
- remove circular import, fix String.indexWhere → RegExp
- add dart:convert, fix _gifId() JSON parse, clean onTap
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1827-b1827
🧩 Corrections
- pull-to-refresh, bottom sheet actions, voir-tout redesign, search UX
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1826-b1826
✨ Nouvelles fonctionnalités
- Netflix-style WatchHomeScreen redesign
🧩 Corrections
- add missing filterList param to searchProvider calls
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1824-b1824
✨ Nouvelles fonctionnalités
- hamburger drawer style Namida à gauche du titre Discovery
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1823-b1823
🧩 Corrections
- use hardcoded 'Discover' label, add /MusicLibraryPage to destMap
- add missing routes to destMap, fix navigation index mismatch, reduce height to 56px
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1821-b1821
⚙️ Changements
- ReelScreen: Explorer GIF/Image type filter + creator banner avec ImageFiltered
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1820-b1820
⚙️ Changements
- reel: source tap ouvre ReelScreen directement si additionalParams=type=reel
🧩 Corrections
- additionalParams jamais syncé depuis watch.json — deux chemins manquants
- restore all orientations on fullscreen exit, not just portraitUp
- 4 bugs — landscape fit, audio ghost, buffering, double-tap crash
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1819-b1819
⚙️ Changements
- reel: source tap ouvre ReelScreen directement si additionalParams=type=reel
🧩 Corrections
- restore all orientations on fullscreen exit, not just portraitUp
- 4 bugs — landscape fit, audio ghost, buffering, double-tap crash
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1818-b1818
⚙️ Changements
- reel: source tap ouvre ReelScreen directement si additionalParams=type=reel
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1817-b1817
🧩 Corrections
- reel: rename WatchReelScreen→ReelScreen, route reelFeed→reel, fix null creator names
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1816-b1816
🧩 Corrections
- code-review followup — quality selection state + sheet season sync
- 3 bugs — quality pill, season regex, episode dedup
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1815-b1815
🧩 Corrections
- 3 bugs — quality pill, season regex, episode dedup
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1813-b1813
✨ Nouvelles fonctionnalités
- WatchReelScreen — TikTok UI (Explorer/Suivis/Pour toi), remplace WatchReelFeedScreen
🧩 Corrections
- cache-bust _bustUrl — ${} Dart escape → string concat, produit vrai timestamp
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1814-b1814
✨ Nouvelles fonctionnalités
- WatchReelScreen — TikTok UI (Explorer/Suivis/Pour toi), remplace WatchReelFeedScreen
🧩 Corrections
- box glyphs — empty fontFamilyFallback on iOS/macOS
- cache-bust _bustUrl — ${} Dart escape → string concat, produit vrai timestamp
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1812-b1812
✨ Nouvelles fonctionnalités
- WatchReelScreen — TikTok UI (Explorer/Suivis/Pour toi), remplace WatchReelFeedScreen
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1811-b1811
🧩 Corrections
- add _tryOpenReel intercept to banner carousel onTap
- cache-bust sur download JS extension (updateSource) — ?=timestamp comme _fetch() pour watch.json
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1810-b1810
🧩 Corrections
- cache-bust sur download JS extension (updateSource) — ?=timestamp comme _fetch() pour watch.json
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1807-b1807
✨ Nouvelles fonctionnalités
- add WatchReelFeedScreen — TikTok vertical reel player
- intercept reel-type links in MangaImageCardWidget
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1808-b1808
✨ Nouvelles fonctionnalités
- add reelFeed route
- add WatchReelFeedScreen — TikTok vertical reel player
- intercept reel-type links in MangaImageCardWidget
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1806-b1806
✨ Nouvelles fonctionnalités
- intercept reel-type links in MangaImageCardWidget
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1809-b1809
✨ Nouvelles fonctionnalités
- intercept reel-type links in watch home cards + dart:convert
- add reelFeed route
- add WatchReelFeedScreen — TikTok vertical reel player
- intercept reel-type links in MangaImageCardWidget
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1805-b1805
🧩 Corrections
- replace _ShimmerCard with Skeletonizer — theme-adaptive skeleton loading
- empty episode 404 page, language label normalization with flags, _EmptyEpisodeView widget
- open GitHub issue in in-app WebView
- double-tap initial display + x2 escalation on repeat taps
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1804-b1804
🧩 Corrections
- empty episode 404 page, language label normalization with flags, _EmptyEpisodeView widget
- open GitHub issue in in-app WebView
- double-tap initial display + x2 escalation on repeat taps
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1803-b1803
🧩 Corrections
- open GitHub issue in in-app WebView
- double-tap initial display + x2 escalation on repeat taps
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1802-b1802
🧩 Corrections
- double-tap initial display + x2 escalation on repeat taps
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1801-b1801
✨ Nouvelles fonctionnalités
- UX player & detail — 6 améliorations
🧩 Corrections
- supprime widget.onChanged.call dans initState (setState pendant build parent)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1800-b1800
✨ Nouvelles fonctionnalités
- UX player & detail — 6 améliorations
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1799-b1799
🧩 Corrections
- bool? → bool== true dans watch_home_screen.dart (dart2js web build)
- ajouter esla, es419, ptbr dans langToCountryCode (language.dart)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1798-b1798
🧩 Corrections
- ajouter esla, es419, ptbr dans langToCountryCode (language.dart)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1797-b1797
🧩 Corrections
- bool? crash + disable web build + bump 8.1.160+160
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1794-b1794
🧹 Suppressions
- restore watch_detail_view.dart to build 9f93b8b
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1793-b1793
✨ Nouvelles fonctionnalités
- carousel arrondi bas + boutons ← et 🔍 + pills tab redesign
🧩 Corrections
- restore search FAB + see-all navigation via _WatchSectionPage
- supprime header, skeleton portrait 196h, ntfy Android
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1792-b1792
🧩 Corrections
- restore search FAB + see-all navigation via _WatchSectionPage
- supprime header, skeleton portrait 196h, ntfy Android
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1791-b1791
🧩 Corrections
- supprime header, skeleton portrait 196h, ntfy Android
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1790-b1790
✨ Nouvelles fonctionnalités
- detail plein-écran + bug FightZone + chips avec fond d'image
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1789-b1789
🧩 Corrections
- supprime la limite take(8) sur les sections dynamiques
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1788-b1788
🧩 Corrections
- hero skeleton sans shimmer + isHomeSubTab 0||1 + RepaintBoundary complet
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1787-b1787
🧩 Corrections
- remove duplicate field declarations (_headerOpacity, _headerH)
- header/carousel accueil style + sections vides cachees + bars Skeletonizer
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1785-b1785
✨ Nouvelles fonctionnalités
- Custom Discovery catalogue inline + fix rate limit
🧩 Corrections
- _countActiveFilters recurse into GroupFilter for accurate badge count
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1784-b1784
✨ Nouvelles fonctionnalités
- Custom Discovery catalogue inline + fix rate limit
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1783-b1783
🧩 Corrections
- add isPortraitFormat + launchReelPage to WatchInlinePlayer
- corrige DioException [bad response] lors de l'installation plugins
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1782-b1782
🧩 Corrections
- corrige DioException [bad response] lors de l'installation plugins
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1781-b1781
🧩 Corrections
- discovery filter inline chips + suppression suggestions + fond noir
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1780-b1780
🧩 Corrections
- crash+perf+UI — 6 fixes
- police fallback Latin + labels dropdown Qualité/Langue/Saison
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1779-b1779
🧩 Corrections
- police fallback Latin + labels dropdown Qualité/Langue/Saison
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1778-b1778
🧹 Suppressions
- ntfy failure alerts (urgent) sur Android, iOS et Web — détection instantanée
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1777-b1777
🧩 Corrections
- music/recent.dart — add database.dart import pour l'extension HistoryItemParseExtension (playlist/album getters)
- artist initials use onPrimaryContainer instead of hardcoded white
- wrap top tracks in SliverSkeletonizer — no fake tracks shown without skeleton
- HorizontalPlaybuttonCardView — Skeletonizer for empty+loading, SizedBox.shrink when genuinely empty
- clean up tracks FakeData fallback
- explicit skeleton for playlists — FakeData only when isLoading
- remove unused go_router import
- extension tile bg uses cs.surface instead of hardcoded white/dark
- wrap artist header in Skeletonizer — no fake artist shown without skeleton
- explicit skeleton for album search — FakeData only when isLoading
- _ExtIcon supports SVG logos via flutter_svg
- use rootNavigatorKey for /marketplace navigation (fixes UnimplementedError)
- _ExtIcon supports SVG logos + flutter_svg import
- add description field to _ExtEntry + use real plugin descriptions
- theme-aware colors replace hardcoded white
- remove fake placeholder albums
🧹 Suppressions
- watch_home_screen: back button, remove 3-dot menu, ranked cards sans numéros, suppression bottom dock MovieBox
- replace deprecated .withOpacity() with .withValues(alpha:)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1735-b1735
🚀 Améliorations
- rename _SpotubePlayerBar -> _MusicPlayerBar
🧩 Corrections
- MovieBox pixel-perfect UI — PILL sub-tabs, plain headers, hero content cards, 4-tab dock, SVG logo, category image tiles
- remove _kBg/_kSearchFill/_kGreen constants, use theme colors throughout
- remove _MusicPluginsSection; music install via downloadAndCachePlugin
- theme colors + nav pills removed + filter popup dropdown
- update-checker URLs -> ferelking242/watchtower
- Scaffold backgroundColor: theme.colorScheme.surface
- window title Spotube -> Watchtower
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1734-b1734
🚀 Améliorations
- rename _SpotubePlayerBar -> _MusicPlayerBar
🧩 Corrections
- remove _kBg/_kSearchFill/_kGreen constants, use theme colors throughout
- remove _MusicPluginsSection; music install via downloadAndCachePlugin
- theme colors + nav pills removed + filter popup dropdown
- update-checker URLs -> ferelking242/watchtower
- Scaffold backgroundColor: theme.colorScheme.surface
- window title Spotube -> Watchtower
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1731-b1731
🚀 Améliorations
- rename _SpotubePlayerBar -> _MusicPlayerBar
🧩 Corrections
- update-checker URLs -> ferelking242/watchtower
- Scaffold backgroundColor: theme.colorScheme.surface
- window title Spotube -> Watchtower
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1730-b1730
🚀 Améliorations
- rename _SpotubePlayerBar -> _MusicPlayerBar
🧩 Corrections
- Scaffold backgroundColor: theme.colorScheme.surface
- window title Spotube -> Watchtower
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1732-b1732
🚀 Améliorations
- rename _SpotubePlayerBar -> _MusicPlayerBar
🧩 Corrections
- theme colors + nav pills removed + filter popup dropdown
- update-checker URLs -> ferelking242/watchtower
- Scaffold backgroundColor: theme.colorScheme.surface
- window title Spotube -> Watchtower
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1733-b1733
🚀 Améliorations
- rename _SpotubePlayerBar -> _MusicPlayerBar
🧩 Corrections
- remove _MusicPluginsSection; music install via downloadAndCachePlugin
- theme colors + nav pills removed + filter popup dropdown
- update-checker URLs -> ferelking242/watchtower
- Scaffold backgroundColor: theme.colorScheme.surface
- window title Spotube -> Watchtower
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1728-b1728
🚀 Améliorations
- rename _SpotubePlayerBar -> _MusicPlayerBar
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1729-b1729
🚀 Améliorations
- rename _SpotubePlayerBar -> _MusicPlayerBar
🧩 Corrections
- window title Spotube -> Watchtower
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1727-b1727
🚀 Améliorations
- rename _SpotubePlugin* → _MusicPlugin*, update labels Spotube → Musique
- add 5-min page cache, drop Codeberg call, load per_page=20
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1726-b1726
🚀 Améliorations
- add 5-min page cache, drop Codeberg call, load per_page=20
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1725-b1725
🧩 Corrections
- move _buildMbBottomDock/_buildMbStubPage into _WatchHomeScreenState
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1723-b1723
✨ Nouvelles fonctionnalités
- music tab ferelking242 plugins only, login button, remove hardcoded JS extensions
- remove hardcoded bundled plugins — install from marketplace only
- filter marketplace to ferelking242 spotube plugins only
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1722-b1722
✨ Nouvelles fonctionnalités
- remove hardcoded bundled plugins — install from marketplace only
- filter marketplace to ferelking242 spotube plugins only
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1721-b1721
✨ Nouvelles fonctionnalités
- filter marketplace to ferelking242 spotube plugins only
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1720-b1720
✨ Nouvelles fonctionnalités
- table drapeaux + noms de langues localises par langue d'interface
- box langue localisee (drapeau + nom traduit dans la langue de l'app)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1718-b1718
✨ Nouvelles fonctionnalités
- etend la detection de langue a toutes les langues supportees
- Add reel/short-video player (v8.1.158) + fix Music Hub black screen on return
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1717-b1717
✨ Nouvelles fonctionnalités
- Add reel/short-video player (v8.1.158) + fix Music Hub black screen on return
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1716-b1716
✨ Nouvelles fonctionnalités
- Spotube plugins dans la section Music du marketplace
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1714-b1714
✨ Nouvelles fonctionnalités
- add left laurel SVG for catalogue header
- add right laurel SVG for catalogue header
- carousel bannerList exact, chips catégories, sections dynamiques, catalogue ornementé
🧩 Corrections
- context.l10n.refresh → context.l10n.retry (AppLocalizations music)
- sections header hors Consumer + null-safety result! catalogue
- music discovery filter sheet, home black screen, settings back-nav
- null-safety on result! inside setState catalogue callback
- hide empty sections, portrait cards (116×172), SVG lauriers catalogue CATALOGUE
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1715-b1715
✨ Nouvelles fonctionnalités
- add left laurel SVG for catalogue header
- add right laurel SVG for catalogue header
- carousel bannerList exact, chips catégories, sections dynamiques, catalogue ornementé
🧩 Corrections
- add missing 'refresh' getter to music AppLocalizations
- context.l10n.refresh → context.l10n.retry (AppLocalizations music)
- sections header hors Consumer + null-safety result! catalogue
- music discovery filter sheet, home black screen, settings back-nav
- null-safety on result! inside setState catalogue callback
- hide empty sections, portrait cards (116×172), SVG lauriers catalogue CATALOGUE
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1705-b1705
✨ Nouvelles fonctionnalités
- carousel, category chips, catalogue SVG header pour extensions watch
🧹 Suppressions
- restaure manga_home_screen.dart (edits appliqués au mauvais fichier)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1706-b1706
✨ Nouvelles fonctionnalités
- carousel, category chips, catalogue SVG header pour extensions watch
🧹 Suppressions
- restaure manga_home_screen.dart — edits appliqués au mauvais fichier
- restaure manga_home_screen.dart (edits appliqués au mauvais fichier)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1704-b1704
✨ Nouvelles fonctionnalités
- carousel, category chips, catalogue SVG header pour extensions watch
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1703-b1703
🧩 Corrections
- getSuggestions placed correctly inside MihonExtensionService class
- getSuggestions in MihonExtensionService (was misplaced in hasError), add SpotubeAudioPlayer.playOrPause()
- remove emoji icons (≡≡ bars bug), frosted filter sheet, suggestions, auto-apply filters, active pill colors, grid/list toggle, player disposed guard
- artSize type num→double in player sheet, history deletion rebuild in search
- improve: search bar compact+sticky, floating player all pages, error box crash fix, full player centering, small screen UI
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1688-b1688
🧩 Corrections
- music hub settings navigation exits shell, UTF-8 mojibake in nav logs/labels, error box close crash
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1687-b1687
🧩 Corrections
- 3-dot color, remove filter tab, infinite scroll, search screen only filters
🧹 Suppressions
- improve: remove redundant scroll listener, clean dead filter-tab code
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1686-b1686
🧩 Corrections
- 3-dot color, remove filter tab, infinite scroll, search screen only filters
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1682-b1682
🧩 Corrections
- useRootNavigator:false — track options X button works
- useRootNavigator:false — X button now closes dialog correctly
- AniList 403 handling — logout + clear error message
- replaceAll to HomeRoute after setup — no more grey screen
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1679-b1679
🧩 Corrections
- replaceAll to HomeRoute after setup — no more grey screen
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1681-b1681
🧩 Corrections
- useRootNavigator:false — X button now closes dialog correctly
- AniList 403 handling — logout + clear error message
- replaceAll to HomeRoute after setup — no more grey screen
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1680-b1680
🧩 Corrections
- AniList 403 handling — logout + clear error message
- replaceAll to HomeRoute after setup — no more grey screen
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1685-b1685
⚙️ Changements
- change: music settings button navigates to SettingsRoute (music internal)
🧩 Corrections
- Music Hub entry opens MusicLibrary hub page
- useRootNavigator:false — settings dialog X button works
- useRootNavigator:false — track options X button works
- useRootNavigator:false — X button now closes dialog correctly
- AniList 403 handling — logout + clear error message
- replaceAll to HomeRoute after setup — no more grey screen
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1684-b1684
⚙️ Changements
- change: music settings button navigates to SettingsRoute (music internal)
🧩 Corrections
- useRootNavigator:false — settings dialog X button works
- useRootNavigator:false — track options X button works
- useRootNavigator:false — X button now closes dialog correctly
- AniList 403 handling — logout + clear error message
- replaceAll to HomeRoute after setup — no more grey screen
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1683-b1683
🧩 Corrections
- useRootNavigator:false — settings dialog X button works
- useRootNavigator:false — track options X button works
- useRootNavigator:false — X button now closes dialog correctly
- AniList 403 handling — logout + clear error message
- replaceAll to HomeRoute after setup — no more grey screen
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1678-b1678
🧩 Corrections
- default every content type to Grid display mode
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1675-b1675
✨ Nouvelles fonctionnalités
- add shared InlineFilterChipsMixin (filter icon + pills) reused by manga & watch search screens
⚙️ Changements
- change: replace AboutSpotubePage with Music Hub branding
- change: replace Spotube logo/text with Music Hub
- change: Music Hub title + settings → /settings via GoRouter
🚀 Améliorations
- use shared InlineFilterChipsMixin instead of private duplicated filter widgets
🧩 Corrections
- login -> SettingsMetadataProviderRoute
- remove Localizations.override - async null l10n crash blank pages
🧹 Suppressions
- change: remove Spotube donation links from settings about
- remove: Spotube/KRTirtho links from getting started
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1677-b1677
✨ Nouvelles fonctionnalités
- add shared InlineFilterChipsMixin (filter icon + pills) reused by manga & watch search screens
⚙️ Changements
- change: replace AboutSpotubePage with Music Hub branding
- change: replace Spotube logo/text with Music Hub
- change: Music Hub title + settings → /settings via GoRouter
🧩 Corrections
- login -> SettingsMetadataProviderRoute
- remove Localizations.override - async null l10n crash blank pages
🧹 Suppressions
- change: remove Spotube donation links from settings about
- remove: Spotube/KRTirtho links from getting started
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1676-b1676
✨ Nouvelles fonctionnalités
- add shared InlineFilterChipsMixin (filter icon + pills) reused by manga & watch search screens
⚙️ Changements
- change: replace AboutSpotubePage with Music Hub branding
- change: replace Spotube logo/text with Music Hub
- change: Music Hub title + settings → /settings via GoRouter
🚀 Améliorations
- use shared InlineFilterChipsMixin instead of private duplicated filter widgets
🧩 Corrections
- match manga 3-dot menu icon style; add shared filter icon + pills to watch search screen
- login -> SettingsMetadataProviderRoute
- remove Localizations.override - async null l10n crash blank pages
🧹 Suppressions
- change: remove Spotube donation links from settings about
- remove: Spotube/KRTirtho links from getting started
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1670-b1670
⚙️ Changements
- change: replace Spotube logo/text with Music Hub
- change: Music Hub title + settings → /settings via GoRouter
🧩 Corrections
- remove Localizations.override - async null l10n crash blank pages
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1673-b1673
⚙️ Changements
- change: replace Spotube logo/text with Music Hub
- change: Music Hub title + settings → /settings via GoRouter
🧩 Corrections
- login -> SettingsMetadataProviderRoute
- remove Localizations.override - async null l10n crash blank pages
🧹 Suppressions
- change: remove Spotube donation links from settings about
- remove: Spotube/KRTirtho links from getting started
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1672-b1672
⚙️ Changements
- change: replace Spotube logo/text with Music Hub
- change: Music Hub title + settings → /settings via GoRouter
🧩 Corrections
- login -> SettingsMetadataProviderRoute
- remove Localizations.override - async null l10n crash blank pages
🧹 Suppressions
- remove: Spotube/KRTirtho links from getting started
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1671-b1671
⚙️ Changements
- change: replace Spotube logo/text with Music Hub
- change: Music Hub title + settings → /settings via GoRouter
🧩 Corrections
- remove Localizations.override - async null l10n crash blank pages
🧹 Suppressions
- remove: Spotube/KRTirtho links from getting started
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1674-b1674
⚙️ Changements
- change: replace AboutSpotubePage with Music Hub branding
- change: replace Spotube logo/text with Music Hub
- change: Music Hub title + settings → /settings via GoRouter
🧩 Corrections
- login -> SettingsMetadataProviderRoute
- remove Localizations.override - async null l10n crash blank pages
🧹 Suppressions
- change: remove Spotube donation links from settings about
- remove: Spotube/KRTirtho links from getting started
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1669-b1669
⚙️ Changements
- change: replace Spotube logo/text with Music Hub
- change: Music Hub title + settings → /settings via GoRouter
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1668-b1668
⚙️ Changements
- change: Music Hub title + settings → /settings via GoRouter
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1666-b1666
🚀 Améliorations
- improve: music hub settings → watchtower settings + login icon when disconnected
- add ms timing logs to image provider (NET/DISK/MEM hit)
🧩 Corrections
- proper shimmer skeleton + card-like items (gradient+title stub) in catalogue grid
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1667-b1667
⚙️ Changements
- change: rename "Spotube" sidebar label to "Music Hub"
🚀 Améliorations
- improve: music hub settings → watchtower settings + login icon when disconnected
- add ms timing logs to image provider (NET/DISK/MEM hit)
🧩 Corrections
- proper shimmer skeleton + card-like items (gradient+title stub) in catalogue grid
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1664-b1664
🚀 Améliorations
- add ms timing logs to image provider (NET/DISK/MEM hit)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1663-b1663
✨ Nouvelles fonctionnalités
- add Watch tab to search screen with GlobalSearch navigation
🧩 Corrections
- import manga.dart for ItemType in WatchSearchTab
- wrap ImperativeRouteMatch access in try-catch — go_router 17.x throws UnimplementedError on context.push() routes during router state sync
- catch ImperativeRouteMatch UnimplementedError in go_router 17.x — RouterCurrentLocationState._listener was crashing on context.push() routes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1661-b1661
🧩 Corrections
- wrap ImperativeRouteMatch access in try-catch — go_router 17.x throws UnimplementedError on context.push() routes during router state sync
- catch ImperativeRouteMatch UnimplementedError in go_router 17.x — RouterCurrentLocationState._listener was crashing on context.push() routes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1660-b1660
🧩 Corrections
- catch ImperativeRouteMatch UnimplementedError in go_router 17.x — RouterCurrentLocationState._listener was crashing on context.push() routes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1659-b1659
🧩 Corrections
- add AppLocalizations.delegate to Localizations.override — fixes context.l10n null crash in GettingStartedPage and Sidebar
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1658-b1658
🧩 Corrections
- remove initialRoutes from delegate() — not supported in auto_route v9; use replaceAll post-frame for non-default routes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1656-b1656
🧩 Corrections
- only remove .storyboardc from Frameworks — preserve Main.storyboardc required by UIKit (UIMainStoryboardFile=Main)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1655-b1655
✨ Nouvelles fonctionnalités
- Fix infinite-scroll pagination bug and add Aidoku/MangaDex-style tag chips
🧩 Corrections
- defer _ensureLocalSources() past runApp() — prevents Isar Rust FFI string_to_bytes malloc abort on iPhone 7 low-memory startup
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1654-b1654
🧩 Corrections
- defer _ensureLocalSources() past runApp() — prevents Isar Rust FFI string_to_bytes malloc abort on iPhone 7 low-memory startup
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1653-b1653
🧩 Corrections
- restore GREEN build — xcodebuild + file -b framework loop (ar archive removal + lipo thin) — fixes TrollStore ldid error 175
- restore GREEN build method — xcodebuild + file -b framework loop to remove ar archives (wakelock_plus) + lipo thin — fixes TrollStore ldid error 175
- chevron left-gap, clamping snap scroll, classic dock anim 150ms
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1652-b1652
🧩 Corrections
- restore GREEN build method — xcodebuild + file -b framework loop to remove ar archives (wakelock_plus) + lipo thin — fixes TrollStore ldid error 175
- chevron left-gap, clamping snap scroll, classic dock anim 150ms
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1651-b1651
🧩 Corrections
- chevron left-gap, clamping snap scroll, classic dock anim 150ms
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1650-b1650
🧩 Corrections
- add flutter/widgets import + revert delegate() initialRoutes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1648-b1648
🧩 Corrections
- remove icudtl.dat + .frag — non-Mach-O binaries causing ldid error 175
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1647-b1647
🚀 Améliorations
- improve: unified sub-dock pill, compact back chevron, smaller dock, theme-aware colors
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1646-b1646
🚀 Améliorations
- improve: unified sub-dock pill, compact back chevron, smaller dock, theme-aware colors
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1645-b1645
🧩 Corrections
- discover more-sheet blur glass, cinema grid mode, custom inline embed + music white screen
- remove .storyboardc/.nib files — true cause of TrollStore ldid error 175
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1644-b1644
🧩 Corrections
- remove .storyboardc/.nib files — true cause of TrollStore ldid error 175
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1643-b1643
🧩 Corrections
- remove .car files from IPA to fix TrollStore error 175
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1642-b1642
✨ Nouvelles fonctionnalités
- green Install banner in menu overlay when APK is ready to install
- tap Telecharger closes screen immediately; APK downloads in background; iOS opens TrollStore URL scheme
- add showDownloadComplete notification with Install action; handle _kActionInstall
- add pendingInstallFile global for background download state
🧩 Corrections
- remove sqlite3.tempDirectory — not accessible in AOT, applyWorkaround already handles it
- alias sqlite3 import to resolve undefined-name conflict with drift/native
- encircle more_vert button, default grid layout, layout picker in browse settings
- remove Ouvrir button from custom launcher, add one-shot nav guard
- discover header pills on separate row, skeleton shimmer, music → search, custom ext auto-navigate
- discover header pills on separate row, skeleton shimmer infinite scroll, music → search, custom ext auto-navigate
- move showDownloadComplete/showDownloadProgress inside class; fix const+interpolation
- remove undefined version var in showDownloadProgress
- correct Dart string interpolation in update notifications (dollar escape)
- Popular+Latest toujours fixes, Accueil seulement si home declare, vrais custom listes ignorent popular/latest
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1628-b1628
🧩 Corrections
- add ldid diagnostic + remove .metallib files for TrollStore ldid compat
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1627-b1627
✨ Nouvelles fonctionnalités
- dynamic tab system (home/popular/latest via getCustomLists), fix ... button, remove carousel header, update _TabPillsRow
🧩 Corrections
- filter special tab ids from section view, fix retry for custom tabs
- remove ad-hoc codesign — TrollStore ldid crashes on _CodeSignature files
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1625-b1625
🧩 Corrections
- remove ad-hoc codesign — TrollStore ldid crashes on _CodeSignature files
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1626-b1626
✨ Nouvelles fonctionnalités
- dynamic tab system (home/popular/latest via getCustomLists), fix ... button, remove carousel header, update _TabPillsRow
🧩 Corrections
- remove ad-hoc codesign — TrollStore ldid crashes on _CodeSignature files
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1624-b1624
🧩 Corrections
- rewrite workflow from scratch — flutter build ios --no-codesign, correct YAML
- rewrite build step — flutter build ios --no-codesign, clean YAML indent
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1623-b1623
🧩 Corrections
- rewrite build step — flutter build ios --no-codesign, clean YAML indent
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1622-b1622
🧩 Corrections
- use flutter build ios --no-codesign directly — avoids pod static lib linking issue
- CONFIGURATION_BUILD_DIR → Runner.app lands in build/ios/iphoneos/
- set CONFIGURATION_BUILD_DIR so Runner.app lands in build/ios/iphoneos/
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1621-b1621
🧩 Corrections
- CONFIGURATION_BUILD_DIR → Runner.app lands in build/ios/iphoneos/
- set CONFIGURATION_BUILD_DIR so Runner.app lands in build/ios/iphoneos/
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1620-b1620
🧩 Corrections
- set CONFIGURATION_BUILD_DIR so Runner.app lands in build/ios/iphoneos/
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1619-b1619
🧩 Corrections
- correct YAML indentation + fix flutter_new_pipe_extractor missing assets
- headerH includes pills row (+36px) to avoid content hiding behind pills
- create missing flutter_new_pipe_extractor assets dir before build
- music screen delegate stored in state
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1618-b1618
🧩 Corrections
- headerH includes pills row (+36px) to avoid content hiding behind pills
- create missing flutter_new_pipe_extractor assets dir before build
- music screen delegate stored in state
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1616-b1616
🧩 Corrections
- music screen delegate stored in state
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1617-b1617
🧩 Corrections
- create missing flutter_new_pipe_extractor assets dir before build
- music screen delegate stored in state
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1615-b1615
🧩 Corrections
- header redesign — Discovery title + pills in header; filter only next to search; filter collapses with search; 3-2-1-2-1 filter layout; adult as chip; active colours on all filters; list view + columns picker in …
- replace transparent Material with ColoredBox(cs.surface) to prevent white flash on init
🧹 Suppressions
- cancel-in-progress; Gradle cache key includes lib/**/*.dart → enable caching=true safely; cache p7zip binary
- cancel-in-progress; two-layer CocoaPods cache (spec repo + Pods dir); conditional pod install --repo-update
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1614-b1614
🧩 Corrections
- header redesign — Discovery title + pills in header; filter only next to search; filter collapses with search; 3-2-1-2-1 filter layout; adult as chip; active colours on all filters; list view + columns picker in …
- replace transparent Material with ColoredBox(cs.surface) to prevent white flash on init
🧹 Suppressions
- cancel-in-progress; two-layer CocoaPods cache (spec repo + Pods dir); conditional pod install --repo-update
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1613-b1613
🧩 Corrections
- header redesign — Discovery title + pills in header; filter only next to search; filter collapses with search; 3-2-1-2-1 filter layout; adult as chip; active colours on all filters; list view + columns picker in …
- replace transparent Material with ColoredBox(cs.surface) to prevent white flash on init
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1612-b1612
🧩 Corrections
- replace transparent Material with ColoredBox(cs.surface) to prevent white flash on init
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1611-b1611
✨ Nouvelles fonctionnalités
- discover — Watch/Manga/Novel/Music/Custom pills, scroll-collapse search, filter panel + adult toggle + trash, FAB
🧩 Corrections
- music impl — remove _NoProviderPage intercept, inherit parent theme
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1610-b1610
✨ Nouvelles fonctionnalités
- discover — Watch/Manga/Novel/Music/Custom pills, scroll-collapse search, filter panel + adult toggle + trash, FAB
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1604-b1604
✨ Nouvelles fonctionnalités
- redesign discover screen — new header (icon+name|... btn), 4 modes Discovery/Series/Music/Custom
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1608-b1608
✨ Nouvelles fonctionnalités
- redesign discover screen — new header, 4 modes Discovery/Series/Music/Custom
- redesign discover screen — new header (icon+name|... btn), 4 modes Discovery/Series/Music/Custom
🧩 Corrections
- music discovery — follow app theme + no-provider redirect
- music discovery follows app theme + no-provider redirect page
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1607-b1607
✨ Nouvelles fonctionnalités
- redesign discover screen — new header, 4 modes Discovery/Series/Music/Custom
- redesign discover screen — new header (icon+name|... btn), 4 modes Discovery/Series/Music/Custom
🧩 Corrections
- music discovery — follow app theme + no-provider redirect
- music discovery follows app theme + no-provider redirect page
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1606-b1606
✨ Nouvelles fonctionnalités
- redesign discover screen — new header, 4 modes Discovery/Series/Music/Custom
- redesign discover screen — new header (icon+name|... btn), 4 modes Discovery/Series/Music/Custom
🧩 Corrections
- music discovery follows app theme + no-provider redirect page
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1609-b1609
✨ Nouvelles fonctionnalités
- redesign discover screen — new header, 4 modes Discovery/Series/Music/Custom
- redesign discover screen — new header (icon+name|... btn), 4 modes Discovery/Series/Music/Custom
🧩 Corrections
- music discovery — follow app theme + no-provider redirect
- music discovery follows app theme + no-provider redirect page
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1605-b1605
✨ Nouvelles fonctionnalités
- redesign discover screen — new header (icon+name|... btn), 4 modes Discovery/Series/Music/Custom
🧩 Corrections
- music discovery follows app theme + no-provider redirect page
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1603-b1603
🧩 Corrections
- volume scroll double-cancel + adaptive RAM-based image cache
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1602-b1602
✨ Nouvelles fonctionnalités
- add volume button nav toggle to Reader settings screen
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1601-b1601
✨ Nouvelles fonctionnalités
- volume nav helper web no-op stub
- volume nav helper native impl (addListener, showSystemUI, restore)
- volume nav helper — conditional export (native/web)
🧩 Corrections
- use vol_nav_helper wrapper; fix addListener (not listener); fix dispose race
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1590-b1590
🚀 Améliorations
- improve: skeleton load-more instead of spinner
- improve: permanent chapter-image cache (7d -> 10y)
- improve: permanent cover cache (90d -> 10y)
- improve: permanent image cache (30d -> 10y default cacheMaxAge)
🧹 Suppressions
- improve: remove load-more button (auto-scroll only) + grid/list toggle in filter bar
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1587-b1587
🚀 Améliorations
- improve: permanent image cache (30d -> 10y default cacheMaxAge)
🧹 Suppressions
- improve: remove load-more button (auto-scroll only) + grid/list toggle in filter bar
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1588-b1588
🚀 Améliorations
- improve: permanent cover cache (90d -> 10y)
- improve: permanent image cache (30d -> 10y default cacheMaxAge)
🧹 Suppressions
- improve: remove load-more button (auto-scroll only) + grid/list toggle in filter bar
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1589-b1589
🚀 Améliorations
- improve: permanent chapter-image cache (7d -> 10y)
- improve: permanent cover cache (90d -> 10y)
- improve: permanent image cache (30d -> 10y default cacheMaxAge)
🧹 Suppressions
- improve: remove load-more button (auto-scroll only) + grid/list toggle in filter bar
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1586-b1586
🧹 Suppressions
- improve: remove load-more button (auto-scroll only) + grid/list toggle in filter bar
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1585-b1585
✨ Nouvelles fonctionnalités
- icons + idle sources list + skeleton loading + robust filters in global search, generic JS search/filter fallback helpers
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1584-b1584
🧩 Corrections
- supprime référence orpheline à filterList dans _TabPillsRow (cassait le build Web)
- désactive l'overlay volume natif Android/iOS (VolumeController.showSystemUI = false)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1581-b1581
🧩 Corrections
- remplace Icons.replay_15_rounded/forward_15_rounded inexistants par des icônes valides (build cassé)
- 7 correctifs prioritaires du lecteur vidéo
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1579-b1579
✨ Nouvelles fonctionnalités
- player overhaul — lang picker, PiP, ep list, more panel, subtitle fix
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1578-b1578
✨ Nouvelles fonctionnalités
- player overhaul — lang picker, PiP, ep list, more panel, subtitle fix
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1574-b1574
✨ Nouvelles fonctionnalités
- portrait gestures, prev/next ep, seek preview, skeleton loading, fit cycle, speed scroll, chip sizes, ep# fix
🧩 Corrections
- cancel durSub on success to prevent listener accumulation; sync controlsNotifier on portrait overlay init
🧹 Suppressions
- purge tous les vecteurs de cache périmé pour garantir la fraîcheur des builds
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1573-b1573
✨ Nouvelles fonctionnalités
- portrait gestures, prev/next ep, seek preview, skeleton loading, fit cycle, speed scroll, chip sizes, ep# fix
🧩 Corrections
- cancel durSub on success to prevent listener accumulation; sync controlsNotifier on portrait overlay init
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1572-b1572
✨ Nouvelles fonctionnalités
- portrait gestures, prev/next ep, seek preview, skeleton loading, fit cycle, speed scroll, chip sizes, ep# fix
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1571-b1571
🧩 Corrections
- Fix AniList recommendation 404 handling for non-anime titles (MovieBox live-action content)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1570-b1570
🧩 Corrections
- episode tap opens real AnimePlayerView instead of HTML5 stub
- local/demo source skips getVideoList entirely — returns episode.url directly
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1569-b1569
🧩 Corrections
- local/demo source skips getVideoList entirely — returns episode.url directly
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1568-b1568
🧩 Corrections
- bust stale Flutter .dart_tool cache — flutter-v2- prefix
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1567-b1567
🧩 Corrections
- correct YAML indentation in media_kit_video pubspec.yaml
- correct YAML indentation in media_kit pubspec.yaml
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1566-b1566
🧩 Corrections
- correct YAML indentation in media_kit pubspec.yaml
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1565-b1565
✨ Nouvelles fonctionnalités
- bigger center buttons (skip±s 44→54, skip ep 35→44), fix skip_next color
- larger icons (26->30), remove Help btn, top bar HDR->CC->Playlist->more
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1564-b1564
✨ Nouvelles fonctionnalités
- larger icons (26->30), remove Help btn, top bar HDR->CC->Playlist->more
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1563-b1563
✨ Nouvelles fonctionnalités
- media_kit_video stub — HTML5 video player + Flutter overlay + local file picker
- media_kit stub — Player web bridge (HTMLVideoElement + webVideoStream)
🧩 Corrections
- add web dep to media_kit stub for HTML5 video bridge
- web cache key includes lib + web_stubs dart files
- cache key + web HTML5 video player
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1560-b1560
🧩 Corrections
- web cache key includes lib + web_stubs dart files
- cache key + web HTML5 video player
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1561-b1561
🧩 Corrections
- add web dep to media_kit stub for HTML5 video bridge
- web cache key includes lib + web_stubs dart files
- cache key + web HTML5 video player
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1562-b1562
✨ Nouvelles fonctionnalités
- media_kit stub — Player web bridge (HTMLVideoElement + webVideoStream)
🧩 Corrections
- add web dep to media_kit stub for HTML5 video bridge
- web cache key includes lib + web_stubs dart files
- cache key + web HTML5 video player
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1559-b1559
🧩 Corrections
- cache key + web HTML5 video player
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1558-b1558
🧩 Corrections
- cache key + web HTML5 video player
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1556-b1556
✨ Nouvelles fonctionnalités
- landscape top-bar — HDR→CC→Playlist, bouton Help, supprime audio
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1557-b1557
✨ Nouvelles fonctionnalités
- landscape top-bar — HDR→CC→Playlist, bouton Help, supprime audio
🧩 Corrections
- portrait overlay — topButtonBar (back+help) disparaît instantanément
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1555-b1555
✨ Nouvelles fonctionnalités
- pass itemType when navigating to localSources
- pass ItemType extra to localSources route for LocalBrowserPage
- replace DexMovie importer with LocalBrowserPage — direct grid per itemType
🧩 Corrections
- remove getHeader — local covers use MemoryImage only
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1551-b1551
⚙️ Changements
- restore: library_dialogs.dart to original Watchtower state (no custom additions)
🧩 Corrections
- rewrite folder import using FilePicker.platform.getDirectoryPath() and real scan providers
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1549-b1549
🧩 Corrections
- add missing ) to close Row in _RankedCardState build
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1546-b1546
✨ Nouvelles fonctionnalités
- MangasCardSelector renders icon+emoji before label
🧩 Corrections
- local source opens import page; video itemType trust; folder import btn; Row syntax
- local source opens import page; video itemType trust; folder import button
- improve watch home spacing, carousel height, press animations
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1545-b1545
🧩 Corrections
- local source opens import page; video itemType trust; folder import btn; Row syntax
- local source opens import page; video itemType trust; folder import button
- improve watch home spacing, carousel height, press animations
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1542-b1542
✨ Nouvelles fonctionnalités
- restore local source at bottom of browse with 3D folder icon + improve player
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1541-b1541
🧩 Corrections
- remove duplicate comma at line 1042 — caused Dart compile error on Android/iOS
- copy vercel.json into build/web before vercel deploy — fixes 404
- vercel@latest direct install — amondnet action uses CLI too old (needs ≥47.2.2)
- use vercel@latest directly — amondnet/vercel-action@v25 CLI too old (needs ≥47.2.2)
- outputDirectory "." — action already deploys from build/web (was causing 404)
- portrait seekbar local drag state (no stream jump during drag)
- 9 UX improvements
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1534-b1534
🧩 Corrections
- move library directive before imports in sqlite3 common.dart
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1533-b1533
🧩 Corrections
- fix jsonb as Codec<Object?, Uint8List> in sqlite3 common.dart
- fix Metadata types (year: Object?, durationMs: num?, fileSize: BigInt?)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1532-b1532
🧩 Corrections
- fix Metadata types (year: Object?, durationMs: num?, fileSize: BigInt?)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1531-b1531
⚙️ Changements
- Maintenance et corrections internes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1530-b1530
🧩 Corrections
- fix sqlite3 pubspec.yaml indentation
- correct YAML indentation and fix drift/sqlite3 patches
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1529-b1529
🧩 Corrections
- correct YAML indentation and fix drift/sqlite3 patches
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1528-b1528
🧩 Corrections
- comprehensive media_kit, sqlite3, drift, newpipe, metadata_god, home_widget fixes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1527-b1527
🧩 Corrections
- fix sqlite3_flutter_libs pubspec.yaml indentation
- remove colon chars from ffi pubspec description
- quote descriptions in ffi and sqlite3_flutter_libs pubspec.yaml
- remove duplicate ffi entry before adding stub override
- correct workflow YAML indentation v2
- correct workflow YAML indentation
- add ffi+sqlite3_flutter_libs stubs, patch dart:ffi pub-cache, fix PlaylistMode+loopMode
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1526-b1526
🧩 Corrections
- remove colon chars from ffi pubspec description
- quote descriptions in ffi and sqlite3_flutter_libs pubspec.yaml
- remove duplicate ffi entry before adding stub override
- correct workflow YAML indentation v2
- correct workflow YAML indentation
- add ffi+sqlite3_flutter_libs stubs, patch dart:ffi pub-cache, fix PlaylistMode+loopMode
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1525-b1525
🧩 Corrections
- quote descriptions in ffi and sqlite3_flutter_libs pubspec.yaml
- remove duplicate ffi entry before adding stub override
- correct workflow YAML indentation v2
- correct workflow YAML indentation
- add ffi+sqlite3_flutter_libs stubs, patch dart:ffi pub-cache, fix PlaylistMode+loopMode
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1524-b1524
🧩 Corrections
- remove duplicate ffi entry before adding stub override
- correct workflow YAML indentation v2
- correct workflow YAML indentation
- add ffi+sqlite3_flutter_libs stubs, patch dart:ffi pub-cache, fix PlaylistMode+loopMode
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1522-b1522
🧩 Corrections
- correct workflow YAML indentation
- add ffi+sqlite3_flutter_libs stubs, patch dart:ffi pub-cache, fix PlaylistMode+loopMode
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1523-b1523
🧩 Corrections
- correct workflow YAML indentation v2
- correct workflow YAML indentation
- add ffi+sqlite3_flutter_libs stubs, patch dart:ffi pub-cache, fix PlaylistMode+loopMode
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1521-b1521
🧩 Corrections
- add ffi+sqlite3_flutter_libs stubs, patch dart:ffi pub-cache, fix PlaylistMode+loopMode
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1520-b1520
✨ Nouvelles fonctionnalités
- web: vercel deploy + 10 new stubs + compat report
- declarative extension UI contract + 10 bug fixes
🧩 Corrections
- add videoQualities and contentSubtype fields to Source model (compile error)
- remove non-existent MClient.cleanCacheForUrl() call (compile error)
🧹 Suppressions
- fix vercel deploy if-condition in build_web.yml
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1519-b1519
✨ Nouvelles fonctionnalités
- web: vercel deploy + 10 new stubs + compat report
- declarative extension UI contract + 10 bug fixes
🧩 Corrections
- add videoQualities and contentSubtype fields to Source model (compile error)
- remove non-existent MClient.cleanCacheForUrl() call (compile error)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1515-b1515
🧩 Corrections
- top bar icon size 26px + local source bootstrap + create Watchtower/local folder
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1514-b1514
🧩 Corrections
- remove icon backgrounds, enlarge icons, mute first on left side
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1513-b1513
✨ Nouvelles fonctionnalités
- improve: redesign mobile player UI (top bar CC/audio/chapters, side lock/mute/screenshot/rotate buttons, bottom bar with title)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1512-b1512
✨ Nouvelles fonctionnalités
- OPlayer side panel with settings and episodes tabs
🧩 Corrections
- use chapters.toList() instead of missing getFilteredChapterList extension
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1510-b1510
✨ Nouvelles fonctionnalités
- complete overhaul — 60fps seekbar, OPlayer side panel, named fit picker
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1509-b1509
✨ Nouvelles fonctionnalités
- mini player snap-to-edge — drag pill left/right to pin to screen edge
- apply music module accent color via Theme wrapper
🧩 Corrections
- default accent color green instead of blue
- _toBrowseSection missing context arg — CI error line 449
- music search screen — follow theme accent color
- rename ShadcnWindowButton → WindowControlButton in titlebar_buttons
- search navigation + beatmake mini player
- crash + shadcn refs + player transparency
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1507-b1507
🧩 Corrections
- default accent color green instead of blue
- _toBrowseSection missing context arg — CI error line 449
- music search screen — follow theme accent color
- rename ShadcnWindowButton → WindowControlButton in titlebar_buttons
- search navigation + beatmake mini player
- crash + shadcn refs + player transparency
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1508-b1508
✨ Nouvelles fonctionnalités
- apply music module accent color via Theme wrapper
🧩 Corrections
- default accent color green instead of blue
- _toBrowseSection missing context arg — CI error line 449
- music search screen — follow theme accent color
- rename ShadcnWindowButton → WindowControlButton in titlebar_buttons
- search navigation + beatmake mini player
- crash + shadcn refs + player transparency
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1506-b1506
🧩 Corrections
- _toBrowseSection missing context arg — CI error line 449
- music search screen — follow theme accent color
- rename ShadcnWindowButton → WindowControlButton in titlebar_buttons
- search navigation + beatmake mini player
- crash + shadcn refs + player transparency
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1501-b1501
✨ Nouvelles fonctionnalités
- UI improvements — filter chips, wave border, icon cache, card resizing
- migrate shadcn_flutter to Flutter Material Design
- smooth seekbar preview, ±15s skip buttons, help page, audio language popup, settings 3-dot menu
🚀 Améliorations
- improve: seekbar double-tap cancel, comprehensive settings panel
- improve: rewrite all Spotube pages in native Material style
🧩 Corrections
- l10n.plugin_support→support, AdaptiveMenuButton onPressed arity, add databaseProvider import
- correct all Material migration errors (back_button, player_controls, installed_plugin, plugin_repository, artist_item, top)
- replace all remaining shadcn APIs with Material equivalents
- restore watch_home_screen.dart to last clean version (remove duplication)
- remove duplicate class definition in watch_home_screen.dart
- replace all shadcn UI with Material - fix all Dart build errors
- batch3: fix fees.dart
- batch3: fix playback.dart
- batch3: fix downloads.dart
- batch3: fix metadata_plugins.dart
- batch3: fix top_tracks.dart
- batch3: fix region.dart
- batch3: fix player_queue.dart
- batch3: fix track_tile.dart
- batch3: fix playlist_create_dialog.dart
- batch3: fix track_options_provider.dart
- Fix remaining 27 broken files from build log (batch 2)
- Fix all 83 broken files: migrate shadcn_flutter → Material widgets
- complete shadcn_flutter → Material migration
- fix context.Theme.of → Theme.of in 9 files
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1469-b1469
✨ Nouvelles fonctionnalités
- connect MusicSearchScreen to real browse/search providers
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1467-b1467
✨ Nouvelles fonctionnalités
- pre-fill locale picker in getting-started with Watchtower app locale
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1466-b1466
✨ Nouvelles fonctionnalités
- new Spotify-style MusicSearchScreen replacing Spotube SearchPage
🧩 Corrections
- clean rewrite of music_discovery_screen_impl with locale + accent color
- apply Spotube accent color preference to shadcn ThemeData
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1465-b1465
🧩 Corrections
- clean rewrite of music_discovery_screen_impl with locale + accent color
- apply Spotube accent color preference to shadcn ThemeData
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1462-b1462
🧩 Corrections
- direct audioPlayer.pause/resume in mini-player (bypass Actions.handler)
- apply Spotube locale to music sub-tree via Localizations.override
- direct audioPlayer.pause/resume in mini-player instead of Actions.handler
- useRootNavigator:false for TrackDetailsDialog in PlayerView
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1463-b1463
🧩 Corrections
- apply Spotube locale to music widget tree via Localizations.override
- direct audioPlayer.pause/resume in mini-player (bypass Actions.handler)
- apply Spotube locale to music sub-tree via Localizations.override
- direct audioPlayer.pause/resume in mini-player instead of Actions.handler
- useRootNavigator:false for TrackDetailsDialog in PlayerView
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1459-b1459
🧩 Corrections
- useRootNavigator:false for TrackDetailsDialog in PlayerView
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1461-b1461
🧩 Corrections
- apply Spotube locale to music sub-tree via Localizations.override
- direct audioPlayer.pause/resume in mini-player instead of Actions.handler
- useRootNavigator:false for TrackDetailsDialog in PlayerView
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1460-b1460
🧩 Corrections
- direct audioPlayer.pause/resume in mini-player instead of Actions.handler
- useRootNavigator:false for TrackDetailsDialog in PlayerView
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1458-b1458
✨ Nouvelles fonctionnalités
- add Music search pill between Discover series and Custom sources
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1457-b1457
🧩 Corrections
- useRootNavigator:false for showDialog in playback settings
- useRootNavigator:false for showDialog in music settings
- use local Navigator for showDialog in music module settings
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1456-b1456
🧩 Corrections
- useRootNavigator:false for showDialog in music settings
- use local Navigator for showDialog in music module settings
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1455-b1455
🧩 Corrections
- use local Navigator for showDialog in music module settings
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1454-b1454
🧩 Corrections
- bounded SizedBox for dialog content in AdaptiveSelectTile
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1453-b1453
🧩 Corrections
- add Material(transparency) inside SectionCardWithHeading
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1452-b1452
🧩 Corrections
- restore full flutter/material.dart import in music_discovery_screen_impl
- add root Material(transparent) to music module tree
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1450-b1450
🧩 Corrections
- remove orphan ) in control.dart left by tooltip removal
- add OverlayManagerLayer to music module root
- strip all shadcn Tooltip/TooltipContainer wrappers from music module
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1447-b1447
🧩 Corrections
- suppress tooltip OverlayManager crash + eliminate triple YouTube URL fetch
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1446-b1446
🧩 Corrections
- replace non-existent tvEmbedded/mweb clients with ios/androidVr/android
- YouTube tvEmbedded client first + always-on daily log files
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1444-b1444
🧩 Corrections
- redirect libmpv to CDN directly, fix refreshStream URL fetch
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1443-b1443
🧩 Corrections
- skip YouTube HEAD (403) + guard null radio result
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1442-b1442
🧩 Corrections
- YouTube playback, plugin default selection, update-checker 403\n\n Bug 1 – playback.dart: Replace 302 CDN redirect with full Dio proxy\n - streamTrack() now fetches from YouTube CDN using Dio with the\n correct user-agent (matched to the URL c= client param) and Host\n header instead of issuing a 302 redirect to MediaKit\n - MediaKit/libmpv was following the redirect without the required\n headers, causing every YouTube stream to fail with 'Failed to open'\n - m3u8 streams are still redirected directly (unchanged behaviour)\n - Full caching pipeline (partial file write + metadata tag) restored\n\n Bug 2 – metadata_plugin_provider.dart: Repair missing default plugin\n - When addPlugin() throws duplicatePlugin, freshlyAdded is now true\n so the auto-set block runs even for same-version reinstalls\n - Added symmetric auto-set for the metadata plugin slot\n - Fixes 'No default audio source plugin is set' on cold starts\n\n Bug 3 – update_checker.dart: Catch checkUpdate errors gracefully\n - Both checkUpdate() calls are now wrapped in try/catch; 403 from\n api-partner.spotify.com is logged and returns null instead of\n propagating as an unhandled exception
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1441-b1441
🧩 Corrections
- set libmpv user-agent to Android YouTube UA + force-seekable for 302 redirect to YouTube CDN
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1440-b1440
🧩 Corrections
- Response.found() for 302 redirect — proper Location header string for libmpv
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1439-b1439
🧩 Corrections
- 302-redirect instead of Dart proxy (TLS fingerprint → 403), skip HEAD validation in sourced_track
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1438-b1438
🧩 Corrections
- 302-redirect instead of Dart proxy (TLS fingerprint → 403), skip HEAD validation in sourced_track
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1435-b1435
🧩 Corrections
- 403 UA match, Material ancestor in SliverList, MetadataGod.initialize()
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1436-b1436
🧩 Corrections
- 403 UA match, Material ancestor in SliverList, MetadataGod.initialize()
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1437-b1437
🧩 Corrections
- 403 UA match, Material ancestor in SliverList, MetadataGod.initialize()
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1432-b1432
🧩 Corrections
- gray box in overlays + iOS AppGroupId init
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1434-b1434
🧩 Corrections
- gray box in overlays + iOS AppGroupId init
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1433-b1433
🧩 Corrections
- gray box in overlays + iOS AppGroupId init
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1431-b1431
✨ Nouvelles fonctionnalités
- real HomePlayerWidget Android widget + fix all openDrawer gray boxes
🧩 Corrections
- add flutter/material.dart import for Material/MaterialType in gray-box files
- add Material wrapper in openDrawer overlay to prevent Material.of null crash
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1415-b1415
🧩 Corrections
- gray box - inject shadcn theme in openDrawer/showDropdown overlays
- 403 proxy headers, Bad state guard, gray box theme inject
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1413-b1413
🧩 Corrections
- 403 proxy headers, Bad state guard, gray box theme inject
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1414-b1414
🧩 Corrections
- 403 proxy headers, Bad state guard, gray box theme inject
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1412-b1412
🧩 Corrections
- auto-set youtube-audio as default audio source plugin on first run
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1411-b1411
🧩 Corrections
- restore AppLogger.getLogsPath() + reportError file append
- android build, dock label clip, unified logger, server eager init
- undraw assets, dialog theme, login guard, logger bridge, remove --obfuscate
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1408-b1408
🧹 Suppressions
- speed up builds — Gradle local cache, Flutter build intermediates, Rust caches (Linux+Windows), skip icon regen on cache hit, batch Linux apt-get, drop docker prune
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1407-b1407
🧩 Corrections
- use context.pushRoute for login button (navigateTo does not work in this context)
- active tab blue, Musique→embed MusicDiscovery, Découverte label, transparent card badges, picker surface color, anonymous fallback icon
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1406-b1406
🧩 Corrections
- active tab blue, Musique→embed MusicDiscovery, Découverte label, transparent card badges, picker surface color, anonymous fallback icon
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1405-b1405
🧩 Corrections
- shadcn ThemeData grey screens (radius/surfaceOpacity/surfaceBlur/scaling) + remove Developer/About from music Settings
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1404-b1404
🧩 Corrections
- all bugs — Discovery Music pill, Hub Music, audio host 0.0.0.0→127.0.0.1, dock size, ScrollController leaks
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1403-b1403
✨ Nouvelles fonctionnalités
- declare Cookie + Ubuntu Mono fonts from Spotube
🧩 Corrections
- ConsumerStatefulWidget + read themeModeProvider for correct dark/light + init AppLogger
🧹 Suppressions
- add UbuntuMono-BoldItalic
- add UbuntuMono-Italic
- add UbuntuMono-Bold
- add UbuntuMono-Regular
- add Cookie-Regular font from Spotube
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1396-b1396
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
🧹 Suppressions
- add Spotube plugin.smplug
- add Spotube jiosaavn.png
- add Spotube invidious.jpg
- add Spotube dab-music.png
- add Spotube user-placeholder.png
- add Spotube placeholder.png
- add Spotube liked-tracks.jpg
- add Spotube bengali-patterns-bg.jpg
- add Spotube album-placeholder.png
- add Spotube spotube-logo.ico
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1386-b1386
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
🧹 Suppressions
- add Spotube spotube-logo.ico
- add Spotube spotube-logo-light.png
- add Spotube spotube-logo.png
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1384-b1384
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
🧹 Suppressions
- add Spotube spotube-logo.png
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1391-b1391
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
🧹 Suppressions
- add Spotube user-placeholder.png
- add Spotube placeholder.png
- add Spotube liked-tracks.jpg
- add Spotube bengali-patterns-bg.jpg
- add Spotube album-placeholder.png
- add Spotube spotube-logo.ico
- add Spotube spotube-logo-light.png
- add Spotube spotube-logo.png
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1392-b1392
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
🧹 Suppressions
- add Spotube dab-music.png
- add Spotube user-placeholder.png
- add Spotube placeholder.png
- add Spotube liked-tracks.jpg
- add Spotube bengali-patterns-bg.jpg
- add Spotube album-placeholder.png
- add Spotube spotube-logo.ico
- add Spotube spotube-logo-light.png
- add Spotube spotube-logo.png
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1385-b1385
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
🧹 Suppressions
- add Spotube spotube-logo-light.png
- add Spotube spotube-logo.png
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1393-b1393
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
🧹 Suppressions
- add Spotube invidious.jpg
- add Spotube dab-music.png
- add Spotube user-placeholder.png
- add Spotube placeholder.png
- add Spotube liked-tracks.jpg
- add Spotube bengali-patterns-bg.jpg
- add Spotube album-placeholder.png
- add Spotube spotube-logo.ico
- add Spotube spotube-logo-light.png
- add Spotube spotube-logo.png
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1395-b1395
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
🧹 Suppressions
- add Spotube plugin.smplug
- add Spotube jiosaavn.png
- add Spotube invidious.jpg
- add Spotube dab-music.png
- add Spotube user-placeholder.png
- add Spotube placeholder.png
- add Spotube liked-tracks.jpg
- add Spotube bengali-patterns-bg.jpg
- add Spotube album-placeholder.png
- add Spotube spotube-logo.ico
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1387-b1387
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
🧹 Suppressions
- add Spotube album-placeholder.png
- add Spotube spotube-logo.ico
- add Spotube spotube-logo-light.png
- add Spotube spotube-logo.png
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1390-b1390
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
🧹 Suppressions
- add Spotube placeholder.png
- add Spotube liked-tracks.jpg
- add Spotube bengali-patterns-bg.jpg
- add Spotube album-placeholder.png
- add Spotube spotube-logo.ico
- add Spotube spotube-logo-light.png
- add Spotube spotube-logo.png
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1388-b1388
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
🧹 Suppressions
- add Spotube bengali-patterns-bg.jpg
- add Spotube album-placeholder.png
- add Spotube spotube-logo.ico
- add Spotube spotube-logo-light.png
- add Spotube spotube-logo.png
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1389-b1389
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
🧹 Suppressions
- add Spotube liked-tracks.jpg
- add Spotube bengali-patterns-bg.jpg
- add Spotube album-placeholder.png
- add Spotube spotube-logo.ico
- add Spotube spotube-logo-light.png
- add Spotube spotube-logo.png
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1394-b1394
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
🧹 Suppressions
- add Spotube jiosaavn.png
- add Spotube invidious.jpg
- add Spotube dab-music.png
- add Spotube user-placeholder.png
- add Spotube placeholder.png
- add Spotube liked-tracks.jpg
- add Spotube bengali-patterns-bg.jpg
- add Spotube album-placeholder.png
- add Spotube spotube-logo.ico
- add Spotube spotube-logo-light.png
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1383-b1383
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- resilient bundled plugin loading (skip missing assets gracefully)
- remove SpotubeNavigationBar + collapse bottom padding when embedded
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1382-b1382
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
🧩 Corrections
- remove SpotubeNavigationBar + collapse bottom padding when embedded
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1381-b1381
✨ Nouvelles fonctionnalités
- declare branding, images, plugins asset directories
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1380-b1380
✨ Nouvelles fonctionnalités
- Library sub-dock + detached Back/Menu pills
- musique pill → /MusicSearch
- add /MusicSearch and /MusicLibraryPage routes
- add initialRoute param to MusicDiscoveryScreen
- add initialRoute param to stub
🧩 Corrections
- use shadcn.ThemeMode to avoid ThemeMode/1/ vs /2/ conflict
- call LegacyColorSchemes.zinc(themeMode) — was passing fn instead of ColorScheme
- shadcn Theme wrapper — drop brightness param (not a ThemeData ctor arg)
- inject shadcn Theme wrapper in MusicDiscoveryScreen to resolve null-check crash
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1371-b1371
✨ Nouvelles fonctionnalités
- add Music to Hub sub-dock (raise cap to 5 in hub mode, enable scroll)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1370-b1370
✨ Nouvelles fonctionnalités
- add KVStore init + Spotube l10n delegate to main.dart
- integrate real Spotube pages into MusicLibrary via auto_route shell
🧩 Corrections
- desktop_webview_window stub - add missing title/windowHeight/windowWidth, setApplicationUserAgent, fix setOnUrlRequestCallback return type
- round 2 - navigateTo ambiguity, file_picker 11.x API, tracks.dart provider type
- auto_route 9.x, Riverpod 3.x, FilePicker, discord clearActivity CI errors
- Riverpod 3.x and auto_route 9.x CI compilation errors
- Riverpod 3.x compat - family notifiers, ProviderObserver, missing files
- history/top providers AsyncNotifierProvider.family
- AsyncNotifierProvider.family + StateProvider compat imports
- add auto_route, rootNavigatorKey, fix all compilation errors
- conditional import for MusicDiscoveryScreen to avoid sqlite3 FFI in dart2js
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1359-b1359
✨ Nouvelles fonctionnalités
- copy Spotube pages verbatim [phase3 chunk 4/4]
- copy Spotube pages verbatim [phase3 chunk 3/4]
- copy Spotube pages verbatim [phase3 chunk 2/4]
- copy Spotube pages verbatim [phase3 chunk 1/4]
- copy Spotube components, modules, l10n verbatim [phase2 chunk 7/7]
- copy Spotube components, modules, l10n verbatim [phase2 chunk 6/7]
- copy Spotube components, modules, l10n verbatim [phase2 chunk 5/7]
- copy Spotube components, modules, l10n verbatim [phase2 chunk 4/7]
- copy Spotube components, modules, l10n verbatim [phase2 chunk 3/7]
- copy Spotube components, modules, l10n verbatim [phase2 chunk 2/7]
- copy Spotube components, modules, l10n verbatim [phase2 chunk 1/7]
- copy Spotube services,provider,models,hooks,extensions,utils,collections verbatim [phase1 chunk 7/7]
- copy Spotube services,provider,models,hooks,extensions,utils,collections verbatim [phase1 chunk 6/7]
- copy Spotube services,provider,models,hooks,extensions,utils,collections verbatim [phase1 chunk 5/7]
- copy Spotube services,provider,models,hooks,extensions,utils,collections verbatim [phase1 chunk 4/7]
- copy Spotube services,provider,models,hooks,extensions,utils,collections verbatim [phase1 chunk 3/7]
- copy Spotube services,provider,models,hooks,extensions,utils,collections verbatim [phase1 chunk 2/7]
- copy Spotube services,provider,models,hooks,extensions,utils,collections verbatim [phase1 chunk 1/7]
- copy lib/services/wm_tools/wm_tools.dart from Spotube verbatim
- copy lib/services/metadata/endpoints/artist.dart from Spotube verbatim
🧩 Corrections
- dontwarn com.google.android.play for sideload APK R8 build
- dontwarn java.beans+javax.script, fix newpipe assets dir in CI
- dontwarn java.beans+javax.script; create newpipe assets dir in CI
- downgrade riverpod to ^3.1.0 to match existing generated .g.dart files
- upgrade win32_registry to ^2.1.0 to satisfy device_info_plus ^12.2.0
- rebuild pubspec.yaml — restore Watchtower packages + add Spotube packages correctly
- remove d4rt conflict, add analyzer ^9.0.0 override
- add flutter_inappwebview to dependency_overrides to resolve hetu_spotube_plugin conflict
- rewrite pubspec.yaml - correct root-level indentation + desktop_webview_window override
- rewrite pubspec.yaml with correct root-level indentation and dependency_overrides
- add desktop_webview_window to dependency_overrides to resolve flutter_web_auth_2 conflict
- correct pubspec.yaml indentation and remove duplicate connectivity_plus
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1313-b1313
⚙️ Changements
- .dev/PLAN.md — plan complet integration Spotube
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1312-b1312
✨ Nouvelles fonctionnalités
- Music tab → MusicDiscoveryScreen, Game tab → GameDiscoveryScreen
- add Series/Manga/Music/Game mode pills
- replace chevron nav with sub-dock tab pills
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1310-b1310
✨ Nouvelles fonctionnalités
- replace chevron nav with sub-dock tab pills
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1311-b1311
✨ Nouvelles fonctionnalités
- add Series/Manga/Music/Game mode pills
- replace chevron nav with sub-dock tab pills
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1309-b1309
🧩 Corrections
- pip error 80, buttons, 3-snap, mini border, fullscreen back, thumbnail cover
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1308-b1308
🧩 Corrections
- NoVideoControls returns Widget not Widget? to match controls field type
- correct NoVideoControls signature to Widget? Function(BuildContext)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1307-b1307
🧩 Corrections
- correct NoVideoControls signature to Widget? Function(BuildContext)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1306-b1306
🧩 Corrections
- add NoVideoControls stub + HttpHeaders.value() for dart2js
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1305-b1305
🧩 Corrections
- replace StateProvider with Notifier for Riverpod 3.x
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1303-b1303
🧩 Corrections
- PiP v3 — Error80 fix, buttons outside drag, seek bar, pinch resize, safe snap threshold
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1302-b1302
✨ Nouvelles fonctionnalités
- Safari-style PiP overlay — full-width bottom box, spring physics, blur buttons
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1301-b1301
✨ Nouvelles fonctionnalités
- enhanced video detection — hls.js/shaka/videojs/jwplayer, JSON payload, quality badge, per-page dedup
🧩 Corrections
- remove allowsBackgroundAudioPlaying (not in fork API)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1298-b1298
✨ Nouvelles fonctionnalités
- room mode — symmetric P2P, catalog pull, full-screen UI
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1297-b1297
✨ Nouvelles fonctionnalités
- room mode — symmetric P2P, catalog pull, full-screen UI
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1296-b1296
✨ Nouvelles fonctionnalités
- room mode — symmetric P2P, catalog pull, full-screen UI
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1295-b1295
✨ Nouvelles fonctionnalités
- room mode — symmetric P2P, catalog pull, full-screen UI
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1294-b1294
🚀 Améliorations
- improve: webview video interception — overlay MPV Safari-style (pas de banniere, modal direct)
🧩 Corrections
- add missing isar_community/isar.dart import (provides findAll() on QueryBuilder)
- remove invalid .g.dart imports (part of files, already included via parent)
- add missing download.g.dart + manga.g.dart imports to transfer_library_io
- transfer library — conditional import stub+io pour dart2js
- transfer library picker — conditional imports (isar web stub)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1284-b1284
✨ Nouvelles fonctionnalités
- webview intercept video → MPV player (webview_intercept source)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1285-b1285
✨ Nouvelles fonctionnalités
- webview video interception — banniere MPV Safari-style
- webview intercept video → MPV player (webview_intercept source)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1283-b1283
✨ Nouvelles fonctionnalités
- P2P local transfer (LocalSend-style) — discovery UDP + shelf HTTP server + full UI
🧩 Corrections
- conditional imports dart.library.io — stubs for web, IO impl for native
- use Notifier<T>/NotifierProvider for Riverpod 3.x (StateNotifier removed)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1282-b1282
✨ Nouvelles fonctionnalités
- P2P local transfer (LocalSend-style) — discovery UDP + shelf HTTP server + full UI
🧩 Corrections
- use Notifier<T>/NotifierProvider for Riverpod 3.x (StateNotifier removed)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1280-b1280
🚀 Améliorations
- improve: splash robust preload, permissions optional install, TV/leanback support
🧩 Corrections
- splash onTimeout return type + stub missing onQualityChanged setter
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1278-b1278
✨ Nouvelles fonctionnalités
- replace recommendation button with Chapitres|Recommandations|Commentaires tab pills
🧩 Corrections
- show Latest tab even when hasCustomLists (only hide Filter tab)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1277-b1277
🧩 Corrections
- show Latest tab even when hasCustomLists (only hide Filter tab)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1274-b1274
✨ Nouvelles fonctionnalités
- add com.watchtower.app.download_manager MethodChannel
🧩 Corrections
- null-safe settings in ThemeModeState / FollowSystemThemeState
- null-safe access on isar.settings.getSync(227) in lifecycle
- remove force-unwrap on userAgent in headers provider
- delegate APK download to Android DownloadManager
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1272-b1272
✨ Nouvelles fonctionnalités
- add com.watchtower.app.download_manager MethodChannel
🧩 Corrections
- remove force-unwrap on userAgent in headers provider
- delegate APK download to Android DownloadManager
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1275-b1275
✨ Nouvelles fonctionnalités
- add com.watchtower.app.download_manager MethodChannel
🚀 Améliorations
- use CustomExtendedNetworkImageProvider for extension icons (30-day disk cache)
🧩 Corrections
- null-safe settings in ThemeModeState / FollowSystemThemeState
- null-safe access on isar.settings.getSync(227) in lifecycle
- remove force-unwrap on userAgent in headers provider
- delegate APK download to Android DownloadManager
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1276-b1276
✨ Nouvelles fonctionnalités
- add com.watchtower.app.download_manager MethodChannel
🚀 Améliorations
- extend cover cacheMaxAge 7→90 days
- use CustomExtendedNetworkImageProvider for extension icons (30-day disk cache)
🧩 Corrections
- null-safe settings in ThemeModeState / FollowSystemThemeState
- null-safe access on isar.settings.getSync(227) in lifecycle
- remove force-unwrap on userAgent in headers provider
- delegate APK download to Android DownloadManager
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1273-b1273
✨ Nouvelles fonctionnalités
- add com.watchtower.app.download_manager MethodChannel
🧩 Corrections
- null-safe access on isar.settings.getSync(227) in lifecycle
- remove force-unwrap on userAgent in headers provider
- delegate APK download to Android DownloadManager
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1270-b1270
🧩 Corrections
- delegate APK download to Android DownloadManager
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1271-b1271
✨ Nouvelles fonctionnalités
- add com.watchtower.app.download_manager MethodChannel
🧩 Corrections
- delegate APK download to Android DownloadManager
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1269-b1269
✨ Nouvelles fonctionnalités
- wire onQualityChanged callback for page UI sync
- fullscreen — 6 improvements
🧩 Corrections
- add dedicated game/music repo defaults and exhaustive switch statements
- add gameExtensionsRepo and musicExtensionsRepo fields to Settings
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1268-b1268
✨ Nouvelles fonctionnalités
- fullscreen — 6 improvements
🧩 Corrections
- add dedicated game/music repo defaults and exhaustive switch statements
- add gameExtensionsRepo and musicExtensionsRepo fields to Settings
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1267-b1267
🧩 Corrections
- add dedicated game/music repo defaults and exhaustive switch statements
- add gameExtensionsRepo and musicExtensionsRepo fields to Settings
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1266-b1266
🧩 Corrections
- add gameExtensionsRepo and musicExtensionsRepo fields to Settings
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1265-b1265
🧩 Corrections
- lock icon-only, screenshot/rotate impl, hold-speed horizontal dx, subtitles panel restored, audio-only toggle
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1264-b1264
✨ Nouvelles fonctionnalités
- watch page + video player overhaul
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1263-b1263
✨ Nouvelles fonctionnalités
- add NovelHomeScreen with 3-card peeking book carousel
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1262-b1262
✨ Nouvelles fonctionnalités
- novel home screen — 3-card peeking carousel, amber design
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1261-b1261
✨ Nouvelles fonctionnalités
- ui: smaller ep tiles, info-style dropdowns, IMDB info sheet redesign
🧩 Corrections
- pass label to _showDropdownSheet (was missing 3rd arg)
- restore helper methods deleted during info sheet patch
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1258-b1258
🧹 Suppressions
- Remove LNReader extension system from Dart app
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1257-b1257
⚙️ Changements
- ui: compact ep tiles, MovieBox re-add, Qualite bottom sheet pill
🧩 Corrections
- remove duplicate _kMaxVisibleEps/_kEpThumbW declarations
- restore _sortedEpisodes + _epNum helpers accidentally removed
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1254-b1254
🧩 Corrections
- use 'as wt' prefix on Video model import to resolve collision with media_kit_video
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1251-b1251
🧩 Corrections
- responsive carousel — landscape 72% height, portrait 9/16+88
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1250-b1250
🚀 Améliorations
- improve: bump version 8.1.156 → 8.1.157
🧩 Corrections
- watch home — Popular tab, responsive carousel, section spacing, ranked Top15, catalogue grid
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1249-b1249
🧩 Corrections
- watch home — Popular tab, responsive carousel, section spacing, ranked Top15, catalogue grid
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1248-b1248
🚀 Améliorations
- improve: animate large title to navbar + stable image keys in grid
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1247-b1247
✨ Nouvelles fonctionnalités
- improve: redesign watch extension home — portrait cards, spotlight, latest badges, cinematic hero
🧩 Corrections
- player — HTTP probe + mpv referrer property (replaces http-header-fields)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1246-b1246
🧩 Corrections
- player — HTTP probe + mpv referrer property (replaces http-header-fields)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1245-b1245
✨ Nouvelles fonctionnalités
- add WatchHomeScreen for anime extensions (Netflix-style UI)
🧩 Corrections
- use plain TextField for search in WatchHomeScreen (remove broken SearchTextFormField import)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1243-b1243
🧩 Corrections
- inject libmpv headers via setProperty before open() — CDN Referer fix
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1242-b1242
🧩 Corrections
- dart spread operator
..→...in movie box children - hide lang pill when no languages detected; movie box no-tap gradient title
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1240-b1240
🧩 Corrections
- fallback qualité FHD→HD→HQ→LQ si erreur media_kit
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1239-b1239
🧩 Corrections
- Completer — load() bloque jusqu'au play/erreur/watchdog, plus de spinner infini
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1238-b1238
✨ Nouvelles fonctionnalités
- intercepteur HTTP pro — timing/taille/image-filter/extreme-headers
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1235-b1235
🧩 Corrections
- tag pills, ext name, watchdog 30s, init→DEBUG
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1234-b1234
🧩 Corrections
- tag pills, ext name, watchdog 30s, init→DEBUG
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1236-b1236
🧩 Corrections
- tag pills, ext name, watchdog 30s, init→DEBUG
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1233-b1233
🧩 Corrections
- replace all null-bang (!) with null-safe operators in browse/sources UI
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1232-b1232
✨ Nouvelles fonctionnalités
- comprehensive debug coverage for all extension methods
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1231-b1231
✨ Nouvelles fonctionnalités
- centralized logging for all extensions — AppLogger routing, console.log, DartExtensionService, HTTP body snippet
🧩 Corrections
- qualify LogLevel/AppLogger/LogTag with wl. prefix to resolve d4rt ambiguity
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1229-b1229
🧩 Corrections
- replace AniBrain with AniList GraphQL API (AniBrain is closing)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1228-b1228
🧩 Corrections
- repair truncated _PagePreview class in diagnostic screen
- restore flutter/foundation import for kIsWeb after media_kit removal
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1225-b1225
✨ Nouvelles fonctionnalités
- landscape two-panel diagnostic screen with live badges, media preview and markdown view
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1224-b1224
✨ Nouvelles fonctionnalités
- AppBar left-align state0, wider carousel cover 88→120, detail prefetch, scanlator in latest
- show scanlation group in latest updates list tile
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1223-b1223
✨ Nouvelles fonctionnalités
- show scanlation group in latest updates list tile
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1222-b1222
🧩 Corrections
- image alignment + filter movies from series tab
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1221-b1221
🧩 Corrections
- bigger cards (WatchCard 200px, manga 138px) + watch horizontal row sizes
- z-index SliverAppBar + sections view for all extensions (FrenchStream accueil)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1220-b1220
🧩 Corrections
- z-index SliverAppBar + sections view for all extensions (FrenchStream accueil)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1219-b1219
🧩 Corrections
- add customUserAgent field to Source model
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1217-b1217
🧩 Corrections
- header positioning, filter corners, cards, extension settings, FrenchStream home sections
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1216-b1216
🧩 Corrections
- header centered, filter chips transparent with inline expansion
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1215-b1215
✨ Nouvelles fonctionnalités
- watch detail — animated title in fixed header fades in as user scrolls
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1214-b1214
🧩 Corrections
- _WatchCard + _PopularCard navigation — use pushToMangaReaderDetail instead of broken /mangaDetail route
- scaffold transparent bg so library blends with app interface
- _buildSectionsView — CustomScrollView so NestedScrollView properly collapses header and source name appears in app bar
🧹 Suppressions
- remove misplaced Projet/, extensions/, exports/ directories
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1213-b1213
🧩 Corrections
- scaffold transparent bg so library blends with app interface
- _buildSectionsView — CustomScrollView so NestedScrollView properly collapses header and source name appears in app bar
🧹 Suppressions
- remove misplaced Projet/, extensions/, exports/ directories
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1212-b1212
🧩 Corrections
- scaffold transparent bg so library blends with app interface
- _buildSectionsView — CustomScrollView so NestedScrollView properly collapses header and source name appears in app bar
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1211-b1211
🧩 Corrections
- _buildSectionsView — CustomScrollView so NestedScrollView properly collapses header and source name appears in app bar
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1210-b1210
✨ Nouvelles fonctionnalités
- redesign extension home — Voir plus page, watch landscape cards, section headers
🧩 Corrections
- restore child/RefreshIndicator wrappers in marketplace_screen
- restore entries var and return in _TypeTabState.build
- remove deleted plugin imports from marketplace_screen
- compact header, separate manage-categories bubble, transparent bg
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1204-b1204
✨ Nouvelles fonctionnalités
- add plugin launcher screen, detail screen and real marketplace fetch
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1203-b1203
✨ Nouvelles fonctionnalités
- Market menu item, NSFW filter, ext error copy, player gestures/HUD, update preserves prefs+pin
🚀 Améliorations
- improve: detail tab — info grid 2-col, empty state, no duplicate section
🧩 Corrections
- remove deprecated showSystemUI param from VolumeController.setVolume
- close Column children list missing in sources_filter_screen
- simplify _buildInfoGrid — for loop instead of List.generate
- move _DetailInfoRow to file level (compilation error)
- rebuild player correctly — no duplication, comma before child, all gestures/HUDs clean
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1202-b1202
✨ Nouvelles fonctionnalités
- Market menu item, NSFW filter, ext error copy, player gestures/HUD, update preserves prefs+pin
🚀 Améliorations
- improve: detail tab — info grid 2-col, empty state, no duplicate section
🧩 Corrections
- remove deprecated showSystemUI param from VolumeController.setVolume
- close Column children list missing in sources_filter_screen
- simplify _buildInfoGrid — for loop instead of List.generate
- move _DetailInfoRow to file level (compilation error)
- rebuild player correctly — no duplication, comma before child, all gestures/HUDs clean
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1195-b1195
🧩 Corrections
- collapsing header — ScrollController + SliverAppBar.title (iOS safe)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1194-b1194
🧩 Corrections
- update domain aniwatch.to → hianime.to
- filter btn always visible + frosted glass barrier colour
🧹 Suppressions
- bump version 8.1.156+156
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1193-b1193
🧩 Corrections
- filter btn always visible + frosted glass barrier colour
🧹 Suppressions
- bump version 8.1.156+156
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1192-b1192
🧩 Corrections
- filter btn always visible + frosted glass barrier colour
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1191-b1191
✨ Nouvelles fonctionnalités
- iOS filter sheet, dynamic chips, clean 3-dot menu
🧩 Corrections
- import filter.dart types for CheckBoxFilter/SelectFilter etc.
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1189-b1189
🚀 Améliorations
- improve: collapsing large-title effect on extension detail header
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1188-b1188
✨ Nouvelles fonctionnalités
- Latest Updates list shows chapter title and relative time
🧩 Corrections
- replace context.hintColor with Theme.of(context).hintColor
- add missing constant.dart import for toImgUrl in _PopularCard
- Popular carousel loads covers with proper headers + shimmer
- pills unselected background transparent + smaller size
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1183-b1183
🧩 Corrections
- Browse source detail UI - back button Browse label, scroll title, Popular/Latest Updates labels, pill centering, bigger fonts
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1182-b1182
🚀 Améliorations
- improve: library UI — type icons, chevrons, horiz 3-dot, bell, smooth search
🧩 Corrections
- add missing manga_image_card_widget import (pushToMangaReaderDetail)
- resolve compile errors in main_library_screen (valueOrNull, white45, scope)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1178-b1178
✨ Nouvelles fonctionnalités
- local_how_to_screen — iOS-aware file paths
- more_screen — pinned gradient SliverAppBar header (matches About page)
🧩 Corrections
- remove DevSeed.seedGumball() + ui_scale DPI in MaterialApp builder
- library AppBar backgroundColor → scaffoldBackgroundColor (was black)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1179-b1179
✨ Nouvelles fonctionnalités
- Advanced Settings — UI Scale DPI slider (75-150%)
- local_how_to_screen — iOS-aware file paths
- more_screen — pinned gradient SliverAppBar header (matches About page)
🧩 Corrections
- remove DevSeed.seedGumball() + ui_scale DPI in MaterialApp builder
- library AppBar backgroundColor → scaffoldBackgroundColor (was black)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1176-b1176
✨ Nouvelles fonctionnalités
- more_screen — pinned gradient SliverAppBar header (matches About page)
🧩 Corrections
- library AppBar backgroundColor → scaffoldBackgroundColor (was black)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1177-b1177
✨ Nouvelles fonctionnalités
- more_screen — pinned gradient SliverAppBar header (matches About page)
🧩 Corrections
- remove DevSeed.seedGumball() + ui_scale DPI in MaterialApp builder
- library AppBar backgroundColor → scaffoldBackgroundColor (was black)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1175-b1175
🧩 Corrections
- library AppBar backgroundColor → scaffoldBackgroundColor (was black)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1174-b1174
🧩 Corrections
- 5 Download Manager fixes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1173-b1173
✨ Nouvelles fonctionnalités
- comprehensive extension logging at all operation levels
🧩 Corrections
- MManga.title → MManga.name in getDetail log
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1171-b1171
🧩 Corrections
- version-gated Isar DB wipe — prevent isar_get_offsets SIGBUS on schema mismatch
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1170-b1170
🧩 Corrections
- stop endless retry loop + log crash location in downloadChapter
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1169-b1169
🧩 Corrections
- pin Flutter 3.38.x + restore codesign adhoc after ldid (original working config)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1168-b1168
✨ Nouvelles fonctionnalités
- download_provider — rich AppLogger logs (fetch URLs, error, complete, queue)
🧩 Corrections
- download queue — swipe direct (→ delete / ← pause), tab indicator instant, concurrent box compact
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1167-b1167
🧩 Corrections
- download queue — swipe direct (→ delete / ← pause), tab indicator instant, concurrent box compact
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1166-b1166
✨ Nouvelles fonctionnalités
- redesign Library - type selector, animated search, transparent filter bar, Manage Categories sheet
- add externalCategoryId param to LibraryScreen
🧩 Corrections
- add presetInput param back to MainLibraryScreen (router compat)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1164-b1164
✨ Nouvelles fonctionnalités
- add externalCategoryId param to LibraryScreen
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1163-b1163
🚀 Améliorations
- improve: library — circular buttons, list+grid grouped in same pill, handyman icon for filter
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1162-b1162
🧩 Corrections
- improve: library header — square buttons (radius 12), fixed title, filter bar with pills
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1161-b1161
✨ Nouvelles fonctionnalités
- library — large bold type selector title + 4 circular action buttons matching screenshot style
🧩 Corrections
- ldid-only signing (supprimer codesign adhoc) — fix VM Fault iOS 15 TrollStore
- ldid-only signing — supprime codesign adhoc (fix VM Fault iOS 15 TrollStore)
- ldid-only signing — remove codesign adhoc (fixes VM Fault on iOS 15 TrollStore)
🧹 Suppressions
- add push trigger to force iOS build (ldid-only signing fix)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1160-b1160
✨ Nouvelles fonctionnalités
- library — large bold type selector title + 4 circular action buttons matching screenshot style
🧩 Corrections
- ldid-only signing — supprime codesign adhoc (fix VM Fault iOS 15 TrollStore)
- ldid-only signing — remove codesign adhoc (fixes VM Fault on iOS 15 TrollStore)
🧹 Suppressions
- add push trigger to force iOS build (ldid-only signing fix)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1157-b1157
🧩 Corrections
- ldid-only signing — remove codesign adhoc (fixes VM Fault on iOS 15 TrollStore)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1159-b1159
✨ Nouvelles fonctionnalités
- library — large bold type selector title + 4 circular action buttons matching screenshot style
🧩 Corrections
- ldid-only signing — supprime codesign adhoc (fix VM Fault iOS 15 TrollStore)
- ldid-only signing — remove codesign adhoc (fixes VM Fault on iOS 15 TrollStore)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1158-b1158
✨ Nouvelles fonctionnalités
- library — large bold type selector title + 4 circular action buttons matching screenshot style
🧩 Corrections
- ldid-only signing — remove codesign adhoc (fixes VM Fault on iOS 15 TrollStore)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1156-b1156
🧩 Corrections
- correct YAML indentation of Stub Libmtorrentserver step (6sp not 8sp)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1155-b1155
✨ Nouvelles fonctionnalités
- library type selector title (icon+name+chevron), add download button, remove tab bar
- browse always in dock, marketplace moved to overflow menu
🧩 Corrections
- stub Libmtorrentserver in CI — remove Go runtime from Runner (fix SIGURG crash iOS 15)
- late TextEditingController — cannot assign final field in initState
- single trailing button in extension tiles, use surface color for card background
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1154-b1154
✨ Nouvelles fonctionnalités
- library type selector title (icon+name+chevron), add download button, remove tab bar
- browse always in dock, marketplace moved to overflow menu
🧩 Corrections
- late TextEditingController — cannot assign final field in initState
- single trailing button in extension tiles, use surface color for card background
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1152-b1152
✨ Nouvelles fonctionnalités
- browse always in dock, marketplace moved to overflow menu
🧩 Corrections
- single trailing button in extension tiles, use surface color for card background
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1151-b1151
🧩 Corrections
- single trailing button in extension tiles, use surface color for card background
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1150-b1150
🧩 Corrections
- correct YAML indentation in iOS workflow
- patch Info.plist MinimumOSVersion + Runner binary minos → iOS 13 (fix crash iOS 15)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1149-b1149
🧩 Corrections
- patch Info.plist MinimumOSVersion + Runner binary minos → iOS 13 (fix crash iOS 15)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1148-b1148
🧩 Corrections
- vtool patch frameworks APRES xcodebuild dans Runner.app/Frameworks/ (fix crash iOS 15)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1147-b1147
🧩 Corrections
- add DNS backoff, ignore server heartbeat pings, exponential reconnect
- correct YAML indentation vtool step — 6sp for steps, 8sp for run
- correct YAML indentation in vtool patch step (fix workflow_dispatch)
- patch media_kit XCFramework minos → iOS 13.0 (fix crash iOS 15.8.x)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1145-b1145
🧩 Corrections
- correct YAML indentation in vtool patch step (fix workflow_dispatch)
- patch media_kit XCFramework minos → iOS 13.0 (fix crash iOS 15.8.x)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1146-b1146
🧩 Corrections
- correct YAML indentation vtool step — 6sp for steps, 8sp for run
- correct YAML indentation in vtool patch step (fix workflow_dispatch)
- patch media_kit XCFramework minos → iOS 13.0 (fix crash iOS 15.8.x)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1144-b1144
🧩 Corrections
- patch media_kit XCFramework minos → iOS 13.0 (fix crash iOS 15.8.x)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1143-b1143
🧩 Corrections
- update relay URL to current Replit dev domain
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1142-b1142
🧩 Corrections
- add WebSocket web stub to io_stub.dart — fixes dart2js compile error
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1141-b1141
✨ Nouvelles fonctionnalités
- replace SSH tunnel with WebSocket relay client (Replit relay)
🧩 Corrections
- enforce IPHONEOS_DEPLOYMENT_TARGET 13.0 for all pods — iOS 15.x compatibility
- update remote mode UI labels (SSH tunnel → Replit relay)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1139-b1139
✨ Nouvelles fonctionnalités
- replace SSH tunnel with WebSocket relay client (Replit relay)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1140-b1140
✨ Nouvelles fonctionnalités
- replace SSH tunnel with WebSocket relay client (Replit relay)
🧩 Corrections
- update remote mode UI labels (SSH tunnel → Replit relay)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1138-b1138
🧩 Corrections
- remove stdin keepalive (causes ECONNABORTED), use native SSH keepAliveInterval
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1137-b1137
✨ Nouvelles fonctionnalités
- debug: add printDebug to SSHClient to trace forwarded-tcpip channel matching
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1136-b1136
🧩 Corrections
- manga downloads stuck at 0/1 + updateCheck type cast
- correct Uint8List type for stdin.add in keepalive
- reconnect on shell.done — forward deactivated when shell closes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1135-b1135
🧩 Corrections
- correct Uint8List type for stdin.add in keepalive
- reconnect on shell.done — forward deactivated when shell closes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1133-b1133
🧩 Corrections
- changelog cleanup, download retry+resume, connectivity pause, Shizuku pref
- auto-reconnect SSH when localhost.run closes connection after URL
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1132-b1132
🧩 Corrections
- auto-reconnect SSH when localhost.run closes connection after URL
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1131-b1131
🧩 Corrections
- delete DownloadStuckWatchdog (replaced by proper await+timeout)
- remove watchdog, early registry, await+timeout fetch, per-type/source limits
- keepalive stdin every 5s + reopen shell on close to prevent no tunnel here
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1130-b1130
🧩 Corrections
- remove watchdog, early registry, await+timeout fetch, per-type/source limits
- keepalive stdin every 5s + reopen shell on close to prevent no tunnel here
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1129-b1129
🧩 Corrections
- keepalive stdin every 5s + reopen shell on close to prevent no tunnel here
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1125-b1125
🧩 Corrections
- version comparison, extension dedup, isar guard, web permissions
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1128-b1128
🧩 Corrections
- version comparison, extension dedup, isar guard, web permissions
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1126-b1126
🧩 Corrections
- version comparison, extension dedup, isar guard, web permissions
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1127-b1127
🧩 Corrections
- version comparison, extension dedup, isar guard, web permissions
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1124-b1124
🧩 Corrections
- use shell() as anchor channel instead of execute() for localhost.run
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1123-b1123
🧩 Corrections
- keep SSH connection alive with anchor execute(cat) channel after shell close
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1122-b1122
🧩 Corrections
- remove await from SSHSession.close() (void return, not Future)
- SSH keepalive via execute() after shell close to prevent NAT timeout
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1120-b1120
🧩 Corrections
- add dart:convert import + Uint8List for keepalive stdin
- use AppLogger for server logs
- use AppLogger for tunnel logs + listen proxy + keepalive
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1117-b1117
🧩 Corrections
- fallback URL filter — accept any non-localhost.run HTTPS URL
- ignore localhost.run promo URLs, buffer full output, parse lhr.life after session close
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1116-b1116
🧩 Corrections
- ignore localhost.run promo URLs, buffer full output, parse lhr.life after session close
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1115-b1115
🧩 Corrections
- forwardRemote(port: 80) — localhost.run needs port 80 to generate tunnel URL
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1114-b1114
🧩 Corrections
- remove remoteHost/remotePort (not in SSHForwardChannel API)
- beautiful homepage (template+replaceAll), no triple-quote bug, [SERVER] logs
- [TUNNEL] live logs every SSH step, no JS-interp clash
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1109-b1109
🧩 Corrections
- session.done is normal on localhost.run — detect real failure via forward stream
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1110-b1110
🧩 Corrections
- block http:// URLs on HTTPS (mixed content), multiline error with copy
- session.done is normal on localhost.run — detect real failure via forward stream
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1108-b1108
🧩 Corrections
- forwardRemote() without remotePort param (dartssh2 2.x API)
- error UI multiline selectable with copy button
- SSH tunnel use shell() after forwardRemote() for localhost.run
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1105-b1105
🧩 Corrections
- IOSink implements StreamConsumer<List<int>> so Socket satisfies pipe()
- add Socket.connect stub and Stream<Uint8List> interface for web compilation
- use cast<List<int>>() for Utf8Decoder and session.done for exitCode
- pin dartssh2 to ^2.14.0 (latest published version)
- correct dartssh2 API to v2.x (forwardRemote, connections, disableHostkeyVerification)
- replace cloudflared with SSH dartssh2 tunnel and fix local WiFi URL
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1104-b1104
🧩 Corrections
- add Socket.connect stub and Stream<Uint8List> interface for web compilation
- use cast<List<int>>() for Utf8Decoder and session.done for exitCode
- pin dartssh2 to ^2.14.0 (latest published version)
- correct dartssh2 API to v2.x (forwardRemote, connections, disableHostkeyVerification)
- replace cloudflared with SSH dartssh2 tunnel and fix local WiFi URL
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1103-b1103
🧩 Corrections
- use cast<List<int>>() for Utf8Decoder and session.done for exitCode
- pin dartssh2 to ^2.14.0 (latest published version)
- correct dartssh2 API to v2.x (forwardRemote, connections, disableHostkeyVerification)
- replace cloudflared with SSH dartssh2 tunnel and fix local WiFi URL
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1099-b1099
🧩 Corrections
- règles R8 génériques pour tous les plugins Flutter
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1098-b1098
🧩 Corrections
- ajout règles R8/ProGuard pour plugins Flutter manquants
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1097-b1097
🧩 Corrections
- mode distant web, tunnel android, builds auto sur push
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1096-b1096
🧩 Corrections
- show Mode Distant tile on web (remove !kIsWeb guard)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1095-b1095
🧩 Corrections
- remove orphaned DownloadIsolatePool lines left by regex patch
- simplify onStuck callback — only use ActiveDownloadRegistry.cancel
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1092-b1092
🧩 Corrections
- add /remoteMode route + watchdog auto-cancel on stuck
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1090-b1090
✨ Nouvelles fonctionnalités
- wire RemoteClient into web — auto-sync sources/library/history on startup
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1089-b1089
✨ Nouvelles fonctionnalités
- add Remote Mode — HTTP server + Cloudflare tunnel + web client
🧩 Corrections
- import kSettingsId constant in remote_api_handler
- correct Chapter fields, settings accessor, HttpServer type and settings_screen if placement
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1086-b1086
🧩 Corrections
- header animation smooth + no duplicate name + CF retry
- header animation, duplicate name, CF retry delay
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1084-b1084
✨ Nouvelles fonctionnalités
- improve: redesign log viewer UI + daily log files + manga/watch read logging
🧩 Corrections
- anime_player dispose() — supprimer références champs inexistants (_currentPosition, _firstVid, widget.episode)
- syntax errors logger/log_viewer/reader — double final, await manquant, AppBar non fermé, chapterNumber inexistant
- remove accidental file duplication at line 266 — unclosed brace syntax error
- header transparent quand scroll — LayoutBuilder remplace ValueListenableBuilder
- Webview error btn → BypassWebViewSheet + hasCloudflare timeout detection
- _beatChallenge() → BypassWebViewSheet bottom sheet + import
- Webview button → BypassWebViewSheet + detect CF timeout on hasCloudflare sources
- _toastFailure() — remove DraggableScrollableSheet, use simple ClipRRect sheet
- remove drag handle + title bar from BypassWebViewSheet — juste page content
- download stuck watchdog + transparent cards + small inline button
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1073-b1073
🧩 Corrections
- missing closing paren in for-loop split call (download_file_screen)
- repair broken Dart string literals in _ChangelogWidget (\n in JS template)
- wakelock during download prevents background network drop
- update screen UI + silent install auto-trigger + background download
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1069-b1069
🧩 Corrections
- add 30s timeout per manga image + HTTP status in error message
🧹 Suppressions
- rename workflow — already builds release APK (not profile, not AAB)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1068-b1068
🧹 Suppressions
- rename workflow — already builds release APK (not profile, not AAB)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1067-b1067
⚙️ Changements
- design: left-align large title, toolbar title on scroll, popular auto-scroll carousel (cover+desc+tags)
🚀 Améliorations
- APK size optimizations
🧩 Corrections
- remove duplicate NetworkHelper.kt — provided by m_extension_server plugin
- restore missing children: [] in _buildSectionsView Column
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1063-b1063
🧩 Corrections
- purge all remaining zeus traces — logger, about_screen, watch_detail_view, marketplace, binaries_section
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1062-b1062
⚙️ Changements
- design: blur header + separator, slim cards 95px, slim pills 40px, slim section headers
🧩 Corrections
- remove residual ZeusDL references — watch_download_screen, plugins_hub, download_engine comments
🧹 Suppressions
- final zeus comment cleanup — aria2_binary_manager, build-ios-ipa.yml verification step
- remove all ZeusDL/yt-dlp code — engine_selector, download_provider, about_screen, advanced_screen, binaries_section, plugins, router, workflow CI
- final Python/ZeusDL native lib cleanup
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1061-b1061
🧩 Corrections
- remove residual ZeusDL references — watch_download_screen, plugins_hub, download_engine comments
🧹 Suppressions
- final zeus comment cleanup — aria2_binary_manager, build-ios-ipa.yml verification step
- remove all ZeusDL/yt-dlp code — engine_selector, download_provider, about_screen, advanced_screen, binaries_section, plugins, router, workflow CI
- final Python/ZeusDL native lib cleanup
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1060-b1060
🧩 Corrections
- remove residual ZeusDL references — watch_download_screen, plugins_hub, download_engine comments
🧹 Suppressions
- remove all ZeusDL/yt-dlp code — engine_selector, download_provider, about_screen, advanced_screen, binaries_section, plugins, router, workflow CI
- final Python/ZeusDL native lib cleanup
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1056-b1056
🚀 Améliorations
- libaria2c.so on-demand — remove from jniLibs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1055-b1055
✨ Nouvelles fonctionnalités
- home multi-sections, centered logo+name header, fix Accueil layout
🚀 Améliorations
- reduce APK size
🧩 Corrections
- replace on FlutterError with catch to fix build
🧹 Suppressions
- remove last Python references
- remove Python/Telegram code, clean CI, shrink APK
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1054-b1054
✨ Nouvelles fonctionnalités
- home multi-sections, centered logo+name header, fix Accueil layout
🧩 Corrections
- replace on FlutterError with catch to fix build
🧹 Suppressions
- remove last Python references
- remove Python/Telegram code, clean CI, shrink APK
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1049-b1049
🧩 Corrections
- add PySocks/aiofiles/pyaes to required deps — fix socks import error
🧹 Suppressions
- bundle PySocks, aiofiles, pyaes wheels — pyrogram runtime deps
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1050-b1050
🧩 Corrections
- add pysocks/aiofiles/pyaes to _bundledWheels — offline install from APK
- add PySocks/aiofiles/pyaes to required deps — fix socks import error
🧹 Suppressions
- bundle PySocks, aiofiles, pyaes wheels — pyrogram runtime deps
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1048-b1048
🧩 Corrections
- add PySocks/aiofiles/pyaes to required deps — fix socks import error
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1047-b1047
🧩 Corrections
- restore missing AppLogger closing line (compile error fix)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1045-b1045
🧩 Corrections
- await resolvePluginDeps before invoke — fix pyrogram race condition
🧹 Suppressions
- disable auto-build on push — manual only (workflow_dispatch)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1044-b1044
🧩 Corrections
- await resolvePluginDeps before invoke — fix pyrogram race condition
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1043-b1043
✨ Nouvelles fonctionnalités
- bundle pip.whl in Android APK for offline pip bootstrap
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1042-b1042
🧩 Corrections
- use find -iname for wheel glob — Pyrogram has uppercase P on PyPI
- remove tgcrypto hard-fail — no longer on PyPI (merged into pyrogram 2.x)
🧹 Suppressions
- bundle tgcrypto arm64 wheel + pyrogram wheel in APK assets
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1039-b1039
🧩 Corrections
- replace CupertinoPageTransitionsBuilder (removed in Flutter 3.32)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1038-b1038
✨ Nouvelles fonctionnalités
- remove Accueil from dock, browse before menu, plugins back btn + dock fix, logs on by default
🧩 Corrections
- remove flutter-version pin — use latest stable Flutter
- use stable Flutter (latest) instead of pinned 3.27.x
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1037-b1037
✨ Nouvelles fonctionnalités
- remove Accueil from dock, browse before menu, plugins back btn + dock fix, logs on by default
🧩 Corrections
- use stable Flutter (latest) instead of pinned 3.27.x
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1036-b1036
✨ Nouvelles fonctionnalités
- remove Accueil from dock, browse before menu, plugins back btn + dock fix, logs on by default
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1035-b1035
🧩 Corrections
- also remove flutter_lints ^6.0.0 (requires Dart ^3.8.0)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1034-b1034
🧩 Corrections
- remove protoc_plugin dep before pub get
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1033-b1033
🧩 Corrections
- use sed BSD to patch pubspec sdk — fixes YAML parse error
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1032-b1032
🧩 Corrections
- patch pubspec sdk ^3.10.0 → >=3.6.0 for Dart 3.6.x
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1029-b1029
✨ Nouvelles fonctionnalités
- download pip.whl for offline pip bootstrap
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1031-b1031
⚙️ Changements
- Maintenance et corrections internes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1028-b1028
✨ Nouvelles fonctionnalités
- bundle pip.whl — pip available offline at first launch
🧩 Corrections
- patch pubspec sdk ^3.10.0 → >=3.6.0 <4.0.0 for Dart 3.6.x
- install wheels via zipfile — no pip required
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1030-b1030
✨ Nouvelles fonctionnalités
- download pip.whl for offline pip bootstrap
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1027-b1027
🧩 Corrections
- patch pubspec sdk ^3.10.0 → >=3.6.0 <4.0.0 for Dart 3.6.x
- install wheels via zipfile — no pip required
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1026-b1026
🧩 Corrections
- install wheels via zipfile — no pip required
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1025-b1025
✨ Nouvelles fonctionnalités
- install tgcrypto+pyrogram from bundled wheel (Option A)
- add assets/wheels/ for bundled Python wheels
- rewrite ZeusDL screen with real binary integration
🧩 Corrections
- fix YAML indentation on flutter-version (12→10 spaces)
- escape apostrophes in Dart strings (l'URL, n'a pas)
- downgrade Flutter 3.38.x → 3.27.x — iOS 15 compatibility
- disable Impeller to fix Flutter abort() on Dopamine jailbreak
- tgcrypto --only-binary, optional marker, better error logs
🧹 Suppressions
- add assets/wheels/.gitkeep placeholder
- download tgcrypto+pyrogram wheels at build time
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1024-b1024
✨ Nouvelles fonctionnalités
- install tgcrypto+pyrogram from bundled wheel (Option A)
- add assets/wheels/ for bundled Python wheels
- rewrite ZeusDL screen with real binary integration
🧩 Corrections
- escape apostrophes in Dart strings (l'URL, n'a pas)
- downgrade Flutter 3.38.x → 3.27.x — iOS 15 compatibility
- disable Impeller to fix Flutter abort() on Dopamine jailbreak
- tgcrypto --only-binary, optional marker, better error logs
🧹 Suppressions
- add assets/wheels/.gitkeep placeholder
- download tgcrypto+pyrogram wheels at build time
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1015-b1015
🧩 Corrections
- stub rustls-platform-verifier via [patch.crates-io] to eliminate aws-lc-rs
- bump stdlib cache key v2→v3 to force re-extraction
- handle Unix symlinks in libpython.zip.so extraction
- use __rustls instead of rustls-no-provider to remove aws-lc-rs
🧹 Suppressions
- add rustls-platform-verifier stub src/lib.rs
- add rustls-platform-verifier stub (no aws-lc-rs)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1009-b1009
🧩 Corrections
- reqwest rustls → rustls-no-provider, eliminates aws-lc-rs
- extract Python stdlib before invoke; remove install pyrogram button
- replace aws_lc_rs with ring in TLS crypto provider
- switch aws-lc-rs → ring to stop TrollStore silent crash
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1005-b1005
🧩 Corrections
- center source name in header + pills inside SliverAppBar bottom
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1004-b1004
🧩 Corrections
- move /plugins inside ShellRoute to restore dock navigation
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1003-b1003
✨ Nouvelles fonctionnalités
- glassmorphism blur + no display btn + Aidoku-style pills + large title fade
🧩 Corrections
- missing SliverAppBar closing paren after flexibleSpace glassmorphism rewrite
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1001-b1001
✨ Nouvelles fonctionnalités
- Accueil list + custom lists + pill shape + transparent header
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.1000-b1000
🧩 Corrections
- bypass rustls-platform-verifier via use_preconfigured_tls + webpki-roots
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.999-b999
🧩 Corrections
- add ndk-context dep for reliable context retrieval
- use ndk-context instead of ActivityThread to init rustls
- supprime com.apple.developer.usernotifications.time-sensitive — crash silencieux TrollStore
- supprime entitlement time-sensitive (crash silencieux au démarrage TrollStore)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.996-b996
🧩 Corrections
- supprime entitlement time-sensitive (crash silencieux au démarrage TrollStore)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.997-b997
🧩 Corrections
- supprime com.apple.developer.usernotifications.time-sensitive — crash silencieux TrollStore
- supprime entitlement time-sensitive (crash silencieux au démarrage TrollStore)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.995-b995
🧩 Corrections
- back button sur step 0 + retirer cryptg des deps requises
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.994-b994
🧩 Corrections
- pass JNIEnv + Android Context to init_hosted
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.992-b992
🧩 Corrections
- initialize rustls-platform-verifier in JNI_OnLoad
- reqwest — rustls-tls-webpki-roots → rustls (n'existe pas dans 0.13)
- plugin réel A→Z — API Keys+Phone+OTP+2FA via Pyrogram
- switch reqwest from rustls (platform-verifier) to rustls-tls-webpki-roots
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.991-b991
🧩 Corrections
- reqwest — rustls-tls-webpki-roots → rustls (n'existe pas dans 0.13)
- plugin réel A→Z — API Keys+Phone+OTP+2FA via Pyrogram
- switch reqwest from rustls (platform-verifier) to rustls-tls-webpki-roots
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.988-b988
✨ Nouvelles fonctionnalités
- remove Plugin tab from Browse, add Plugins entry to Menu overlay with full Installed+Marketplace page
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.987-b987
✨ Nouvelles fonctionnalités
- iOS-style collapsing title, shimmer skeleton, pill tabs, search UI
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.986-b986
✨ Nouvelles fonctionnalités
- discover dock, nav order, splash bypass, update UI redesign, library tabs 3×3
🧩 Corrections
- reqwest rustls feature, add d4rt dep, create plugins_screen stub
- switch reqwest TLS to rustls-tls-webpki-roots, add JNI_OnLoad stub
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.971-b971
✨ Nouvelles fonctionnalités
- ZeusDL screen — Seal UI clone in Flutter
- add embedded PluginsHubScreen with ZeusDL + Telegram cards
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.970-b970
✨ Nouvelles fonctionnalités
- add embedded PluginsHubScreen with ZeusDL + Telegram cards
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.969-b969
🧹 Suppressions
- restore service.dart to working kodjodevf-compatible version
- switch flutter_qjs to ferelking242/quickjsR (kodjodevf fork, unmodified)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.967-b967
🧩 Corrections
- wrap plugin entry in main(){return ...;} — d4rt requires main()
- bypass Promise-DartFuture bridge, use JS-side polling via REGISTER_PROMISE
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.966-b966
🧩 Corrections
- bypass Promise-DartFuture bridge, use JS-side polling via REGISTER_PROMISE
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.965-b965
🧩 Corrections
- xcodebuild+tee PIPESTATUS, rm -rf old Runner.app before cp -r
- add missing lib/services/mihon_auto_sync.dart stub
- revert iOS build to flutter build --no-codesign, add GitHub Release step
- strip trailing ; before d4rt execute() — bare expression required
- permissions page, download folder init, WatchtowerFolderService path
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.964-b964
🧩 Corrections
- add missing lib/services/mihon_auto_sync.dart stub
- revert iOS build to flutter build --no-codesign, add GitHub Release step
- strip trailing ; before d4rt execute() — bare expression required
- permissions page, download folder init, WatchtowerFolderService path
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.960-b960
🧩 Corrections
- log _initAsync lifecycle + catch init failures in getPopular/getLatestUpdates/search + INFO diagnostic log
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.959-b959
🧩 Corrections
- interpolate pluginId at stub-gen time ('${id}' not '$id') — d4rt received literal $id causing NameError
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.958-b958
🧩 Corrections
- add diagnostic log in _extensionCallAsync to confirm Future type detection
- bump flutter_qjs to c849a02 (fix Promise hang in quickjs-plus)
- rename _DepRow→_DepRowStatus (dup class); type map<Widget> for old usage
- ajoute permissions contents:write pour Create GitHub Release
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.957-b957
🧩 Corrections
- bump flutter_qjs to c849a02 (fix Promise hang in quickjs-plus)
- rename _DepRow→_DepRowStatus (dup class); type map<Widget> for old usage
- ajoute permissions contents:write pour Create GitHub Release
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.956-b956
🧩 Corrections
- rename _DepRow→_DepRowStatus (dup class); type map<Widget> for old usage
- ajoute permissions contents:write pour Create GitHub Release
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
os-latest
IPA pour TrollStore (iPhone 7 / iOS 15+). Build auto depuis main.
8.1.953-b953
🧩 Corrections
- corrige Create IPA - subshell cd + mv pour bon chemin Runner.ipa
- requirements handles List and Map — fixes TypeError on install
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.952-b952
🧩 Corrections
- requirements handles List and Map — fixes TypeError on install
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.951-b951
🧩 Corrections
- FlareLoader throw instead of null, normalize ui.method, validate UI files, add logging
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.950-b950
🚀 Améliorations
- cache Rust+NDK+CMake, garder build-tools 35 — ~150-200s attendu
🧩 Corrections
- trap ldid errno=2 on Xcode-16 binaries
- onAction FlareHtmlRenderer + _sealBg constant
- eval lib.dart type cast Object→String (Dart 3.x strict inference)
- bypass Flutter signing check via xcodebuild direct
- install bloquant + _FlarePluginView StatefulWidget + suppression fallback générique
- on-demand FlareLoader install — race condition loadSingle retourne null
- ExtensionServiceRegistry + graceful MPages fallback
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.949-b949
🚀 Améliorations
- cache Rust+NDK+CMake, garder build-tools 35 — ~150-200s attendu
🧩 Corrections
- onAction FlareHtmlRenderer + _sealBg constant
- eval lib.dart type cast Object→String (Dart 3.x strict inference)
- bypass Flutter signing check via xcodebuild direct
- install bloquant + _FlarePluginView StatefulWidget + suppression fallback générique
- on-demand FlareLoader install — race condition loadSingle retourne null
- ExtensionServiceRegistry + graceful MPages fallback
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.942-b942
🚀 Améliorations
- Gradle cache + JVM tuning + no-tree-shake → ~5 min build expected
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.941-b941
🧩 Corrections
- WPlugin extends StatelessWidget — TelegramSourcePlugin() IS a Widget
- remove broken Python heredoc — YAML parse caused 0 jobs
🧹 Suppressions
- bump quickjs-plus → 632e47f (fix JS_FreeRuntime crash)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.939-b939
🧩 Corrections
- remove broken Python heredoc — YAML parse caused 0 jobs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.940-b940
🧩 Corrections
- WPlugin extends StatelessWidget — TelegramSourcePlugin() IS a Widget
- remove broken Python heredoc — YAML parse caused 0 jobs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.938-b938
🧩 Corrections
- dom_selector 3 wrong msg types + http put/delete/patch methods
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.937-b937
🧩 Corrections
- iOS crash lazy-load + revert Flutter 3.38.x + flare eval stub
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.936-b936
🧩 Corrections
- iOS crash + Android plugin display
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.935-b935
🧩 Corrections
- plugin system — remove fallback, add eval bridge channels, fix workflow triggers
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.934-b934
🧩 Corrections
- add WPlugin.getPreference/setPreference/invoke/openUrl to eval stub
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.933-b933
🧩 Corrections
- runProcess dans binaryChannel uniquement + bit-ops Swift pour waitpid status
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.931-b931
✨ Nouvelles fonctionnalités
- ajouter com.apple.private.security.no-sandbox pour TrollStore posix_spawn
- ajouter runProcess via posix_spawn dans binary_utils channel
🧩 Corrections
- ne pas supprimer zeusdl si ldid échoue — binaire conservé pour codesign
- validate cached APK, delete after install, clean old APKs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.932-b932
✨ Nouvelles fonctionnalités
- ajouter com.apple.private.security.no-sandbox pour TrollStore posix_spawn
- ajouter runProcess via posix_spawn dans binary_utils channel
🧩 Corrections
- TMPDIR + SIGSTOP/SIGCONT + message d'erreur cross-platform
- ne pas supprimer zeusdl si ldid échoue — binaire conservé pour codesign
- validate cached APK, delete after install, clean old APKs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.930-b930
✨ Nouvelles fonctionnalités
- ajouter runProcess via posix_spawn dans binary_utils channel
🧩 Corrections
- ne pas supprimer zeusdl si ldid échoue — binaire conservé pour codesign
- validate cached APK, delete after install, clean old APKs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.929-b929
🧩 Corrections
- ne pas supprimer zeusdl si ldid échoue — binaire conservé pour codesign
- validate cached APK, delete after install, clean old APKs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.928-b928
🧩 Corrections
- validate cached APK, delete after install, clean old APKs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.927-b927
🧩 Corrections
- menu UI, update screen full-screen, pip bootstrap, update toast, timeout
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.926-b926
🧩 Corrections
- extract zeusdl.zip multi-root correctly + add filesDir to PYTHONPATH
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.925-b925
🧹 Suppressions
- apply Seanime Tenji design tokens to nav dock & menu overlay
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.924-b924
🧩 Corrections
- update dialog UI + download reliability
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.923-b923
🚀 Améliorations
- source-parallel update, batched Isar writes, non-blocking reads
🧩 Corrections
- add missing mangaId param in Chapter() constructor
- SIGABRT in JS_FreeRuntime — 3 root causes fixed
- Search rename+position, remove Mihon/Aniyomi, allowBackup=false, ZeusDL extraction
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.919-b919
✨ Nouvelles fonctionnalités
- add Discover screen (AniList discovery + filters) as first nav item
🧩 Corrections
- dynamic pool size (6/4/2), fix activeCount, update subtitles
🧹 Suppressions
- full-width rounded-top sheet, icons+spacing, dots pill, buttons right
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.918-b918
✨ Nouvelles fonctionnalités
- add Discover screen (AniList discovery + filters) as first nav item
🧹 Suppressions
- full-width rounded-top sheet, icons+spacing, dots pill, buttons right
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.917-b917
🧹 Suppressions
- full-width rounded-top sheet, icons+spacing, dots pill, buttons right
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.916-b916
🧩 Corrections
- remove search/filter bar + StreamBuilder filtering logic from sources screen
- gray bar (ColoredBox on AppBar bottom) + error state with kaomoji centered layout
- remove DevSeed.seedGumball() call
- remove search/filter bar from sources screen
🧹 Suppressions
- Seanime-style solid opaque boxes, faster 2-phase animation
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.911-b911
🧩 Corrections
- opaque icon boxes, two-phase animation (icons then labels), yellow-line fix, same-size wrench+X diagonal
🧹 Suppressions
- Remove MihonAutoSync from main.dart — retire import et appel run()
- Remove MihonAutoSync — supprime détection auto extensions Mihon sur Android
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.909-b909
🧩 Corrections
- opaque icon boxes, two-phase animation (icons then labels), yellow-line fix, same-size wrench+X diagonal
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.908-b908
🧩 Corrections
- remove entire wakelock_plus.framework dir (not just binary)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.907-b907
🧩 Corrections
- small transparent rounded icon boxes, cleaner label, left-to-right slide for wrench+X
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.906-b906
🧩 Corrections
- remove ar static libs + .ldid.* residuals from bundle before IPA
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.905-b905
🚀 Améliorations
- remove SpeedDial FAB, add stagger-animated WatchtowerMenuOverlay
🧩 Corrections
- thin all FAT→arm64, per-framework ldid, no zeusdl stub
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.904-b904
🧩 Corrections
- thin all FAT→arm64, per-framework ldid, no zeusdl stub
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.903-b903
🧹 Suppressions
- restore main_screen + overlay @ 2cad8fc5 — original menu button, original overlay layout
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.902-b902
🧹 Suppressions
- restore overlay @ a315db8 — right-side transparent pill+icon stagger, header + Fermer
- restore main_screen @ a315db8 — single overlay in Stack, correct dock button
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.900-b900
🧹 Suppressions
- restore main_screen @ e0526cb — single menu button, no duplicate
- restore overlay @ e0526cb — right-side pill+icon, stagger anim, transparent
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.897-b897
🧹 Suppressions
- restore watchtower_menu_overlay.dart @ 6fe82d9 — right-side transparent + stagger anim
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.898-b898
🧹 Suppressions
- restore main_screen.dart @ 6fe82d9 — transparent overlay, no duplicate button
- restore watchtower_menu_overlay.dart @ 6fe82d9 — right-side transparent + stagger anim
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.896-b896
⚙️ Changements
- Maintenance et corrections internes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.895-b895
🧩 Corrections
- safe dispose() — set _isInitialized=false first + flush microtasks before JS_FreeRuntime to prevent SIGABRT assertion
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.894-b894
🧩 Corrections
- restore WatchtowerMenuOverlay in Stack + import — menu button now opens overlay
- restore correct Positioned.fill structure (broken Stack children syntax)
- guard _downloadApk() against empty/invalid URL — prevents crash when update response has no downloadUrl
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.893-b893
🧩 Corrections
- restore correct Positioned.fill structure (broken Stack children syntax)
- guard _downloadApk() against empty/invalid URL — prevents crash when update response has no downloadUrl
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.892-b892
🧩 Corrections
- guard _downloadApk() against empty/invalid URL — prevents crash when update response has no downloadUrl
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.891-b891
🧩 Corrections
- replace AppLogger.d() with AppLogger.log(logLevel:debug) — fixes Web+Android dart2js compile error
- add FLUTTER_XCODE_CODE_SIGNING_ALLOWED=NO env vars — fixes provisioning profile error with --no-codesign
- remove grey header on extension screens (AppBar background + elevation 0)
- switch index URL from jsDelivr CDN to raw.githubusercontent (CDN @main cache unreliable)
- YAML step indentation, remove invalid flutter build ARCHS args, arm64-only Rust target, Podfile ONLY_ACTIVE_ARCH=NO
- web build — top-level app_config class, permission_handler import, listSync kIsWeb guards
- menu duplicate button, overlay non-blocking, storage permission, zeus zip structure, github api 403 cast fix, ios arm64 only build
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.884-b884
🧩 Corrections
- strip _CodeSignature + PrivacyInfo.xcprivacy before signing (TrollStore Error 175)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.883-b883
✨ Nouvelles fonctionnalités
- replace WatchtowerMenuOverlay with flutter_speed_dial FAB
🧩 Corrections
- remove openStateNotifier (not in flutter_speed_dial 7.0.0) — use onOpen/onClose for label anim + menuOpenProvider sync
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.881-b881
🧩 Corrections
- restore original layout — header top, Fermer right, icon boxes visible + stagger anim
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.880-b880
🧩 Corrections
- remove floating FAB, menu transparent boxes + stagger anim, webview dock below dock + multi-tab + favicon + typography
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.879-b879
✨ Nouvelles fonctionnalités
- flutter_speed_dial — Seanime-style FAB from bottom-right · fix mini-webview-dock compile error
🧩 Corrections
- patch Xcode pbxproj for CI — Manual signing, clear CODE_SIGN_IDENTITY
- flutter_speed_dial ^7.0.0 (latest, was ^7.3.3 which does not exist)
- thin zeusdl to arm64 + codesign — fixes ldid Unknown header magic (error 175)
- above nav dock · no dismiss on backdrop · tab manager for 2+ tabs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.878-b878
✨ Nouvelles fonctionnalités
- flutter_speed_dial — Seanime-style FAB from bottom-right · fix mini-webview-dock compile error
🧩 Corrections
- flutter_speed_dial ^7.0.0 (latest, was ^7.3.3 which does not exist)
- thin zeusdl to arm64 + codesign — fixes ldid Unknown header magic (error 175)
- above nav dock · no dismiss on backdrop · tab manager for 2+ tabs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.874-b874
🧩 Corrections
- floating default · transparent bg · dot bottom · no highlight · menu bottom-sheet redesign
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.873-b873
✨ Nouvelles fonctionnalités
- dock blur+transparency, 5-item cap, clipping fix, menu drag-reorder
- UI improvements – screens
- console→AppLogger, isolated runtime dispose, 30s timeout, pubspec sync
- CF 3-step toast UX + WebView tab grouper
🧩 Corrections
- pin flutter_qjs to fixed quickjs-plus commit (followRedirects removed in Flutter 3.38)
- parallel diagnostics (pool=4), sources search+filter, improved log format
- missing navigatorKey import + StateNotifier→Notifier migration
- Dart 3.x dot-shorthand + missing semicolon build errors
- audit QW-01 à QW-16 — sécurité TLS, null-safety, jank scroll, ZeusDL robustesse, batch invalidate, mounted checks
- address code-review rejections on Task #1
- compilation errors + P0 null-safety + context.mounted guards\n\n - main.dart: restore conditional import (constant.dart moved before dev_seed conditional)\n - eval/javascript/service.dart: fix broken string interpolation /\n - get_video_list.dart: null guard episode.manga.value (epManga local var + StateError)\n - get_chapter_pages.dart: null guard chapter.manga.value (chManga local var)\n - download_provider.dart: null guard chapter.manga.value (throw StateError)\n - push_router.dart: null guard chapter.manga.value + context.mounted checks after await\n - 10 files: wrap print() in kDebugMode guard (production log hygiene)\n - crop_borders_provider, download_isolate_pool, custom_extended_image_provider,\n m_extension_server, isolate_service, doh_resolver: null-safe settings access
- audit corrections — TLS, null-safety getSync(kSettingsId), OOB prev/next episode, kSettingsId constant, ZeusDL update cache\n\n - security: enable TLS certificate verification in all HTTP clients (m_client.dart default, m_downloader, m3u8_downloader, download_isolate_pool, search_subtitles)\n - null-safety: replace all 151+ isar.settings.getSync(227)! bang operators with null-safe fallback (getSync(kSettingsId) ?? Settings())\n - constants: add kSettingsId = 227 in constant.dart; migrate all call sites across 57 files\n - anime player: fix incognitoMode as class-level field (moved to lazy getter); add bounds checks in getPrevEpisodeIndex/getNextEpisodeIndex to prevent index-out-of-range crash; add hasPrevEpisode/hasNextEpisode helpers; protect getAnime() with explicit StateError\n - zeus_dl: add 1-hour in-memory cache on GitHub release check to avoid network hit on every app start\n - imports: add missing constant.dart / settings.dart imports across all modified files
- Telegram-style animated minimize to mini dock
🧹 Suppressions
- bump quickjs-plus to e2e26f1 (btoa/atob + crypto.subtle.digest)
- update quickjs-plus to cf58b32 — fetch() bridge
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.858-b858
🧩 Corrections
- static wakelock_plus, flutter_launcher_icons step, separate iOS workflow
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.857-b857
🧹 Suppressions
- Task 1: remove installed-APK extension scanner (Mihon/Aniyomi)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.856-b856
🧩 Corrections
- create assets/zeusdl/ dir + jq-based ZeusDL asset search in Android CI
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.855-b855
🧩 Corrections
- resolve JsEvalResult double-import on web
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.854-b854
⚙️ Changements
- Maintenance et corrections internes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.853-b853
🚀 Améliorations
- _areDepsInPluginBundle check — skip pip si deps dans le bundle
🧩 Corrections
- update pubspec.lock to quickjs-plus@bd704d4b
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.852-b852
🧩 Corrections
- update pubspec.lock to quickjs-plus@bd704d4b
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.847-b847
🧩 Corrections
- copy libandroid-support.so from NDK — fixes libpython3.11.so crash
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.848-b848
✨ Nouvelles fonctionnalités
- add resolvePluginDeps() generic method for any plugin
🧩 Corrections
- copy libandroid-support.so from NDK — fixes libpython3.11.so crash
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.846-b846
✨ Nouvelles fonctionnalités
- LibPython manager + pip + Settings > Avancé > LibPython page
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.845-b845
🧩 Corrections
- per-plugin UI routing, false-success detection, copy button, correct save path
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.844-b844
✨ Nouvelles fonctionnalités
- add _resolveIOSContext + _extractIOSBundledBinary — Dopamine/rootless + Mach-O validation
- add assets/binaries/ to Flutter assets for ZeusDL iOS binary
- add Runner.entitlements for sideloading (Dopamine/AltStore/TrollStore)
- add full iOS execution context — jailbreak detection, rootless paths, bundled binary extraction
- add yt-dlp binary + remove bundled subfont (network load)
- integrate Flare routing — eval/html/json renderers + auto-install from GitHub
- add installFromNetwork — download plugin from raw GitHub URLs
- FlareHtmlRenderer — WebView HTML method
- add chip_select to ManifestUiRenderer
- UI templates — downloader, browser, sync
- FlareEvalRenderer — d4rt eval UI method
- add FlareLoader — .flare package manager
- Tasks 1–4 — folder service, plugin icon badge, manifest UI renderer, extension docs
🧩 Corrections
- repair tooltip string + remove void-await in FlareHtmlRenderer
- route resolveExecutionContext to _resolveIOSContext on Platform.isIOS
- ZeusDL Mach-O bundle + ldid signing + ad-hoc entitlements + complete IPA
- guard nil rootViewController crash + binary_utils iOS channel + jailbreak detection
- add NSPhotoLibraryAddUsageDescription, NSLocalNetworkUsageDescription, audio background mode
- replace dropLast with valid Dart substring
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.825-b825
🧩 Corrections
- TikTok downloader — outputPath absolu writable + --no-update
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.823-b823
🧩 Corrections
- libffi.so in jniLibs + 7z compress APK directly + LD_LIBRARY_PATH always active
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.824-b824
🧩 Corrections
- LD_LIBRARY_PATH always active (nativeDir+pythonHome/lib) + re-extraction forcée
- libffi.so in jniLibs + 7z compress APK directly + LD_LIBRARY_PATH always active
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.822-b822
🧩 Corrections
- RUNPATH Termux remplace par ORIGIN dans libpython + libpython3.11
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.821-b821
🧩 Corrections
- heredoc indent + libpython3.11.so (Gradle excluait .so.1.0)
- libpython3.11.so.1.0 exclu par Gradle (.so.1.0) — renomme en .so + patchelf replace-needed
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.819-b819
🧩 Corrections
- extraire libpython3.11.so.1.0 + libandroid-support.so du zip vers jniLibs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.818-b818
✨ Nouvelles fonctionnalités
- TMDB pour Film/Série, fix iOS Rust+pod, dock amélioré, Watchtower rename
🧩 Corrections
- patchelf --remove-needed libandroid-support.so de libpython.so (fiable sur x86_64+ARM translation)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.817-b817
🧩 Corrections
- patchelf --remove-needed libandroid-support.so de libpython.so (fiable sur x86_64+ARM translation)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.816-b816
🧩 Corrections
- stub libandroid-support.so avec NDK clang (Android ELF, pas Linux ELF)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.815-b815
🧩 Corrections
- stub libandroid-support.so via gcc-aarch64-linux-gnu (pas NDK)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.814-b814
🧩 Corrections
- generer stub libandroid-support.so via NDK clang
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.813-b813
✨ Nouvelles fonctionnalités
- episode cards with shimmer, player fade-in, StreamIMDB extension
🧩 Corrections
- LD_LIBRARY_PATH desactive sur x86_64+arm64 translation
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.812-b812
✨ Nouvelles fonctionnalités
- episode cards with shimmer, player fade-in, StreamIMDB extension
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.811-b811
🧩 Corrections
- _extractZip bypass extension check pour libpython.zip.so
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.810-b810
✨ Nouvelles fonctionnalités
- dock 4 styles (Classic/Immersive/PC Sidebar), menu overlay fix
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.809-b809
🧩 Corrections
- ZeusDL silencieux + resolveExecutionContext() null
- splash screen, header edge-to-edge/opacity, carousel full-bleed
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.808-b808
🧩 Corrections
- splash screen, header edge-to-edge/opacity, carousel full-bleed
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.807-b807
🚀 Améliorations
- réécriture propre — logs détaillés à chaque étape, _Result<T> clair
🧩 Corrections
- ajouter userOverrideDisplayPath, downloadFromUrl(onProgress), resetCachedPath manquants
- messages d'erreur ZeusDL clairs — renvoie aux logs pour le diagnostic
- diag(zeus): throw descriptive exceptions in _resolveAndroidContext to expose root cause in UI
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.803-b803
🧩 Corrections
- Méthode B — resolveExecutionContext() au lieu de resolveExecutable() pour ZeusDL
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.802-b802
🧩 Corrections
- ZeusDL Méthode B — libpython.so = Intégré, URL zeusdl.zip
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.801-b801
🧹 Suppressions
- trigger release build — Python Bionic runtime (Méthode B) [skip changelog]
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.796-b796
✨ Nouvelles fonctionnalités
- image floutée instantanée + logo sans fond + tabs remontés
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.795-b795
✨ Nouvelles fonctionnalités
- couleur dominante au-dessus du carousel (MovieBox style)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.794-b794
🧹 Suppressions
- trigger deploy on push to main
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.793-b793
🧩 Corrections
- ValueNotifier<double> + indentation — fix build error
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.791-b791
🧩 Corrections
- extract certifi.pem from assets and set SSL_CERT_FILE for ZeusDL standalone binary
- download certifi.pem from ZeusDL release for SSL_CERT_FILE on Android
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.790-b790
🧩 Corrections
- download certifi.pem from ZeusDL release for SSL_CERT_FILE on Android
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.789-b789
🧩 Corrections
- MovieBox-style header — logo asset, search bar, dominant-colour gradient
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.787-b787
✨ Nouvelles fonctionnalités
- MovieBox header + dark splash + onboarding language page
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.786-b786
🧩 Corrections
- remove COOP/COEP headers from server.py — breaks Replit iframe embedding
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.785-b785
🧩 Corrections
- skeleton + detail screen + discovery service UI fixes
- watchtower_home_screen.dart
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.784-b784
🧩 Corrections
- watchtower_home_screen.dart
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.783-b783
🧩 Corrections
- correct YAML indentation on ZeusDL env/run keys
- clean up remaining staticx comments — now Nuitka-based
- remove STATICX_TMPDIR, use cacheDir for Nuitka TMPDIR
- switch from assets (ET_EXEC) to jniLibs (PIE/ET_DYN)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.778-b778
🧩 Corrections
- correct step indentation for Bundle ZeusDL (8→6 spaces)
- correct YAML indentation in Free disk space step
- delete ET_EXEC libzeusdl.so stubs + add disk cleanup step
- bundle ZeusDL as Flutter asset instead of jniLibs ET_EXEC stub
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.774-b774
🧩 Corrections
- correct YAML indentation — run: at 8sp, use repeat() to avoid template literal drift
- correct YAML indentation on jniLibs step (run: was at 10sp, needs 8sp)
- use GITHUB_TOKEN for API curl, no-auth for CDN binary, python3 json parse
- remove GITHUB_TOKEN auth from zeusdl API curl (install token is repo-scoped, zeusdl is public)
- download zeusdl binary without auth token (CDN rejects cross-repo tokens)
- use staticx binary (PIE) directly with STATICX_TMPDIR=/data/local/tmp — fixes -fPIE error
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.768-b768
🧩 Corrections
- remove KeepAliveLink (removed in Riverpod 3.x) - use bool state + close() method
- fix Notifier import and IsarLinks sort in schedule_screen
- migrate StateProvider→NotifierProvider for Riverpod 3.x + icon CI step
- replace staticx wrapper with musl-linker execution
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.762-b762
✨ Nouvelles fonctionnalités
- Seanime-style Menu overlay + Schedule screen
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.761-b761
✨ Nouvelles fonctionnalités
- Seanime-style Menu overlay + Schedule screen
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.760-b760
✨ Nouvelles fonctionnalités
- new Watchtower icon — user logo on dark navy, properly sized (800/1024), no border
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.752-b752
✨ Nouvelles fonctionnalités
- new Watchtower icon — user logo on dark navy, properly sized (800/1024), no border
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.757-b757
✨ Nouvelles fonctionnalités
- new Watchtower icon — user logo on dark navy, properly sized (800/1024), no border
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.758-b758
✨ Nouvelles fonctionnalités
- new Watchtower icon — user logo on dark navy, properly sized (800/1024), no border
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.755-b755
✨ Nouvelles fonctionnalités
- new Watchtower icon — user logo on dark navy, properly sized (800/1024), no border
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.754-b754
✨ Nouvelles fonctionnalités
- new Watchtower icon — user logo on dark navy, properly sized (800/1024), no border
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.759-b759
✨ Nouvelles fonctionnalités
- new Watchtower icon — user logo on dark navy, properly sized (800/1024), no border
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.756-b756
✨ Nouvelles fonctionnalités
- new Watchtower icon — user logo on dark navy, properly sized (800/1024), no border
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.753-b753
✨ Nouvelles fonctionnalités
- new Watchtower icon — user logo on dark navy, properly sized (800/1024), no border
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.751-b751
⚙️ Changements
- Maintenance et corrections internes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.750-b750
⚙️ Changements
- Maintenance et corrections internes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.749-b749
⚙️ Changements
- Maintenance et corrections internes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.748-b748
⚙️ Changements
- Maintenance et corrections internes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.747-b747
🧩 Corrections
- replace icon with clean vector version — full square bg, no baked-in rounding
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.745-b745
🧩 Corrections
- replace icon with clean vector version — full square bg, no baked-in rounding
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.744-b744
🧩 Corrections
- replace icon with clean vector version — full square bg, no baked-in rounding
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.746-b746
🧩 Corrections
- replace icon with clean vector version — full square bg, no baked-in rounding
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.742-b742
🧩 Corrections
- replace icon with clean vector version — full square bg, no baked-in rounding
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.743-b743
🧩 Corrections
- replace icon with clean vector version — full square bg, no baked-in rounding
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.741-b741
🧩 Corrections
- replace icon with clean vector version — full square bg, no baked-in rounding
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.737-b737
✨ Nouvelles fonctionnalités
- update app icon to new geometric eye design (Watchtower branding)
- new Watchtower app icon — geometric eye design, AnymeX-inspired style
- apply pageTransitionsTheme from user preference in MaterialApp
- add pageTransitionStyle provider (Fondu/Glissement/Échelle/Aucun)
- add page transition style setting to Interface & Effets screen
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
🧩 Corrections
- override TMPDIR to exec-capable dir before runProcess (TikTok staticx noexec bug)
- apply env var overrides in runProcess handler (TMPDIR for staticx)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.731-b731
✨ Nouvelles fonctionnalités
- apply pageTransitionsTheme from user preference in MaterialApp
- add pageTransitionStyle provider (Fondu/Glissement/Échelle/Aucun)
- add page transition style setting to Interface & Effets screen
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
🧩 Corrections
- override TMPDIR to exec-capable dir before runProcess (TikTok staticx noexec bug)
- apply env var overrides in runProcess handler (TMPDIR for staticx)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.740-b740
✨ Nouvelles fonctionnalités
- update app icon to new geometric eye design (Watchtower branding)
- new Watchtower app icon — geometric eye design, AnymeX-inspired style
- apply pageTransitionsTheme from user preference in MaterialApp
- add pageTransitionStyle provider (Fondu/Glissement/Échelle/Aucun)
- add page transition style setting to Interface & Effets screen
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
🧩 Corrections
- override TMPDIR to exec-capable dir before runProcess (TikTok staticx noexec bug)
- apply env var overrides in runProcess handler (TMPDIR for staticx)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.735-b735
✨ Nouvelles fonctionnalités
- update app icon to new geometric eye design (Watchtower branding)
- new Watchtower app icon — geometric eye design, AnymeX-inspired style
- apply pageTransitionsTheme from user preference in MaterialApp
- add pageTransitionStyle provider (Fondu/Glissement/Échelle/Aucun)
- add page transition style setting to Interface & Effets screen
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
🧩 Corrections
- override TMPDIR to exec-capable dir before runProcess (TikTok staticx noexec bug)
- apply env var overrides in runProcess handler (TMPDIR for staticx)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.739-b739
✨ Nouvelles fonctionnalités
- update app icon to new geometric eye design (Watchtower branding)
- new Watchtower app icon — geometric eye design, AnymeX-inspired style
- apply pageTransitionsTheme from user preference in MaterialApp
- add pageTransitionStyle provider (Fondu/Glissement/Échelle/Aucun)
- add page transition style setting to Interface & Effets screen
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
🧩 Corrections
- override TMPDIR to exec-capable dir before runProcess (TikTok staticx noexec bug)
- apply env var overrides in runProcess handler (TMPDIR for staticx)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.732-b732
✨ Nouvelles fonctionnalités
- new Watchtower app icon — geometric eye design, AnymeX-inspired style
- apply pageTransitionsTheme from user preference in MaterialApp
- add pageTransitionStyle provider (Fondu/Glissement/Échelle/Aucun)
- add page transition style setting to Interface & Effets screen
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
🧩 Corrections
- override TMPDIR to exec-capable dir before runProcess (TikTok staticx noexec bug)
- apply env var overrides in runProcess handler (TMPDIR for staticx)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.733-b733
✨ Nouvelles fonctionnalités
- update app icon to new geometric eye design (Watchtower branding)
- new Watchtower app icon — geometric eye design, AnymeX-inspired style
- apply pageTransitionsTheme from user preference in MaterialApp
- add pageTransitionStyle provider (Fondu/Glissement/Échelle/Aucun)
- add page transition style setting to Interface & Effets screen
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
🧩 Corrections
- override TMPDIR to exec-capable dir before runProcess (TikTok staticx noexec bug)
- apply env var overrides in runProcess handler (TMPDIR for staticx)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.734-b734
✨ Nouvelles fonctionnalités
- update app icon to new geometric eye design (Watchtower branding)
- new Watchtower app icon — geometric eye design, AnymeX-inspired style
- apply pageTransitionsTheme from user preference in MaterialApp
- add pageTransitionStyle provider (Fondu/Glissement/Échelle/Aucun)
- add page transition style setting to Interface & Effets screen
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
🧩 Corrections
- override TMPDIR to exec-capable dir before runProcess (TikTok staticx noexec bug)
- apply env var overrides in runProcess handler (TMPDIR for staticx)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.738-b738
✨ Nouvelles fonctionnalités
- update app icon to new geometric eye design (Watchtower branding)
- new Watchtower app icon — geometric eye design, AnymeX-inspired style
- apply pageTransitionsTheme from user preference in MaterialApp
- add pageTransitionStyle provider (Fondu/Glissement/Échelle/Aucun)
- add page transition style setting to Interface & Effets screen
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
🧩 Corrections
- override TMPDIR to exec-capable dir before runProcess (TikTok staticx noexec bug)
- apply env var overrides in runProcess handler (TMPDIR for staticx)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.736-b736
✨ Nouvelles fonctionnalités
- update app icon to new geometric eye design (Watchtower branding)
- new Watchtower app icon — geometric eye design, AnymeX-inspired style
- apply pageTransitionsTheme from user preference in MaterialApp
- add pageTransitionStyle provider (Fondu/Glissement/Échelle/Aucun)
- add page transition style setting to Interface & Effets screen
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
🧩 Corrections
- override TMPDIR to exec-capable dir before runProcess (TikTok staticx noexec bug)
- apply env var overrides in runProcess handler (TMPDIR for staticx)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.729-b729
✨ Nouvelles fonctionnalités
- apply pageTransitionsTheme from user preference in MaterialApp
- add pageTransitionStyle provider (Fondu/Glissement/Échelle/Aucun)
- add page transition style setting to Interface & Effets screen
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.730-b730
✨ Nouvelles fonctionnalités
- apply pageTransitionsTheme from user preference in MaterialApp
- add pageTransitionStyle provider (Fondu/Glissement/Échelle/Aucun)
- add page transition style setting to Interface & Effets screen
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
🧩 Corrections
- apply env var overrides in runProcess handler (TMPDIR for staticx)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.728-b728
✨ Nouvelles fonctionnalités
- add pageTransitionStyle provider (Fondu/Glissement/Échelle/Aucun)
- add page transition style setting to Interface & Effets screen
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.726-b726
✨ Nouvelles fonctionnalités
- add AnilistThread + AnilistActivity models, threadsProvider, activitiesProvider with native GraphQL
🚀 Améliorations
- complete detail screen rewrite — 11 tabs, sticky nav+tabs, share left, overview episode/hours/stats/synopsis/genres/relations/recs, characters language filter+rounded, recommendations list otraku, threads/activities native, watch order tab
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.724-b724
✨ Nouvelles fonctionnalités
- detail page refactor — 10 tabs, share left, no genre pills, stats/rankings, recommendations
- add new fields to _ExtEntry + fix index paths + show metadata chips
- add subCategories, supportsComments, requiresAccount, hasDRM, isAggregator, paywall, upstream fields
- Otraku-style tabs Overview|Related|Characters|Staff|Reviews, VA cards, tags%, share left, links→webview
- add Staff/VA/Reviews/Tags% models + expanded GraphQL query
🧩 Corrections
- add format+country to AnilistBrowseFilter and GraphQL browse query
- add AnilistBrowseFilter/anilistOfflineNotifier/anilistBrowseProvider; fix widget.isDark & widget.blockedCount in _BrowserHeaderState
- update extension index paths to new structure (manga/index.json → index/manga.json)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.713-b713
🧩 Corrections
- scrollbar épaisseur 3px (était 12)
- retirer Local Source du haut des onglets
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.712-b712
🧩 Corrections
- retirer Local Source du haut des onglets
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.711-b711
✨ Nouvelles fonctionnalités
- two artifacts — raw APK (installable) + 7z ultra-compressed (FitGirl)
🧩 Corrections
- override TMPDIR to files/tmp/ — staticx bundles fail execv() in noexec cache dir (Android 10+)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.710-b710
🧩 Corrections
- override TMPDIR to files/tmp/ — staticx bundles fail execv() in noexec cache dir (Android 10+)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.709-b709
🚀 Améliorations
- FitGirl-style 7z artifact (~75MB vs 100MB raw APK) + keep raw APK in GitHub Release
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.708-b708
🚀 Améliorations
- FitGirl-style ultra compression — extract APK then LZMA2 on raw files (40-60% smaller artifact)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.707-b707
🧩 Corrections
- correct YAML indentation for build-all-platforms
- correct YAML indentation (root keys were offset by 2 spaces)
- remove --no-tree-shake-icons to restore icon tree-shaking (FaIcon fix already applied)
- fix artifact glob (only pack current ABI APK, not all 4) + remove --no-tree-shake-icons
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.706-b706
🧩 Corrections
- correct YAML indentation (root keys were offset by 2 spaces)
- remove --no-tree-shake-icons to restore icon tree-shaking (FaIcon fix already applied)
- fix artifact glob (only pack current ABI APK, not all 4) + remove --no-tree-shake-icons
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.704-b704
🧩 Corrections
- fix artifact glob (only pack current ABI APK, not all 4) + remove --no-tree-shake-icons
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.703-b703
🧹 Suppressions
- pin Windows to windows-2022 — windows-latest redirected to VS2026 on 2026-06-15 breaks MSVC compilation
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.702-b702
🧹 Suppressions
- add dtolnay/rust-toolchain@stable to Windows job (cargokit needs cargo in PATH)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.701-b701
🧩 Corrections
- macOS packaging use find instead of ls glob for .app detection
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.700-b700
🧩 Corrections
- split Linux apt-get into essential+optional (|| true) to avoid missing package failures
- keystore decode, macos *.app glob, drop armeabi-v7a, more Linux libs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.699-b699
🧩 Corrections
- keystore decode, macos *.app glob, drop armeabi-v7a, more Linux libs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.698-b698
✨ Nouvelles fonctionnalités
- release mode, 7z ultra-compression for all Android artifacts, fix iOS build
🧩 Corrections
- android back to --profile (debug keystore works), remove --no-tree-shake-icons, Rust for Linux only
- use FaIcon instead of Icon for FontAwesomeIcons (font_awesome_flutter v11 migration)
- add flutter_riverpod import for Provider<bool>
- add Rust toolchain for rust_lib_watchtower FFI plugin on Linux
- use flutter 3.38.x + pub cache + no-tree-shake-icons for all platform builds
- robust libstdc++ install (try 12/13/14), enable-linux-desktop before pub get
- protect workflow_dispatch runs from push-triggered cancellation
- include lang in dedup key so multi-language extensions all appear in marketplace
- upgrade font_awesome_flutter to ^11.0.0 (Flutter 3.44 compat) and re_editor to ^0.9.0
- use Provider<bool> instead of StateProvider for extensionScanningProvider
- add missing MClient import in service.dart
- libstdc++ dynamic version detection for ubuntu-latest, enable linux desktop
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.697-b697
✨ Nouvelles fonctionnalités
- release mode, 7z ultra-compression for all Android artifacts, fix iOS build
🧩 Corrections
- use FaIcon instead of Icon for FontAwesomeIcons (font_awesome_flutter v11 migration)
- add flutter_riverpod import for Provider<bool>
- add Rust toolchain for rust_lib_watchtower FFI plugin on Linux
- use flutter 3.38.x + pub cache + no-tree-shake-icons for all platform builds
- robust libstdc++ install (try 12/13/14), enable-linux-desktop before pub get
- protect workflow_dispatch runs from push-triggered cancellation
- include lang in dedup key so multi-language extensions all appear in marketplace
- upgrade font_awesome_flutter to ^11.0.0 (Flutter 3.44 compat) and re_editor to ^0.9.0
- use Provider<bool> instead of StateProvider for extensionScanningProvider
- add missing MClient import in service.dart
- libstdc++ dynamic version detection for ubuntu-latest, enable linux desktop
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.682-b682
🧩 Corrections
- bridge: inline Dalvik bridge + extension fixes (MainActivity.kt)
- bridge: inline Dalvik bridge + extension fixes (DalvikBridge.kt)
- bridge: inline Dalvik bridge + extension fixes (NetworkHelper.kt)
- bridge: inline Dalvik bridge + extension fixes (proguard-rules.pro)
- bridge: inline Dalvik bridge + extension fixes (build.gradle)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.680-b680
🧩 Corrections
- bridge: inline Dalvik bridge + extension fixes (NetworkHelper.kt)
- bridge: inline Dalvik bridge + extension fixes (proguard-rules.pro)
- bridge: inline Dalvik bridge + extension fixes (build.gradle)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.681-b681
🧩 Corrections
- bridge: inline Dalvik bridge + extension fixes (DalvikBridge.kt)
- bridge: inline Dalvik bridge + extension fixes (NetworkHelper.kt)
- bridge: inline Dalvik bridge + extension fixes (proguard-rules.pro)
- bridge: inline Dalvik bridge + extension fixes (build.gradle)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.678-b678
🧩 Corrections
- bridge: inline Dalvik bridge + extension fixes (build.gradle)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.679-b679
🧩 Corrections
- bridge: inline Dalvik bridge + extension fixes (proguard-rules.pro)
- bridge: inline Dalvik bridge + extension fixes (build.gradle)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.677-b677
✨ Nouvelles fonctionnalités
- update libzeusdl.so arm64 — static binary 2026.06.13
- update libzeusdl.so x86_64 — static binary 2026.06.13
🧩 Corrections
- case-insensitive APK matching in extension scanner (fixes 30+ extensions not showing)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.676-b676
✨ Nouvelles fonctionnalités
- update libzeusdl.so x86_64 — static binary 2026.06.13
🧩 Corrections
- case-insensitive APK matching in extension scanner (fixes 30+ extensions not showing)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.675-b675
✨ Nouvelles fonctionnalités
- update libzeusdl.so x86_64 — static binary 2026.06.13
🧩 Corrections
- case-insensitive APK matching in extension scanner (fixes 30+ extensions not showing)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.674-b674
🧩 Corrections
- case-insensitive APK matching in extension scanner (fixes 30+ extensions not showing)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.672-b672
✨ Nouvelles fonctionnalités
- marketplace 5+5 tabs, Mihon/Aniyomi extensions, nav fixes
- marketplace tabs, Mihon/Aniyomi real extensions, nav fixes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.673-b673
✨ Nouvelles fonctionnalités
- marketplace 5+5 tabs, Mihon/Aniyomi extensions, nav fixes
- marketplace tabs, Mihon/Aniyomi real extensions, nav fixes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.670-b670
✨ Nouvelles fonctionnalités
- marketplace tabs, Mihon/Aniyomi real extensions, nav fixes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.671-b671
✨ Nouvelles fonctionnalités
- marketplace 5+5 tabs, Mihon/Aniyomi extensions, nav fixes
- marketplace tabs, Mihon/Aniyomi real extensions, nav fixes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.669-b669
🧩 Corrections
- jniLibs x86_64, extractNativeLibs, error msg ENOENT vs SELinux
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.668-b668
✨ Nouvelles fonctionnalités
- bundle ZeusDL and aria2c as jniLibs (arm64-v8a)
🧩 Corrections
- binary exec — Shizuku-first + nativeLibraryDir + SELinux error msg
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.666-b666
🧩 Corrections
- binary_utils channel + uninstall crash
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.665-b665
🧩 Corrections
- restore userOverrideDisplayPath() — points to internal storage
- remove noexec external paths, use direct Process.start for exec
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.663-b663
🧩 Corrections
- wait for storage permission before creating external dirs
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.657-b657
🧩 Corrections
- store binaries in internal app support dir (exec-capable) — external storage is noexec on Android 10+
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.660-b660
🧩 Corrections
- store aria2c in internal storage (exec) — external storage is noexec on Android 10+
- store ZeusDL in internal storage (exec) — external storage is noexec on Android 10+
- _binariesDir uses internal storage — external storage noexec blocks exec() on Android 10+
- store binaries in internal app support dir (exec-capable) — external storage is noexec on Android 10+
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.661-b661
🧩 Corrections
- store ZeusDL in internal storage (exec) — external storage is noexec on Android 10+
- _binariesDir uses internal storage — external storage noexec blocks exec() on Android 10+
- store binaries in internal app support dir (exec-capable) — external storage is noexec on Android 10+
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.659-b659
🧩 Corrections
- _binariesDir uses internal storage — external storage noexec blocks exec() on Android 10+
- store binaries in internal app support dir (exec-capable) — external storage is noexec on Android 10+
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.662-b662
🧩 Corrections
- _binariesDir uses internal storage — external storage noexec blocks exec() on Android 10+
- store aria2c in internal storage (exec) — external storage is noexec on Android 10+
- store ZeusDL in internal storage (exec) — external storage is noexec on Android 10+
- store binaries in internal app support dir (exec-capable) — external storage is noexec on Android 10+
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.658-b658
🧩 Corrections
- store binaries in internal app support dir (exec-capable) — external storage is noexec on Android 10+
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.656-b656
✨ Nouvelles fonctionnalités
- 7 UI/UX improvements
🧩 Corrections
- remove AppLogger.log in arch detection (not imported in plugins_screen)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.655-b655
🧩 Corrections
- remove AppLogger.log in arch detection (not imported in plugins_screen)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.651-b651
🧩 Corrections
- use primary ABI (first in list) for exec arch detection — fixes NDK-translated emulator (Appetize x86_64)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.650-b650
🧩 Corrections
- escape apostrophe in uninstall dialog string
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.648-b648
🧩 Corrections
- use getprop ABI list for arch detection in ZeusDL runner (fixes false x86_64 on NDK devices)
- use getprop ABI list for arch detection in TikTok downloader (fix false x86_64 on NDK devices)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.647-b647
🧩 Corrections
- use getprop ABI list for arch detection in TikTok downloader (fix false x86_64 on NDK devices)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.646-b646
🧩 Corrections
- remove const from _ArchSelector (has fn-type field), rename 'override' field to avoid builtin conflict
- detect Android ABI via getprop instead of uname -m, add manual arch selector
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.644-b644
🧩 Corrections
- add ZeusDlBinaryManager import + fix requirements check path — resolves ZeusDL false-not-installed
- use ZeusDlBinaryManager.resolveExecutable() — fixes "ZeusDL non installé" false positive when binary IS installed
- use ZeusDlBinaryManager.resolveExecutable() in _run() — fixes "ZeusDL non installé" false positive
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.642-b642
🧩 Corrections
- use ZeusDlBinaryManager.resolveExecutable() in _run() — fixes "ZeusDL non installé" false positive
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.641-b641
⚙️ Changements
- Maintenance et corrections internes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.639-b639
⚙️ Changements
- Maintenance et corrections internes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.640-b640
⚙️ Changements
- Maintenance et corrections internes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.637-b637
🧩 Corrections
- enable OnBackInvokedCallback in AndroidManifest
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.638-b638
🧩 Corrections
- use SvgPicture.network for .svg plugin icons instead of Image.network
- enable OnBackInvokedCallback in AndroidManifest
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.636-b636
🧩 Corrections
- detect CPU arch, download x86_64 or arm64 binary accordingly
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.635-b635
🧩 Corrections
- sh chmod+exec, example URL chips (TikTok+Facebook)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.634-b634
✨ Nouvelles fonctionnalités
- full-screen Seal-style launcher + chmod +x before Process.start
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.633-b633
✨ Nouvelles fonctionnalités
- add com.watchtower.app.shortcuts MethodChannel (pinShortcut via ShortcutManager)
- add Accueil shortcut button + _pinToHomeScreen helper
🧩 Corrections
- assign 0.0 not null to Map<String,double> _progress
- move PackageInfo outside try so catch can access it
- show current version in no-update toast
- use tag_name for version parsing in notification service
- use tag_name for version parsing in update check
- binary install - rm clearCache, real file size, redirect following, resetCachedPath
🧹 Suppressions
- workflow_dispatch only (no push trigger)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.621-b621
🧩 Corrections
- use archive pkg for zip extraction, remove unused dart:ui import
- cards UI + full-screen plugin detail + binary state persistence + WebView nav
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.620-b620
🧩 Corrections
- use archive pkg for zip extraction, remove unused dart:ui import
- cards UI + full-screen plugin detail + binary state persistence + WebView nav
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.619-b619
🧩 Corrections
- cards UI + full-screen plugin detail + binary state persistence + WebView nav
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.616-b616
🧩 Corrections
- cards UI + full-screen plugin detail + binary state persistence + WebView nav
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.617-b617
🧩 Corrections
- cards UI + full-screen plugin detail + binary state persistence + WebView nav
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.618-b618
🧩 Corrections
- cards UI + full-screen plugin detail + binary state persistence + WebView nav
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.611-b611
🧩 Corrections
- 3 bugs fixed — cards ListTile, detail full-screen Play Store, ZeusDL detection
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.612-b612
🧩 Corrections
- 3 bugs fixed — cards ListTile, detail full-screen Play Store, ZeusDL detection
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.613-b613
🧩 Corrections
- 3 bugs fixed — cards ListTile, detail full-screen Play Store, ZeusDL detection
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.614-b614
🧩 Corrections
- 3 bugs fixed — cards ListTile, detail full-screen Play Store, ZeusDL detection
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.615-b615
🧩 Corrections
- 3 bugs fixed — cards ListTile, detail full-screen Play Store, ZeusDL detection
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.605-b605
🧩 Corrections
- 4-issues batch — cards theme, plugin launcher, browse list, binaries index
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.610-b610
🧩 Corrections
- 4-issues batch — cards theme, plugin launcher, browse list, binaries index
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.606-b606
🧩 Corrections
- 4-issues batch — cards theme, plugin launcher, browse list, binaries index
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.609-b609
🧩 Corrections
- 4-issues batch — cards theme, plugin launcher, browse list, binaries index
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.607-b607
🧩 Corrections
- 4-issues batch — cards theme, plugin launcher, browse list, binaries index
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.608-b608
🧩 Corrections
- 4-issues batch — cards theme, plugin launcher, browse list, binaries index
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.604-b604
🧩 Corrections
- aria2 zip extraction, binary header removal, plugin detail in marketplace, requirement check, launch sheet, browse plugins tab (3-per-screen scrollable)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.603-b603
✨ Nouvelles fonctionnalités
- add cover images to onboarding cards (MAL + TMDB, hardcoded URLs)
🚀 Améliorations
- fix onboarding scroll lag — Transform.translate instead of Positioned
🧩 Corrections
- marketplace 2x4 tabs + Watch rename, plugin tab binaries removed + install button, fix requirements parsing, fix PluginDetailSheet WidgetRef anti-pattern
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.602-b602
🚀 Améliorations
- fix onboarding scroll lag — Transform.translate instead of Positioned
🧩 Corrections
- marketplace 2x4 tabs + Watch rename, plugin tab binaries removed + install button, fix requirements parsing, fix PluginDetailSheet WidgetRef anti-pattern
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.601-b601
🚀 Améliorations
- fix onboarding scroll lag — Transform.translate instead of Positioned
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.600-b600
🧩 Corrections
- use public AnilistCharMediaEdge type
- make edge model classes public for cross-file access
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.599-b599
🧩 Corrections
- use public AnilistStaffCharEdge/StaffMediaEdge types
- use public AnilistCharMediaEdge type
- make edge model classes public for cross-file access
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.598-b598
🧩 Corrections
- make edge model classes public for cross-file access
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.595-b595
✨ Nouvelles fonctionnalités
- new AniList character detail page
- AniList-style banner, char+VA rows, episodes, watch, threads
- voice actors, streaming episodes, char/staff providers
🧩 Corrections
- List<AnilistMedia>.from() for dart2js web build
- plugin tab empty, binary tab, utf8 encoding, engine install sheet
- carousel height/zoom, Seanime tabs style, new tab sections (Anime/TV Court/Enfant/Occidental/Africa/Tout)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.593-b593
✨ Nouvelles fonctionnalités
- voice actors, streaming episodes, char/staff providers
🧩 Corrections
- List<AnilistMedia>.from() for dart2js web build
- plugin tab empty, binary tab, utf8 encoding, engine install sheet
- carousel height/zoom, Seanime tabs style, new tab sections (Anime/TV Court/Enfant/Occidental/Africa/Tout)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.597-b597
✨ Nouvelles fonctionnalités
- add /anilistCharacter and /anilistStaff routes
- new AniList staff/voice-actor detail page
- new AniList character detail page
- AniList-style banner, char+VA rows, episodes, watch, threads
- voice actors, streaming episodes, char/staff providers
🧩 Corrections
- List<AnilistMedia>.from() for dart2js web build
- plugin tab empty, binary tab, utf8 encoding, engine install sheet
- carousel height/zoom, Seanime tabs style, new tab sections (Anime/TV Court/Enfant/Occidental/Africa/Tout)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.594-b594
✨ Nouvelles fonctionnalités
- AniList-style banner, char+VA rows, episodes, watch, threads
- voice actors, streaming episodes, char/staff providers
🧩 Corrections
- List<AnilistMedia>.from() for dart2js web build
- plugin tab empty, binary tab, utf8 encoding, engine install sheet
- carousel height/zoom, Seanime tabs style, new tab sections (Anime/TV Court/Enfant/Occidental/Africa/Tout)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.596-b596
✨ Nouvelles fonctionnalités
- new AniList staff/voice-actor detail page
- new AniList character detail page
- AniList-style banner, char+VA rows, episodes, watch, threads
- voice actors, streaming episodes, char/staff providers
🧩 Corrections
- List<AnilistMedia>.from() for dart2js web build
- plugin tab empty, binary tab, utf8 encoding, engine install sheet
- carousel height/zoom, Seanime tabs style, new tab sections (Anime/TV Court/Enfant/Occidental/Africa/Tout)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.592-b592
🧩 Corrections
- List<AnilistMedia>.from() for dart2js web build
- plugin tab empty, binary tab, utf8 encoding, engine install sheet
- carousel height/zoom, Seanime tabs style, new tab sections (Anime/TV Court/Enfant/Occidental/Africa/Tout)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.589-b589
✨ Nouvelles fonctionnalités
- segmented theme bar, language/font grid, dock 3-per-row, fix grey box
- plugin shortcuts, manga rows, genre-filtered tabs, real continue watching
🧩 Corrections
- Chapter has no .number field — extract from .name with regex
- use buildQuery<History>().findAll() — isar_community v3 API
- use filter().idIsNotNull().findAll() for isar history query
- fix isar query — use findAll().take() instead of .limit() chain
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.583-b583
✨ Nouvelles fonctionnalités
- Plugin tab badge count + ZeusDL/Aria2 engine cards in Plugin tab marketplace
🧩 Corrections
- defensive PluginEntry.fromJson casts (List/Map) + remove _BinaryEnginesSection from More page
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.582-b582
🧩 Corrections
- defensive PluginEntry.fromJson casts (List/Map) + remove _BinaryEnginesSection from More page
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.581-b581
🧩 Corrections
- _PluginCard uses plugin.iconUrl; PluginEntry.fromJson reads 'icon' key from index.json
- issues 1-9 — plugins Map/List, marketplace tab, tab drift, sources centering, UTF-8, WebView, binary engines, swipe lag, local source
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.579-b579
✨ Nouvelles fonctionnalités
- full plugins browser + installed manager
🧩 Corrections
- rename InstalledPluginsNotifier.update → updateVersion (conflicts with Riverpod 3.x $AsyncNotifierBase.update)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.577-b577
✨ Nouvelles fonctionnalités
- 100% extension detection, PackageChangeListener, flags, How To, Music/Game Local, orphan sweep
🧩 Corrections
- remove FilePicker.platform from local_how_to_screen (not available on web dart2js)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.575-b575
🧩 Corrections
- use raw.githubusercontent instead of jsDelivr CDN
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.574-b574
🧩 Corrections
- remove background getVideoListProvider Serveur fetch
- episode switching & card highlight
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.573-b573
🧩 Corrections
- episode switching & card highlight
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.572-b572
✨ Nouvelles fonctionnalités
- details tab redesign — synopsis show-more/less, gallery, cast chips + year in meta row
🧩 Corrections
- download sheet always fills content area, no handle, no shadow; film shows Film not E01
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.571-b571
✨ Nouvelles fonctionnalités
- details tab redesign — synopsis show-more/less, gallery, cast chips + year in meta row
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.570-b570
🧩 Corrections
- pill labels Langue/Serveur, series inline load + loadFailed, episode tap inline, webview popup block
- Bug1 pill labels Langue/Serveur, Bug2 series loadFailed+inline ep load, Bug3 banner pulse fix, Bug4 webview onCreateWindow popup block
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.568-b568
✨ Nouvelles fonctionnalités
- minimize panel, undo restore, improved adblock URL interception
- MoreSheet Via-style — 4 coins arrondis, dots cercles uniformes, Power+Collapse centrés
- 3 boxes Saison/Langue/Serveur + tabs Pour-vous & Commentaires fonctionnels
🧩 Corrections
- remove invalid static modifier on top-level const + height fix
- add missing height param to cachedNetworkImage
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.563-b563
✨ Nouvelles fonctionnalités
- 3 boxes Saison/Langue/Serveur sur detail screen
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.562-b562
✨ Nouvelles fonctionnalités
- BypassWebViewSheet — Telegram-style bottom-sheet WebView for Cloudflare challenge
🧩 Corrections
- tap notification → bottom-sheet WebView (payload + onDidReceiveNotificationResponse)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.559-b559
🧩 Corrections
- show "▶ Regarder" instead of chapter name to avoid title number confusion
- revert SafeArea, dots centre only, auto-season, pills languages
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.558-b558
🧩 Corrections
- revert SafeArea, dots centre only, auto-season, pills languages
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.557-b557
✨ Nouvelles fonctionnalités
- jumping dots loader, SafeArea banner, ep# fix, vol/bright sides, language pills for films
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.553-b553
✨ Nouvelles fonctionnalités
- jumping dots loader, SafeArea banner, ep# fix, vol/bright sides, language pills for films
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.552-b552
✨ Nouvelles fonctionnalités
- purge jsDelivr auto à chaque "check for update"
🧩 Corrections
- CDN raw.githubusercontent → jsDelivr
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.551-b551
🧩 Corrections
- CDN raw.githubusercontent → jsDelivr
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.550-b550
🧹 Suppressions
- supprime fichiers extension mal committés dans le repo Flutter
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.549-b549
🧩 Corrections
- cache statique 5min → 30sec + bypassCache invalide le cache
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.548-b548
🧩 Corrections
- tous les refresh bypasse le cache GitHub CDN
- fix 3 bugs — pagination, search, video resolvers
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.547-b547
🧩 Corrections
- fix 3 bugs — pagination, search, video resolvers
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.546-b546
🧩 Corrections
- extension card stable trailing buttons (2-line column) + lighter marketplace settings sheet + lang flags in bulk install
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.545-b545
🧹 Suppressions
- compact toolbar chips + permanent tab divider
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.544-b544
✨ Nouvelles fonctionnalités
- swipe brightness/volume, speed/quality pickers, animated settings panel
🧩 Corrections
- use VolumeController.instance instead of VolumeController() constructor
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.542-b542
✨ Nouvelles fonctionnalités
- install-all opens bulk sheet — language+category filters, parallel batches, no toasts, 100% guaranteed
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.541-b541
🧩 Corrections
- tabs left-aligned, pills transparent bg, episode cards smaller
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.540-b540
⚙️ Changements
- Maintenance et corrections internes
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.539-b539
🧩 Corrections
- settings panel divider visible + episode cards use EpisodeCard
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.538-b538
✨ Nouvelles fonctionnalités
- MovieBox-style player UI redesign
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.537-b537
🧩 Corrections
- properly invoke manual update check without Riverpod AutoDispose issue
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.536-b536
🧩 Corrections
- resolve 3 bugs — update check loop, silent install re-prompt, startup notify race
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.535-b535
✨ Nouvelles fonctionnalités
- silent auto-install via Shizuku + INSTALL_PACKAGES
🧩 Corrections
- correct grantViaShizuku — restore try{}, remove stray ), fix reflect nulls
- use reflection for Shizuku.newProcess() — inaccessible from Kotlin in v13 AAR
- use reflection for Shizuku.newProcess() — private in v13 AAR from Kotlin
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.531-b531
🧩 Corrections
- local_source_import_page — dart:developer + NotifierProvider (Riverpod 3.x)
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.528-b528
🧩 Corrections
- release processDownloads slot on extension fetch failure
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.527-b527
✨ Nouvelles fonctionnalités
- notifications (mise à jour + rappel) + changelog Mihon automatique
🧩 Corrections
- correct YAML indentation in Mihon-style changelog step
📱 Installation Android
- Téléchargez le fichier APK
- Ouvrez-le sur Android
- Activez "Sources inconnues" si demandé
8.1.525-b525
✨ Nouvelles fonctionnalités
- Refonte complète du Marketplace — onglets Play Store, filtres langue, mass-install, plugin tab, squelettes de chargement
- Animations Lottie dans le lecteur (chargement, buffering, seeking, succès, erreur)
- Gestionnaire de téléchargements repensé — limites par source, mise en page en cartes, fiche de gestion avancée
- Lecteur vidéo inline avec auto-play sur la page détail de série
- Runtime JavaScript natif du navigateur pour les extensions web (remplace le stub QuickJS no-op)
- Section "Nouveautés en premier" dans les mises à jour + bouton de vérification manuelle dans À propos
⚙️ Changements
- Extensions par défaut : Keiyoushi (manga) + Aniyomi (anime) remplacent les anciens dépôts cassés
- Badges MIHON / ANIYOMI sur les extensions détectées comme installées
- Suppression de Shorebird OTA (service ferme en août 2026)
🚀 Améliorations
- Lecteur : animation de seek style YouTube, overlay de statistiques, fond flou, indicateurs modernes
- Marketplace : contournement du cache CDN GitHub, NestedScrollView sticky, 6 onglets dont Musique, mass-install extensible
- Fiche de téléchargement : qualité/langue/saison réels, sélecteur de moteur externe (ADM / 1DM / FDM / IDM)
- i18n TTS : 13 clés manquantes complétées pour 13 langues (ar, de, es, es_419, hi, id, it, ja, pt, pt_BR, ru, th, tr, zh)
- Page info et fiche détail repensées (style MovieBox)
- Menu contextuel popup : alignement du caret sur le bouton déclencheur, couleurs correctes en mode sombre
🧩 Corrections
- Bug 1 seul épisode sur toutes les extensions séries (déduplication par URL au lieu du comptage)
- Chargement des épisodes bloqué par la garde isInit quand 1 chapitre existait déjà
- Mode sombre : menu 3 points ArrowPopupMenu, couleur de fond du popup grille manga
- Dock masqué sur la page Browse
- Images noires sur la version web (CoverViewWidget + ListTile)
- MockIsar web : évaluation correcte des filtres (ne retourne plus tous les chapitres fusionnés en un seul résultat)
- Web : résultats de Promise dans evaluateAsync correctement acheminés via le bridge sendMessage
- Divers correctifs de compilation Android et web
🧹 Suppressions
- Suppression de
shorebird_patch.yml(service Shorebird ferme en août 2026) - Suppression du popup vide "Mis à jour vers X.Y.Z" après mise à jour de l'app