Skip to content

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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1834-b1834

🧹 Suppressions

  • quick-wins — .dev gitignored, spotube assets supprimés, ffigen→dev_dependencies

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1827-b1827

🧩 Corrections

  • pull-to-refresh, bottom sheet actions, voir-tout redesign, search UX

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1824-b1824

✨ Nouvelles fonctionnalités

  • hamburger drawer style Namida à gauche du titre Discovery

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1821-b1821

⚙️ Changements

  • ReelScreen: Explorer GIF/Image type filter + creator banner avec ImageFiltered

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1818-b1818

⚙️ Changements

  • reel: source tap ouvre ReelScreen directement si additionalParams=type=reel

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1817-b1817

🧩 Corrections

  • reel: rename WatchReelScreen→ReelScreen, route reelFeed→reel, fix null creator names

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1815-b1815

🧩 Corrections

  • 3 bugs — quality pill, season regex, episode dedup

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1812-b1812

✨ Nouvelles fonctionnalités

  • WatchReelScreen — TikTok UI (Explorer/Suivis/Pour toi), remplace WatchReelFeedScreen

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1806-b1806

✨ Nouvelles fonctionnalités

  • intercept reel-type links in MangaImageCardWidget

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1802-b1802

🧩 Corrections

  • double-tap initial display + x2 escalation on repeat taps

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1800-b1800

✨ Nouvelles fonctionnalités

  • UX player & detail — 6 améliorations

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1798-b1798

🧩 Corrections

  • ajouter esla, es419, ptbr dans langToCountryCode (language.dart)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1797-b1797

🧩 Corrections

  • bool? crash + disable web build + bump 8.1.160+160

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1794-b1794

🧹 Suppressions

  • restore watch_detail_view.dart to build 9f93b8b

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1791-b1791

🧩 Corrections

  • supprime header, skeleton portrait 196h, ntfy Android

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1790-b1790

✨ Nouvelles fonctionnalités

  • detail plein-écran + bug FightZone + chips avec fond d'image

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1789-b1789

🧩 Corrections

  • supprime la limite take(8) sur les sections dynamiques

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1788-b1788

🧩 Corrections

  • hero skeleton sans shimmer + isHomeSubTab 0||1 + RepaintBoundary complet

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1784-b1784

✨ Nouvelles fonctionnalités

  • Custom Discovery catalogue inline + fix rate limit

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1782-b1782

🧩 Corrections

  • corrige DioException [bad response] lors de l'installation plugins

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1781-b1781

🧩 Corrections

  • discovery filter inline chips + suppression suggestions + fond noir

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1779-b1779

🧩 Corrections

  • police fallback Latin + labels dropdown Qualité/Langue/Saison

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1728-b1728

🚀 Améliorations

  • rename _SpotubePlayerBar -> _MusicPlayerBar

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1729-b1729

🚀 Améliorations

  • rename _SpotubePlayerBar -> _MusicPlayerBar

🧩 Corrections

  • window title Spotube -> Watchtower

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1725-b1725

🧩 Corrections

  • move _buildMbBottomDock/_buildMbStubPage into _WatchHomeScreenState

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1721-b1721

✨ Nouvelles fonctionnalités

  • filter marketplace to ferelking242 spotube plugins only

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1716-b1716

✨ Nouvelles fonctionnalités

  • Spotube plugins dans la section Music du marketplace

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1704-b1704

✨ Nouvelles fonctionnalités

  • carousel, category chips, catalogue SVG header pour extensions watch

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1686-b1686

🧩 Corrections

  • 3-dot color, remove filter tab, infinite scroll, search screen only filters

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1679-b1679

🧩 Corrections

  • replaceAll to HomeRoute after setup — no more grey screen

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1678-b1678

🧩 Corrections

  • default every content type to Grid display mode

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1668-b1668

⚙️ Changements

  • change: Music Hub title + settings → /settings via GoRouter

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1664-b1664

🚀 Améliorations

  • add ms timing logs to image provider (NET/DISK/MEM hit)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1651-b1651

🧩 Corrections

  • chevron left-gap, clamping snap scroll, classic dock anim 150ms

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1650-b1650

🧩 Corrections

  • add flutter/widgets import + revert delegate() initialRoutes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1648-b1648

🧩 Corrections

  • remove icudtl.dat + .frag — non-Mach-O binaries causing ldid error 175

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1644-b1644

🧩 Corrections

  • remove .storyboardc/.nib files — true cause of TrollStore ldid error 175

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1643-b1643

🧩 Corrections

  • remove .car files from IPA to fix TrollStore error 175

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1628-b1628

🧩 Corrections

  • add ldid diagnostic + remove .metallib files for TrollStore ldid compat

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1625-b1625

🧩 Corrections

  • remove ad-hoc codesign — TrollStore ldid crashes on _CodeSignature files

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1623-b1623

🧩 Corrections

  • rewrite build step — flutter build ios --no-codesign, clean YAML indent

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1620-b1620

🧩 Corrections

  • set CONFIGURATION_BUILD_DIR so Runner.app lands in build/ios/iphoneos/

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1616-b1616

🧩 Corrections

  • music screen delegate stored in state

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1603-b1603

🧩 Corrections

  • volume scroll double-cancel + adaptive RAM-based image cache

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1602-b1602

✨ Nouvelles fonctionnalités

  • add volume button nav toggle to Reader settings screen

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1569-b1569

🧩 Corrections

  • local/demo source skips getVideoList entirely — returns episode.url directly

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1568-b1568

🧩 Corrections

  • bust stale Flutter .dart_tool cache — flutter-v2- prefix

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1566-b1566

🧩 Corrections

  • correct YAML indentation in media_kit pubspec.yaml

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1559-b1559

🧩 Corrections

  • cache key + web HTML5 video player

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1558-b1558

🧩 Corrections

  • cache key + web HTML5 video player

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1556-b1556

✨ Nouvelles fonctionnalités

  • landscape top-bar — HDR→CC→Playlist, bouton Help, supprime audio

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1549-b1549

🧩 Corrections

  • add missing ) to close Row in _RankedCardState build

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1534-b1534

🧩 Corrections

  • move library directive before imports in sqlite3 common.dart

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1532-b1532

🧩 Corrections

  • fix Metadata types (year: Object?, durationMs: num?, fileSize: BigInt?)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1531-b1531

⚙️ Changements

  • Maintenance et corrections internes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1529-b1529

🧩 Corrections

  • correct YAML indentation and fix drift/sqlite3 patches

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1528-b1528

🧩 Corrections

  • comprehensive media_kit, sqlite3, drift, newpipe, metadata_god, home_widget fixes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1515-b1515

🧩 Corrections

  • top bar icon size 26px + local source bootstrap + create Watchtower/local folder

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1514-b1514

🧩 Corrections

  • remove icon backgrounds, enlarge icons, mute first on left side

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1510-b1510

✨ Nouvelles fonctionnalités

  • complete overhaul — 60fps seekbar, OPlayer side panel, named fit picker

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1469-b1469

✨ Nouvelles fonctionnalités

  • connect MusicSearchScreen to real browse/search providers

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1459-b1459

🧩 Corrections

  • useRootNavigator:false for TrackDetailsDialog in PlayerView

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1458-b1458

✨ Nouvelles fonctionnalités

  • add Music search pill between Discover series and Custom sources

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1455-b1455

🧩 Corrections

  • use local Navigator for showDialog in music module settings

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1454-b1454

🧩 Corrections

  • bounded SizedBox for dialog content in AdaptiveSelectTile

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1453-b1453

🧩 Corrections

  • add Material(transparency) inside SectionCardWithHeading

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1447-b1447

🧩 Corrections

  • suppress tooltip OverlayManager crash + eliminate triple YouTube URL fetch

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1444-b1444

🧩 Corrections

  • redirect libmpv to CDN directly, fix refreshStream URL fetch

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1443-b1443

🧩 Corrections

  • skip YouTube HEAD (403) + guard null radio result

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1440-b1440

🧩 Corrections

  • Response.found() for 302 redirect — proper Location header string for libmpv

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1435-b1435

🧩 Corrections

  • 403 UA match, Material ancestor in SliverList, MetadataGod.initialize()

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1436-b1436

🧩 Corrections

  • 403 UA match, Material ancestor in SliverList, MetadataGod.initialize()

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1437-b1437

🧩 Corrections

  • 403 UA match, Material ancestor in SliverList, MetadataGod.initialize()

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1432-b1432

🧩 Corrections

  • gray box in overlays + iOS AppGroupId init

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1434-b1434

🧩 Corrections

  • gray box in overlays + iOS AppGroupId init

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1433-b1433

🧩 Corrections

  • gray box in overlays + iOS AppGroupId init

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1413-b1413

🧩 Corrections

  • 403 proxy headers, Bad state guard, gray box theme inject

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1414-b1414

🧩 Corrections

  • 403 proxy headers, Bad state guard, gray box theme inject

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1412-b1412

🧩 Corrections

  • auto-set youtube-audio as default audio source plugin on first run

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1381-b1381

✨ Nouvelles fonctionnalités

  • declare branding, images, plugins asset directories

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1313-b1313

⚙️ Changements

  • .dev/PLAN.md — plan complet integration Spotube

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1310-b1310

✨ Nouvelles fonctionnalités

  • replace chevron nav with sub-dock tab pills

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1309-b1309

🧩 Corrections

  • pip error 80, buttons, 3-snap, mini border, fullscreen back, thumbnail cover

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1307-b1307

🧩 Corrections

  • correct NoVideoControls signature to Widget? Function(BuildContext)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1306-b1306

🧩 Corrections

  • add NoVideoControls stub + HttpHeaders.value() for dart2js

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1305-b1305

🧩 Corrections

  • replace StateProvider with Notifier for Riverpod 3.x

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1298-b1298

✨ Nouvelles fonctionnalités

  • room mode — symmetric P2P, catalog pull, full-screen UI

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1297-b1297

✨ Nouvelles fonctionnalités

  • room mode — symmetric P2P, catalog pull, full-screen UI

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1296-b1296

✨ Nouvelles fonctionnalités

  • room mode — symmetric P2P, catalog pull, full-screen UI

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1295-b1295

✨ Nouvelles fonctionnalités

  • room mode — symmetric P2P, catalog pull, full-screen UI

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1284-b1284

✨ Nouvelles fonctionnalités

  • webview intercept video → MPV player (webview_intercept source)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1277-b1277

🧩 Corrections

  • show Latest tab even when hasCustomLists (only hide Filter tab)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1270-b1270

🧩 Corrections

  • delegate APK download to Android DownloadManager

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1266-b1266

🧩 Corrections

  • add gameExtensionsRepo and musicExtensionsRepo fields to Settings

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1264-b1264

✨ Nouvelles fonctionnalités

  • watch page + video player overhaul

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1263-b1263

✨ Nouvelles fonctionnalités

  • add NovelHomeScreen with 3-card peeking book carousel

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1262-b1262

✨ Nouvelles fonctionnalités

  • novel home screen — 3-card peeking carousel, amber design

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1258-b1258

🧹 Suppressions

  • Remove LNReader extension system from Dart app

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1251-b1251

🧩 Corrections

  • responsive carousel — landscape 72% height, portrait 9/16+88

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1249-b1249

🧩 Corrections

  • watch home — Popular tab, responsive carousel, section spacing, ranked Top15, catalogue grid

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1248-b1248

🚀 Améliorations

  • improve: animate large title to navbar + stable image keys in grid

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1246-b1246

🧩 Corrections

  • player — HTTP probe + mpv referrer property (replaces http-header-fields)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1243-b1243

🧩 Corrections

  • inject libmpv headers via setProperty before open() — CDN Referer fix

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1240-b1240

🧩 Corrections

  • fallback qualité FHD→HD→HQ→LQ si erreur media_kit

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1239-b1239

🧩 Corrections

  • Completer — load() bloque jusqu'au play/erreur/watchdog, plus de spinner infini

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1238-b1238

✨ Nouvelles fonctionnalités

  • intercepteur HTTP pro — timing/taille/image-filter/extreme-headers

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1235-b1235

🧩 Corrections

  • tag pills, ext name, watchdog 30s, init→DEBUG

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1234-b1234

🧩 Corrections

  • tag pills, ext name, watchdog 30s, init→DEBUG

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1236-b1236

🧩 Corrections

  • tag pills, ext name, watchdog 30s, init→DEBUG

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1233-b1233

🧩 Corrections

  • replace all null-bang (!) with null-safe operators in browse/sources UI

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1232-b1232

✨ Nouvelles fonctionnalités

  • comprehensive debug coverage for all extension methods

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1229-b1229

🧩 Corrections

  • replace AniBrain with AniList GraphQL API (AniBrain is closing)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1223-b1223

✨ Nouvelles fonctionnalités

  • show scanlation group in latest updates list tile

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1222-b1222

🧩 Corrections

  • image alignment + filter movies from series tab

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1220-b1220

🧩 Corrections

  • z-index SliverAppBar + sections view for all extensions (FrenchStream accueil)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1219-b1219

🧩 Corrections

  • add customUserAgent field to Source model

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1217-b1217

🧩 Corrections

  • header positioning, filter corners, cards, extension settings, FrenchStream home sections

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1216-b1216

🧩 Corrections

  • header centered, filter chips transparent with inline expansion

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1204-b1204

✨ Nouvelles fonctionnalités

  • add plugin launcher screen, detail screen and real marketplace fetch

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1195-b1195

🧩 Corrections

  • collapsing header — ScrollController + SliverAppBar.title (iOS safe)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1192-b1192

🧩 Corrections

  • filter btn always visible + frosted glass barrier colour

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1189-b1189

🚀 Améliorations

  • improve: collapsing large-title effect on extension detail header

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1175-b1175

🧩 Corrections

  • library AppBar backgroundColor → scaffoldBackgroundColor (was black)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1174-b1174

🧩 Corrections

  • 5 Download Manager fixes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1170-b1170

🧩 Corrections

  • stop endless retry loop + log crash location in downloadChapter

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1167-b1167

🧩 Corrections

  • download queue — swipe direct (→ delete / ← pause), tab indicator instant, concurrent box compact

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1164-b1164

✨ Nouvelles fonctionnalités

  • add externalCategoryId param to LibraryScreen

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1156-b1156

🧩 Corrections

  • correct YAML indentation of Stub Libmtorrentserver step (6sp not 8sp)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1151-b1151

🧩 Corrections

  • single trailing button in extension tiles, use surface color for card background

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1143-b1143

🧩 Corrections

  • update relay URL to current Replit dev domain

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1142-b1142

🧩 Corrections

  • add WebSocket web stub to io_stub.dart — fixes dart2js compile error

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1139-b1139

✨ Nouvelles fonctionnalités

  • replace SSH tunnel with WebSocket relay client (Replit relay)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1138-b1138

🧩 Corrections

  • remove stdin keepalive (causes ECONNABORTED), use native SSH keepAliveInterval

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1132-b1132

🧩 Corrections

  • auto-reconnect SSH when localhost.run closes connection after URL

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1125-b1125

🧩 Corrections

  • version comparison, extension dedup, isar guard, web permissions

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1128-b1128

🧩 Corrections

  • version comparison, extension dedup, isar guard, web permissions

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1126-b1126

🧩 Corrections

  • version comparison, extension dedup, isar guard, web permissions

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1127-b1127

🧩 Corrections

  • version comparison, extension dedup, isar guard, web permissions

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1124-b1124

🧩 Corrections

  • use shell() as anchor channel instead of execute() for localhost.run

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1123-b1123

🧩 Corrections

  • keep SSH connection alive with anchor execute(cat) channel after shell close

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1115-b1115

🧩 Corrections

  • forwardRemote(port: 80) — localhost.run needs port 80 to generate tunnel URL

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1099-b1099

🧩 Corrections

  • règles R8 génériques pour tous les plugins Flutter

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1098-b1098

🧩 Corrections

  • ajout règles R8/ProGuard pour plugins Flutter manquants

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1097-b1097

🧩 Corrections

  • mode distant web, tunnel android, builds auto sur push

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1096-b1096

🧩 Corrections

  • show Mode Distant tile on web (remove !kIsWeb guard)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1092-b1092

🧩 Corrections

  • add /remoteMode route + watchdog auto-cancel on stuck

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1068-b1068

🧹 Suppressions

  • rename workflow — already builds release APK (not profile, not AAB)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1056-b1056

🚀 Améliorations

  • libaria2c.so on-demand — remove from jniLibs

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1048-b1048

🧩 Corrections

  • add PySocks/aiofiles/pyaes to required deps — fix socks import error

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1047-b1047

🧩 Corrections

  • restore missing AppLogger closing line (compile error fix)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1044-b1044

🧩 Corrections

  • await resolvePluginDeps before invoke — fix pyrogram race condition

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1043-b1043

✨ Nouvelles fonctionnalités

  • bundle pip.whl in Android APK for offline pip bootstrap

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1039-b1039

🧩 Corrections

  • replace CupertinoPageTransitionsBuilder (removed in Flutter 3.32)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1035-b1035

🧩 Corrections

  • also remove flutter_lints ^6.0.0 (requires Dart ^3.8.0)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1034-b1034

🧩 Corrections

  • remove protoc_plugin dep before pub get

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1033-b1033

🧩 Corrections

  • use sed BSD to patch pubspec sdk — fixes YAML parse error

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1029-b1029

✨ Nouvelles fonctionnalités

  • download pip.whl for offline pip bootstrap

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1031-b1031

⚙️ Changements

  • Maintenance et corrections internes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1030-b1030

✨ Nouvelles fonctionnalités

  • download pip.whl for offline pip bootstrap

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1026-b1026

🧩 Corrections

  • install wheels via zipfile — no pip required

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1005-b1005

🧩 Corrections

  • center source name in header + pills inside SliverAppBar bottom

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1004-b1004

🧩 Corrections

  • move /plugins inside ShellRoute to restore dock navigation

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1001-b1001

✨ Nouvelles fonctionnalités

  • Accueil list + custom lists + pill shape + transparent header

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.1000-b1000

🧩 Corrections

  • bypass rustls-platform-verifier via use_preconfigured_tls + webpki-roots

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.996-b996

🧩 Corrections

  • supprime entitlement time-sensitive (crash silencieux au démarrage TrollStore)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.995-b995

🧩 Corrections

  • back button sur step 0 + retirer cryptg des deps requises

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.994-b994

🧩 Corrections

  • pass JNIEnv + Android Context to init_hosted

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.987-b987

✨ Nouvelles fonctionnalités

  • iOS-style collapsing title, shimmer skeleton, pill tabs, search UI

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.970-b970

✨ Nouvelles fonctionnalités

  • add embedded PluginsHubScreen with ZeusDL + Telegram cards

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.966-b966

🧩 Corrections

  • bypass Promise-DartFuture bridge, use JS-side polling via REGISTER_PROMISE

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.952-b952

🧩 Corrections

  • requirements handles List and Map — fixes TypeError on install

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.942-b942

🚀 Améliorations

  • Gradle cache + JVM tuning + no-tree-shake → ~5 min build expected

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.939-b939

🧩 Corrections

  • remove broken Python heredoc — YAML parse caused 0 jobs

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.938-b938

🧩 Corrections

  • dom_selector 3 wrong msg types + http put/delete/patch methods

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.937-b937

🧩 Corrections

  • iOS crash lazy-load + revert Flutter 3.38.x + flare eval stub

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.936-b936

🧩 Corrections

  • iOS crash + Android plugin display

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.935-b935

🧩 Corrections

  • plugin system — remove fallback, add eval bridge channels, fix workflow triggers

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.934-b934

🧩 Corrections

  • add WPlugin.getPreference/setPreference/invoke/openUrl to eval stub

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.933-b933

🧩 Corrections

  • runProcess dans binaryChannel uniquement + bit-ops Swift pour waitpid status

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.928-b928

🧩 Corrections

  • validate cached APK, delete after install, clean old APKs

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.927-b927

🧩 Corrections

  • menu UI, update screen full-screen, pip bootstrap, update toast, timeout

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.926-b926

🧩 Corrections

  • extract zeusdl.zip multi-root correctly + add filesDir to PYTHONPATH

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.925-b925

🧹 Suppressions

  • apply Seanime Tenji design tokens to nav dock & menu overlay

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.924-b924

🧩 Corrections

  • update dialog UI + download reliability

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.917-b917

🧹 Suppressions

  • full-width rounded-top sheet, icons+spacing, dots pill, buttons right

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.908-b908

🧩 Corrections

  • remove entire wakelock_plus.framework dir (not just binary)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.906-b906

🧩 Corrections

  • remove ar static libs + .ldid.* residuals from bundle before IPA

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.904-b904

🧩 Corrections

  • thin all FAT→arm64, per-framework ldid, no zeusdl stub

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.903-b903

🧹 Suppressions

  • restore main_screen + overlay @ 2cad8fc5 — original menu button, original overlay layout

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.897-b897

🧹 Suppressions

  • restore watchtower_menu_overlay.dart @ 6fe82d9 — right-side transparent + stagger anim

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.896-b896

⚙️ Changements

  • Maintenance et corrections internes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.884-b884

🧩 Corrections

  • strip _CodeSignature + PrivacyInfo.xcprivacy before signing (TrollStore Error 175)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.881-b881

🧩 Corrections

  • restore original layout — header top, Fermer right, icon boxes visible + stagger anim

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.874-b874

🧩 Corrections

  • floating default · transparent bg · dot bottom · no highlight · menu bottom-sheet redesign

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.858-b858

🧩 Corrections

  • static wakelock_plus, flutter_launcher_icons step, separate iOS workflow

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.857-b857

🧹 Suppressions

  • Task 1: remove installed-APK extension scanner (Mihon/Aniyomi)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.856-b856

🧩 Corrections

  • create assets/zeusdl/ dir + jq-based ZeusDL asset search in Android CI

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.855-b855

🧩 Corrections

  • resolve JsEvalResult double-import on web

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.854-b854

⚙️ Changements

  • Maintenance et corrections internes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.852-b852

🧩 Corrections

  • update pubspec.lock to quickjs-plus@bd704d4b

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.847-b847

🧩 Corrections

  • copy libandroid-support.so from NDK — fixes libpython3.11.so crash

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.846-b846

✨ Nouvelles fonctionnalités

  • LibPython manager + pip + Settings > Avancé > LibPython page

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.845-b845

🧩 Corrections

  • per-plugin UI routing, false-success detection, copy button, correct save path

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.825-b825

🧩 Corrections

  • TikTok downloader — outputPath absolu writable + --no-update

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.822-b822

🧩 Corrections

  • RUNPATH Termux remplace par ORIGIN dans libpython + libpython3.11

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.816-b816

🧩 Corrections

  • stub libandroid-support.so avec NDK clang (Android ELF, pas Linux ELF)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.815-b815

🧩 Corrections

  • stub libandroid-support.so via gcc-aarch64-linux-gnu (pas NDK)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.814-b814

🧩 Corrections

  • generer stub libandroid-support.so via NDK clang

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.812-b812

✨ Nouvelles fonctionnalités

  • episode cards with shimmer, player fade-in, StreamIMDB extension

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.811-b811

🧩 Corrections

  • _extractZip bypass extension check pour libpython.zip.so

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.810-b810

✨ Nouvelles fonctionnalités

  • dock 4 styles (Classic/Immersive/PC Sidebar), menu overlay fix

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.808-b808

🧩 Corrections

  • splash screen, header edge-to-edge/opacity, carousel full-bleed

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.803-b803

🧩 Corrections

  • Méthode B — resolveExecutionContext() au lieu de resolveExecutable() pour ZeusDL

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.802-b802

🧩 Corrections

  • ZeusDL Méthode B — libpython.so = Intégré, URL zeusdl.zip

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.801-b801

🧹 Suppressions

  • trigger release build — Python Bionic runtime (Méthode B) [skip changelog]

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.795-b795

✨ Nouvelles fonctionnalités

  • couleur dominante au-dessus du carousel (MovieBox style)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.794-b794

🧹 Suppressions

  • trigger deploy on push to main

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.793-b793

🧩 Corrections

  • ValueNotifier<double> + indentation — fix build error

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.790-b790

🧩 Corrections

  • download certifi.pem from ZeusDL release for SSL_CERT_FILE on Android

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.789-b789

🧩 Corrections

  • MovieBox-style header — logo asset, search bar, dominant-colour gradient

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.787-b787

✨ Nouvelles fonctionnalités

  • MovieBox header + dark splash + onboarding language page

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.786-b786

🧩 Corrections

  • remove COOP/COEP headers from server.py — breaks Replit iframe embedding

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.785-b785

🧩 Corrections

  • skeleton + detail screen + discovery service UI fixes
  • watchtower_home_screen.dart

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.784-b784

🧩 Corrections

  • watchtower_home_screen.dart

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.762-b762

✨ Nouvelles fonctionnalités

  • Seanime-style Menu overlay + Schedule screen

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.761-b761

✨ Nouvelles fonctionnalités

  • Seanime-style Menu overlay + Schedule screen

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.751-b751

⚙️ Changements

  • Maintenance et corrections internes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.750-b750

⚙️ Changements

  • Maintenance et corrections internes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.749-b749

⚙️ Changements

  • Maintenance et corrections internes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.748-b748

⚙️ Changements

  • Maintenance et corrections internes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.713-b713

🧩 Corrections

  • scrollbar épaisseur 3px (était 12)
  • retirer Local Source du haut des onglets

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.712-b712

🧩 Corrections

  • retirer Local Source du haut des onglets

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.701-b701

🧩 Corrections

  • macOS packaging use find instead of ls glob for .app detection

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.699-b699

🧩 Corrections

  • keystore decode, macos *.app glob, drop armeabi-v7a, more Linux libs

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.678-b678

🧩 Corrections

  • bridge: inline Dalvik bridge + extension fixes (build.gradle)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.674-b674

🧩 Corrections

  • case-insensitive APK matching in extension scanner (fixes 30+ extensions not showing)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.670-b670

✨ Nouvelles fonctionnalités

  • marketplace tabs, Mihon/Aniyomi real extensions, nav fixes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.669-b669

🧩 Corrections

  • jniLibs x86_64, extractNativeLibs, error msg ENOENT vs SELinux

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.666-b666

🧩 Corrections

  • binary_utils channel + uninstall crash

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.663-b663

🧩 Corrections

  • wait for storage permission before creating external dirs

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.655-b655

🧩 Corrections

  • remove AppLogger.log in arch detection (not imported in plugins_screen)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.650-b650

🧩 Corrections

  • escape apostrophe in uninstall dialog string

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.642-b642

🧩 Corrections

  • use ZeusDlBinaryManager.resolveExecutable() in _run() — fixes "ZeusDL non installé" false positive

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.641-b641

⚙️ Changements

  • Maintenance et corrections internes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.639-b639

⚙️ Changements

  • Maintenance et corrections internes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.640-b640

⚙️ Changements

  • Maintenance et corrections internes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.637-b637

🧩 Corrections

  • enable OnBackInvokedCallback in AndroidManifest

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.636-b636

🧩 Corrections

  • detect CPU arch, download x86_64 or arm64 binary accordingly

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.635-b635

🧩 Corrections

  • sh chmod+exec, example URL chips (TikTok+Facebook)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.634-b634

✨ Nouvelles fonctionnalités

  • full-screen Seal-style launcher + chmod +x before Process.start

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.619-b619

🧩 Corrections

  • cards UI + full-screen plugin detail + binary state persistence + WebView nav

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.616-b616

🧩 Corrections

  • cards UI + full-screen plugin detail + binary state persistence + WebView nav

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.617-b617

🧩 Corrections

  • cards UI + full-screen plugin detail + binary state persistence + WebView nav

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.618-b618

🧩 Corrections

  • cards UI + full-screen plugin detail + binary state persistence + WebView nav

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.611-b611

🧩 Corrections

  • 3 bugs fixed — cards ListTile, detail full-screen Play Store, ZeusDL detection

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.612-b612

🧩 Corrections

  • 3 bugs fixed — cards ListTile, detail full-screen Play Store, ZeusDL detection

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.613-b613

🧩 Corrections

  • 3 bugs fixed — cards ListTile, detail full-screen Play Store, ZeusDL detection

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.614-b614

🧩 Corrections

  • 3 bugs fixed — cards ListTile, detail full-screen Play Store, ZeusDL detection

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.615-b615

🧩 Corrections

  • 3 bugs fixed — cards ListTile, detail full-screen Play Store, ZeusDL detection

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.605-b605

🧩 Corrections

  • 4-issues batch — cards theme, plugin launcher, browse list, binaries index

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.610-b610

🧩 Corrections

  • 4-issues batch — cards theme, plugin launcher, browse list, binaries index

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.606-b606

🧩 Corrections

  • 4-issues batch — cards theme, plugin launcher, browse list, binaries index

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.609-b609

🧩 Corrections

  • 4-issues batch — cards theme, plugin launcher, browse list, binaries index

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.607-b607

🧩 Corrections

  • 4-issues batch — cards theme, plugin launcher, browse list, binaries index

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.608-b608

🧩 Corrections

  • 4-issues batch — cards theme, plugin launcher, browse list, binaries index

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.601-b601

🚀 Améliorations

  • fix onboarding scroll lag — Transform.translate instead of Positioned

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.598-b598

🧩 Corrections

  • make edge model classes public for cross-file access

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.582-b582

🧩 Corrections

  • defensive PluginEntry.fromJson casts (List/Map) + remove _BinaryEnginesSection from More page

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.575-b575

🧩 Corrections

  • use raw.githubusercontent instead of jsDelivr CDN

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.574-b574

🧩 Corrections

  • remove background getVideoListProvider Serveur fetch
  • episode switching & card highlight

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.573-b573

🧩 Corrections

  • episode switching & card highlight

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.563-b563

✨ Nouvelles fonctionnalités

  • 3 boxes Saison/Langue/Serveur sur detail screen

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.558-b558

🧩 Corrections

  • revert SafeArea, dots centre only, auto-season, pills languages

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.551-b551

🧩 Corrections

  • CDN raw.githubusercontent → jsDelivr

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.550-b550

🧹 Suppressions

  • supprime fichiers extension mal committés dans le repo Flutter

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.549-b549

🧩 Corrections

  • cache statique 5min → 30sec + bypassCache invalide le cache

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.547-b547

🧩 Corrections

  • fix 3 bugs — pagination, search, video resolvers

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.545-b545

🧹 Suppressions

  • compact toolbar chips + permanent tab divider

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.541-b541

🧩 Corrections

  • tabs left-aligned, pills transparent bg, episode cards smaller

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.540-b540

⚙️ Changements

  • Maintenance et corrections internes

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.539-b539

🧩 Corrections

  • settings panel divider visible + episode cards use EpisodeCard

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.538-b538

✨ Nouvelles fonctionnalités

  • MovieBox-style player UI redesign

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.537-b537

🧩 Corrections

  • properly invoke manual update check without Riverpod AutoDispose issue

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.531-b531

🧩 Corrections

  • local_source_import_page — dart:developer + NotifierProvider (Riverpod 3.x)

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. Activez "Sources inconnues" si demandé

8.1.528-b528

🧩 Corrections

  • release processDownloads slot on extension fetch failure

📱 Installation Android

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

  1. Téléchargez le fichier APK
  2. Ouvrez-le sur Android
  3. 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

0.7.47

0.7.46

0.7.45