Skip to content
CAI
Software that uses CAICheck a score

RyanYuuki/AnymeX

44.4

Weak · 19 September 2026

198.8k

lines of production code

Dart

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

AnymeX is a cross-platform media consumption application built with Flutter that aggregates anime, manga, and novel content from multiple online tracking services and third-party extensions. It provides a unified interface for browsing, reading, and watching media, featuring real-time social capabilities like synchronized 'Watch Together' sessions and community recommendations. The system supports extensive local management, including offline downloads, encrypted backups, and detailed activity statistics, while offering deep customization through dynamic theming and configurable player/reader controls.

How it got here

2024 — AnymeX rebranding and platform expansion

37 changes.

The project underwent a comprehensive rebranding from Aurora to AnymeX across all platforms, accompanied by the addition of Windows and macOS support and the migration to the Isar database. This period focused on unifying the codebase with Material 3 theming, integrating Firebase analytics, and overhauling the UI for anime, manga, and novel sections to support new features like deep linking and community interactions.

2025 — Unified library and extension ecosystem

62 changes.

The project established a unified library interface supporting anime, manga, and novels, while integrating a robust extension-based source management system via the Aniyomi/Mangayomi bridge. Significant work focused on expanding tracking capabilities with dedicated services for Anilist, MyAnimeList, and Simkl, alongside comprehensive UI overhauls for media cards, player controls, and reader experiences. The period also saw the introduction of local media browsing, AI-powered recommendations, and native Linux desktop support.

2026 — platform expansion and UI overhaul

48 changes.

The project significantly expanded its feature set by introducing cross-platform capabilities, including native C++ image decoding, GitHub Gist sync, casting support, and a real-time 'Watch Together' system. This period also focused on a comprehensive UI modernization, migrating the database to Isar, redesigning core screens like the details page and profile, and implementing extensive theming for players and readers.

Features

Add GitHub Gist sync for cross-platform progress synchronization

Users can now sync their reading and watching progress across devices using a private GitHub Gist. This feature introduces a new authentication flow via GitHub OAuth, allowing users to log in, manually sync their local data to the cloud, and configure preferences such as auto-syncing and automatic deletion of completed items upon exit. The sync controller manages session restoration, handles API interactions with retry logic for resilience, and provides UI feedback on sync status and errors.

lib/controllers/sync · high confidence

Add novel details page

A new NovelDetailsPage widget has been added to the application. This page serves as a wrapper that delegates to the existing MediaDetailsPage, passing through the novel's media object, source, and tag information to display the details.

lib/screens/novel/details · high confidence

Added AnimeTheme model for parsing anime theme data

A new \AnimeTheme\ data model has been introduced to represent anime theme information, including title, artist, type, sequence, and optional video/audio URLs. This model includes a \fromJson\ factory method that parses raw JSON data from the API, handling nested structures for song details, video links, and tags, with fallback logic for missing fields. This enables the application to properly deserialize and utilize anime theme metadata throughout the app.

lib/models/animethemes · high confidence

Added GreetingController for time-based dynamic greetings

A new GreetingController has been introduced in the UI layer to provide dynamic, time-aware greetings to users. The controller automatically updates the displayed greeting (e.g., "Good morning", "Happy snacking") every 15 minutes based on the current hour, ensuring the message remains relevant throughout the day.

lib/controllers/ui · high confidence

Added Linux desktop runner implementation

This change introduces the native Linux desktop runner for the application, adding the necessary CMake build configuration and C++ source files (main.cc, my\_application.cc/h) to compile and launch the Flutter app on Linux. The implementation sets up the GTK application window, configures the header bar based on the desktop environment (GNOME vs. others), and registers Flutter plugins, enabling the app to run as a native Linux desktop application.

linux/runner · high confidence

Added Sauce Finder by screenshot in settings

A new 'Sauce Finder' screen has been added to the Miscellaneous settings, allowing users to upload an image file to search for the source anime. The view provides a platform-specific layout (side-by-side on desktop, stacked on mobile) for selecting images and viewing search results, utilizing the existing SauceFinder utility.

lib/screens/settings/misc · high confidence

Added Tap Zone Repository for Manga Reader Settings

A new TapZoneRepository has been introduced to manage the persistence and retrieval of tap zone layout configurations for the manga reader. This component handles saving and loading settings for various reading modes (paged, webtoon, vertical, and horizontal) as well as toggles for enabling tap zones and identifying the active layout type, ensuring user preferences for reader interaction zones are retained.

lib/repositories · high confidence

Added data model for reverse image search results

Introduced the \SauceResult\ class to represent data from the new reverse image search feature. This model parses API responses containing Anilist identifiers, anime names, episode numbers, similarity scores, and media URLs, and includes logic to extract the anime title from raw filenames using regular expressions.

lib/models/sauce · high confidence

Added empty state UI for library and history views

Users now see a dedicated empty-state screen when their library or history is empty, displaying a kaomoji emoticon and a contextual message ('Your library is empty' or 'Your history is empty') instead of a blank or potentially crashing view.

lib/widgets/exceptions · high confidence

Added helper widgets for responsive layout and TV navigation

The \lib/widgets/helper\ directory now includes new utilities to support adaptive UIs across mobile, tablet, desktop, and Android TV platforms. \adaptive\_wrapper.dart\ provides a wrapper that adjusts text scaling and pixel ratios for Android TV devices. \platform\_builder.dart\ introduces responsive sizing functions and builder widgets (\PlatformBuilder\, \PlatformBuilderWithTablet\) that switch between mobile, tablet, and desktop layouts based on screen width and platform. \scroll\_wrapper.dart\ replaces standard list views with \SuperListView\ for improved scrolling performance. \tv\_wrapper.dart\ adds \AnymexOnTap\ and \AnymexOnTapAdv\, which provide keyboard-focusable, animated tap targets specifically designed for TV remote navigation while falling back to standard touch interactions on mobile.

lib/widgets/helper · high confidence

Added native C library build hook for subsampling scale image view

A new build hook (build.dart) has been introduced to compile the native C++ source (image\_decoder.cpp) for the subsampling\_scale\_image\_view package. This hook configures the native toolchain to link against CoreFoundation, CoreGraphics, and ImageIO frameworks on iOS and macOS targets, ensuring the native component is correctly built and bundled for these platforms.

hook · high confidence

Added user activity and media statistics tracking

Introduced a new StatsTracker service that logs user watch and read activities to the local Isar database. This feature tracks daily activity metrics such as total watch time, episodes watched, read time, and chapters read, while also maintaining per-media statistics including total consumption time, interaction counts, and media type classification (movie, series, anime, or manga).

lib/controllers/stats · high confidence

The Android application has been rebranded from 'Aurora' to 'AnymeX' (package com.ryan.anymex), introducing extensive deep-link support for adding extension repositories (e.g., Tachiyomi, AniYomi, Cloudstream), opening AniList and MyAnimeList entries, joining Watchium sessions, and changing player themes. The app now supports Picture-in-Picture video playback, TV launcher integration, and adaptive app icons. Additionally, the Android embedding was migrated to FlutterFragmentActivity for improved performance, and the Gradle build system was upgraded to version 8.11.1.

android · high confidence

AniList service integration and data handling

The application now includes a dedicated service layer for AniList, introducing new files for API communication, authentication, data management, and error handling. This integration enables users to log in to AniList, view their anime and manga lists, track progress, and access community features like recommendations and compatibility checks. The service also supports fetching airing schedules via a calendar view and provides fallback data from Kitsu when AniList data is unavailable.

lib/controllers/services/anilist · high confidence

Anilist social integration with activity feeds and user profiles

The profile section now includes full Anilist social features, allowing users to view their own profile and browse other users' profiles. This includes an activity feed that displays anime/manga list updates, text posts, and messages, with the ability to view activity details, reply to posts, edit or delete replies, and like comments. Users can also follow and unfollow other Anilist users directly from the profile page, with follow status updates reflected in the UI.

lib/screens/profile · high confidence

AnymeX iOS sideloading source repository initialized

The repository now includes the configuration files (\config.json\, \source.json\) and the automation script (\update\_source.py\) required to distribute AnymeX via iOS sideloading tools like AltStore. This setup defines the app metadata, provides download links for versions 3.1.3 through 3.1.7, and includes a Python script that automatically fetches the latest GitHub releases to keep the sideloading source up to date.

repo · high confidence

App rebranded to AnymeX with new profile compatibility feature and Firebase integration

The application has been rebranded from Aurora to AnymeX, introducing a new package structure and UI components. A new feature allows users to check AniList profile compatibility, comparing viewing habits and social connections between two users via the new CompatibilityInputPage and CompatibilityResultPage. Additionally, Firebase has been integrated for analytics and configuration across supported platforms (Web, Android, iOS, macOS, Windows), with platform-specific options defined in the new firebase\_options.dart file.

lib · high confidence

Beta support for casting media to local network devices

This update introduces a new casting service that allows users to stream video content to compatible devices on the local network, such as Chromecast and DLNA renderers. The implementation includes a background proxy server to handle media forwarding, automatic device discovery via SSDP and mDNS protocols, and a dedicated UI dialog for selecting and connecting to available devices. Users can now initiate casting from the player interface, with the system handling device selection, connection status, and media playback control.

lib/services/cast · high confidence

A new style registry system has been added to the carousel widget, allowing users to switch between different visual layouts. The system defines two distinct carousel styles: 'Classic', which displays a full-width hero banner with compact details, and 'Portrait', which features vertical poster cards. This functionality is supported by a new \CarouselType\ enum that categorizes content as anime, manga, or simkl, enabling the carousel to adapt its presentation based on the media type.

lib/widgets/common/carousel · high confidence

Centralized widget builders for media sections and underrated content

A new \widgets\_builders.dart\ file introduces a centralized set of helper functions for constructing UI sections, including \buildSection\ for standard carousels, \buildUnderratedSection\ for community-powered underrated anime/manga, and \buildFutureSection\ for asynchronous data loading. This change consolidates the logic for rendering media items (anime, manga, novels) and community recommendations into reusable components, supporting source-agnostic displays and specific variants like the Anilist style.

lib/controllers/services/widgets · high confidence

Community recommendations with multi-service author navigation and Jikan filler detection

Users can now view community recommendations for movies and shows, including the ability to vote and filter live results. Clicking on a recommendation's author navigates to their profile on the currently active service (Simkl, AniList, or MyAnimeList), with fallback logic to ensure navigation works even if the primary service ID is missing. Additionally, episode tiles now display filler information fetched from the Jikan API, enabling an auto-skip feature for filler episodes.

lib/controllers/services · high confidence

Community recommendations with voting and live filters

Users can now browse community-driven recommendations for anime, manga, movies, and TV shows, complete with upvote/downvote functionality and live filtering options (such as hiding items already in the user's list). The update also introduces a dedicated page to view recommendations curated by specific users, displaying their suggested media along with the reasoning behind each pick.

lib/screens/community · high confidence

Episode list style switcher with multiple layout options

Users can now switch between three visual styles for the episode list: Minimal (simple layout with number, title, and progress), Compact (card with thumbnail and title), and Detailed (full-width card with large thumbnail and metadata). The app remembers the selected style and defaults to Detailed if no preference is set. This change refactors the episode widget architecture to support these distinct layouts.

lib/screens/anime/widgets/episode · high confidence

Initial Chocolatey package release for AnymeX v3.1.7

AnymeX is now available for installation via Chocolatey. The package (version 3.1.7) installs the Windows application from a ZIP archive and automatically creates a Start Menu shortcut for easy access.

chocolatey · high confidence

Initial Windows build configuration and plugin registration

This change introduces the foundational build infrastructure for the Windows platform within the Flutter project. It adds the CMake configuration file (CMakeLists.txt) to manage the Flutter library, C++ wrappers, and tool backend integration for Windows-x64. Additionally, it includes the generated plugin registrant files (C++ and CMake) which register a comprehensive set of platform-specific plugins, including media handling (MediaKit, flutter\_media\_session), system integration (window\_manager, screen\_brightness, permission\_handler), and connectivity features (url\_launcher, app\_links), enabling the application to utilize these capabilities on Windows.

windows/flutter · high confidence

Initial Windows desktop support for AnymeX

This change introduces the native Windows runner for the AnymeX application, enabling users to install and run the app on Windows 7, 8, 8.1, 10, and 11. The implementation includes a CMake build configuration, a Win32 window host with high-DPI awareness and dark mode support, and an app manifest defining the product name and version. Additionally, the runner integrates deep-link handling, allowing the application to receive and process external links while running.

windows/runner · high confidence

Introduce Watchium: Real-time 'Watch Together' feature with playback sync and chat

This change introduces the Watchium feature, enabling users to watch anime together in real-time rooms. The implementation adds a new UI page for joining rooms via 6-character codes (including password-protected rooms) and viewing active public rooms. It includes a backend service layer using Socket.IO for real-time communication, handling authentication, room management, and chat. A dedicated sync controller ensures playback synchronization between hosts and members, allowing members to follow the host's play/pause/seek actions and episode changes, or watch independently. The feature supports role-based permissions (host/cohost) and includes UI components for server selection and chat interaction.

lib/controllers/watchium, lib/screens/watchium · high confidence

Introduce Watchium: Real-time watch parties with chat, sync, and party controls

Users can now create or join synchronized watch rooms to view content together in real time. The new Watchium feature includes a create/join dialog for room setup, a live chat overlay with quick reactions, and playback synchronization that alerts users when they drift from the host and allows them to sync back. A party panel provides member lists, room info, and settings for notifications, overlay visibility, and chat moderation (including announcement mode and disabling chat). Hosts can also select streaming servers and qualities for the room's content directly from a bottom sheet.

lib/widgets/watchium · high confidence

Introduces configurable tap zones for manga reader interactions

The manga reader now supports customizable tap zones, allowing users to define specific screen areas for actions like navigating pages, scrolling, or toggling the menu. This change adds the underlying data model (\TapZone\, \TapZoneLayout\) and default layouts for standard paged, vertical paged, webtoon, and horizontal webtoon reading modes, enabling more precise and flexible control over reader gestures.

lib/models/reader · high confidence

Introduction of AnymeX Extension Runtime Bridge with Plugin Manager

This change introduces the AnymeX Extension Runtime Bridge, enabling support for Aniyomi-style extensions on non-iOS platforms. A new Plugin Manager widget has been added to handle the lifecycle of the runtime bridge, including automatic detection of the installed version, fetching the latest release from the official GitHub repository, and presenting install or update sheets to the user. The manager ensures the bridge is loaded before use and provides mechanisms to check for and apply updates, requiring an app restart to finalize the installation.

lib/screens/extensions/widgets · high confidence

Introduction of AnymeX custom widget library

The application now uses a new set of custom UI components (AnymeX widgets) to replace standard Flutter widgets, providing a consistent visual style across the app. This includes a new animated logo widget that supports custom logo paths and multiple animation types, a redesigned header with integrated search and back navigation, and updated dialog, bottom sheet, and button components with new styling options like blurring and glowing effects. Users will see these changes reflected in the app's overall look and feel, particularly in how headers, dialogs, and interactive elements are rendered.

_lib/widgets/anymex\widgets · high confidence

Introduction of a dedicated comment system with preloading and role-based features

Users can now view, load, and refresh comments for anime entries via a new comment section. The system includes a preloader service that caches comment controllers to improve performance when navigating between media items. The comment controller manages local state for comments, handles user input, and checks user roles (moderator, admin, super admin) to determine permissions. It also supports background refreshing of comments and provides feedback via snackbars for load and refresh actions.

lib/screens/anime/widgets/comments/controller · high confidence

Introduction of centralized app constants and Material 3 theming

The application now uses a new \lib/constants\ directory to centralize configuration, introducing full light mode support alongside the existing dark mode. These changes are driven by new \themes.dart\ definitions that adopt Material 3 (\useMaterial3: true\) with a red seed color, standardizing UI elements like buttons, inputs, and page transitions across both brightness modes. Additionally, \contants.dart\ (sic) defines reusable data structures for color options, font colors, video resize modes, playback speeds, and supported subtitle file extensions, providing a single source of truth for these UI and functional parameters.

lib/constants · high confidence

Introduction of centralized database key definitions for Watchium and app settings

The application now uses a dedicated \lib/database/data\_keys\ module to define all persistent storage keys. This includes a new \WatchiumKeys\ enum for the 'Watch Together' real-time chat and sync feature (storing server URL, notification toggles, and overlay positions) and a comprehensive \General\ enum covering settings such as high refresh rate, Discord RPC, unified library, and community recommendations. Additional enums standardize keys for Player, Reader, Novel Reader, Theme, Source, and Plugin configurations.

_lib/database/data\keys · high confidence

Introduction of cross-service media tracking bindings

Users can now link media entries to multiple external tracking services (AniList, MyAnimeList, and Simkl) simultaneously. This change introduces a new binding system that persists tracking data (such as progress, status, and scores) for each connected service, allowing synchronized updates across all linked accounts when media progress changes.

lib/controllers/track · high confidence

Introduction of extension-based source management and improved media mapping

The application now supports external extensions (via the Aniyomi/Mangayomi runtime bridge) for anime, manga, and novels, allowing users to install and manage third-party sources. This change introduces a new SourceController to handle extension installation, ordering, and active source selection, alongside a revamped SourceMapper that uses fuzzy matching and season detection to more accurately link local media to extension content.

lib/controllers/source · high confidence

Introduction of local media browsing and metadata integration

This change introduces the core controller and data models for the new local source feature, allowing users to browse local video files (such as .mp4, .mkv, and .avi) and manage download directories. The \LocalSourceController\ handles file system permissions, path history, and view modes for both local and downloaded content. Additionally, it integrates with the \TmdbApi\ and \DetailResult\ models to fetch and display metadata (titles, seasons, episodes) for local media, supporting both TV series and movies.

_lib/screens/local\source/controller · high confidence

Introduction of new player controller and utilities

This change introduces the \PlayerController\ class and \PlayerUtils\ helper in the anime watch screen, establishing the core logic for video playback, episode navigation, and media session management. The controller handles state for current position, buffering, playback speed, and integrates with external services like offline storage and Discord RPC, while the utility provides duration formatting for the UI.

lib/screens/anime/watch/controller · high confidence

JSON-based player control themes and media indicators

The player's visual interface is now driven by a new JSON-based theming system, allowing users to define and import custom control layouts via JSON collections. This change introduces a registry for player control themes (including built-in options like Netflix and iOS variants) and a separate registry for media indicators (volume/brightness overlays) with default, iOS, and minimal styles. The \ThemedControls\ widgets in this location now resolve the active theme from settings and render the corresponding top, center, and bottom control zones, while the \MediaIndicatorThemeRegistry\ manages the visibility and appearance of system overlays.

lib/screens/anime/watch/controls/themes/setup · high confidence

Linux build now registers additional Flutter plugins

The Linux desktop build now includes registration for several new Flutter plugins, including anymex\_extension\_runtime\_bridge, desktop\_webview\_window, dynamic\_color, flutter\_qjs, gtk, isar\_community\_flutter\_libs, media\_kit\_libs\_linux, media\_kit\_video, screen\_retriever\_linux, url\_launcher\_linux, volume\_controller, window\_manager, and window\_to\_front. Additionally, the FFI plugin list now includes jni, libtorrent\_flutter, and rhttp. This enables features such as dynamic theming, desktop webview windows, media playback, window management, and URL launching on Linux.

linux/flutter · high confidence

MyAnimeList (MAL) integration implemented

The application now supports direct integration with the MyAnimeList API. This change introduces the core API client and service layer for MyAnimeList, enabling users to authenticate via OAuth, fetch personal anime and manga lists, update list statuses, and retrieve media details and rankings. This provides a new tracking source alongside existing services like Anilist.

lib/controllers/services/mal · high confidence

New AI recommendation engine with caching and multi-source aggregation

Introduces a new AI-powered recommendation system in the \lib/ai\ module that aggregates suggestions from both the AnimeSprout external service and native platform data. The implementation includes a \RecommendationCache\ to store results in memory, reducing redundant API calls, and supports pagination for loading more recommendations. It filters out tracked items and, by default, excludes adult content based on genre and title keywords. The service dynamically detects the user's linked service (AniList or MAL) to tailor the data fetching process.

lib/ai · high confidence

New AI recommendations, dub anime calendar, and list export features

This update introduces several new capabilities in the anime section. Users can now get AI-powered recommendations for anime and manga via the new AI Picks screen, which filters suggestions based on their existing library. A new calendar view supports both standard airing schedules and a dedicated Dub mode that fetches release information from external sources like AnimeSchedule and LiveChart. Additionally, users can export their AniList or MyAnimeList anime and manga tracking lists to XML files compatible with MAL import, including options to adjust score normalization and import behavior.

lib/screens/anime/misc · high confidence

New Anilist-specific anime and manga list views with customizable sections

The online library now includes dedicated \AnimeList\ and \MangaList\ screens that support Anilist-specific profile features, such as splitting completed entries into sub-categories (e.g., TV, Movie, OVA) and reordering these sections via user profile settings. These views introduce persistent genre filtering, search functionality, and sort mode persistence, while also handling duplicate removal for media lists. This change specifically implements the UI and state management for these list pages, integrating with the existing \ServiceHandler\ to fetch and display tracked media.

lib/screens/library/online · high confidence

New Anime Visuals popup with multi-source image scraping

A new VisualsPopup widget has been added to the application, allowing users to view and save anime images from multiple sources. The popup fetches visuals from MyAnimeList (MAL) using a provided MAL ID and scrapes images from LiveChart.me by searching for the anime title. It also displays the original cover image from Anilist. Users can browse these images in a page view and save them to their device gallery, with the system handling file extensions and platform-specific storage permissions.

lib/widgets/anime/visuals · high confidence

New Contributors screen in Settings

A new Contributors page has been added under Settings, displaying a curated list of core team members and fetching additional contributors from the GitHub API. The screen filters out bot accounts, excludes specific GitHub IDs, and highlights core team members with pinned profiles and custom banners. It also fetches pull request counts and staff information from external sources to provide detailed contributor profiles.

_lib/screens/settings/sub\settings/contributors · high confidence

New Discord login and RPC integration

Added a new Discord login page that uses an in-app webview to extract authentication tokens, including a reset session feature to clear cached data and resolve login issues. Introduced a Discord RPC controller that manages Rich Presence connections, handles user profile loading, and implements asset caching to reduce redundant API calls.

lib/controllers/discord · high confidence

New Extension Testing tool for validating source compatibility

A new Extension Testing screen has been added, allowing users to validate installed extensions (Anime, Manga, and Novel) before use. The tool lets users select specific extensions and run diagnostic tests—Ping, Basic, or Full—to check connectivity, search functionality, detail retrieval, and content availability, displaying pass/fail results and error messages directly in the UI.

lib/screens/extensions/ExtensionTesting · high confidence

New Library History, Statistics, and Unified Library UI

This change introduces three new screens to the library section: a History page for viewing and managing watched media with search and deletion capabilities, a Statistics page displaying counts for anime, manga, and novel libraries along with custom lists, and a unified Library page that consolidates local media management. The library interface now supports category switching (anime, manga, novel) via a media mode controller, includes a search bar, sorting options, and adapts its layout for desktop and mobile views.

lib/screens/library · high confidence

New Local Media Library screen for browsing and managing offline content

A new 'Local Library' screen (WatchOffline) has been added to the application, providing a dedicated interface for users to browse local media files and manage downloaded content. This view integrates with the LocalSourceController to support multiple view modes, including a search interface for finding downloadable items and a grid view for displaying existing downloads, utilizing the new AnymeXScaffold for consistent layout and theming.

_lib/screens/local\source · high confidence

New Manga Reader Controller with Advanced Reading Features

The manga reader controller has been rewritten to introduce a comprehensive set of new reading capabilities and configuration options. Users now have access to customizable tap zones for navigation, support for dual-page (spread) viewing modes, and volume key navigation. The reader includes an auto-scroll feature with adjustable speed and interruption handling, as well as a preload pages setting to improve performance. Additional UI enhancements include image cropping, fit-to-screen mode for tablets, and various color filters (grayscale, invert, custom brightness). The controller also integrates with Discord RPC for status display and handles progress tracking and offline storage more robustly.

lib/screens/manga/controller · high confidence

New anime home and details screens with studio details sheet

The app introduces new UI components for the anime section: a home page that supports switching between anime, manga, and novel content modes (including an extensions grid view), a details page wrapper that delegates to a media details implementation, and a studio details sheet that displays studio information and allows users to favorite studios via AniList.

lib/screens/anime · high confidence

New backup and restore service with encrypted settings and Isar migration

A new BackupRestoreService has been introduced to allow users to back up and restore their anime, manga, and novel libraries, custom lists, and application settings. The service now supports password-based encryption for sensitive data, specifically allowing users to optionally include or exclude authentication tokens during the backup process. Additionally, the underlying storage backend has been migrated from Hive to Isar, which is reflected in the new Isar-specific model imports and database interactions within the service.

_lib/controllers/services/backup\restore · high confidence

New build and release automation scripts

Added several new scripts to streamline the build and release process: \rename\_app.sh\ automates cross-platform renaming of package names and app display names for Android, iOS, macOS, Linux, and Windows; \setup\_libtorrent\_windows.ps1\ handles downloading and extracting prebuilt libtorrent binaries for Windows builds; \sign-ipa.sh\ integrates with an external signing service to sign iOS IPA files; and \tel\_commit\_parser.sed\ and \tel\_parser.sed\ provide Markdown-to-HTML conversion utilities for commit message parsing.

scripts · high confidence

A new \CarouselData\ model and corresponding mapper extensions have been added to the \lib/models/models\_convertor\ directory. This change introduces a unified data structure for carousel items, enabling the conversion of various media types (such as extensions, offline media, relations, tracked media, regular media, and community media) into a consistent format for display. The mappers handle specific fields like source identification, service types, and release status, facilitating the rendering of carousels across different content sources.

_lib/models/models\convertor · high confidence

New centralized UI settings model with extensive customization options

The application introduces a new \UISettings\ model in \lib/models/ui/ui\_adaptor.dart\ to centralize and expand user interface configuration. This change adds support for granular visual customizations, including card styles (regular, blurred, bootiful), history card toggles, immersive mode, Ken Burns effects on posters, liquid mode with custom backgrounds, and font family selection. It also introduces settings for navigation bar layout, margins, and legacy header/navbar toggles, alongside home page card visibility controls for default, MAL, and Simkl sources. Users will see these new options become available in the UI settings page, allowing for deeper personalization of the app's appearance and layout.

lib/models/ui · high confidence

New common UI components and widgets

The \lib/widgets/common\ directory has been populated with a suite of new reusable UI components, including \AnimatedAppBar\ for scroll-aware header animations, \AnymeXScaffold\ as a custom layout wrapper with header and search capabilities, \AnymeXPills\ for selectable tab-style navigation, and \AnymeXSliderM3\ for Material 3 styled sliders. Additional additions include \BigCarousel\ and \FutureReusableCarousel\ for media carousels, \CloudflareBypassWebView\ for extension cookie management, \DynamicStyleSelector\ for live-preview style switching, \GrainTexture\ for visual noise effects, and \HomeContinueWatchingBar\ for displaying recent history. These widgets provide the foundational UI elements for the application's revamped interface.

lib/widgets/common · high confidence

New community recommendation and activity features

This update introduces community-driven features including a recommendation system and activity feed. Users can now submit and vote on media recommendations via a new bottom sheet interface, with support for adding reasons and viewing vote counts. An activity card widget has been added to display social interactions, including likes and replies, with options to pin or delete activities. Additionally, a new activity composer sheet allows users to post updates with markdown formatting and privacy controls.

_lib/widgets/non\widgets · high confidence

New customizable alert dialogs and animated logo preview

Users can now configure alert dialogs with advanced interaction options, including single/multi-choice lists, reorderable item lists, and custom views, via the new AlertDialogBuilder. Additionally, a new preview dialog allows users to select and preview animated logo effects and upload custom logo files, integrating with the existing custom logo service.

lib/widgets/dialogs · high confidence

New data models for anime adaptations, news, and release predictions

The application now includes dedicated data models to support new content features: AnimeAdaptation stores anime start/end dates and adaptation status for manga; NewsItem parses news articles from both MangaBaka and Kuroiru sources; and NextRelease tracks predicted next chapter release dates, intervals, and chapter details. These models enable the UI to display anime adaptation information, fetch news updates, and show next chapter release predictions.

lib/models/mangaupdates · high confidence

New data models for anime download tracking and metadata

The application introduces new internal data structures to support anime download functionality. This includes an \ActiveDownloadTask\ model to track the state of ongoing downloads (such as progress, status, and associated episode details), a \DownloadedEpisodeMeta\ model to store metadata for completed downloads (including file paths and subtitle information), and a \DownloadedMediaSummary\ model for organizing media by title and extension. These models enable the app to manage and display downloaded anime episodes with their associated metadata.

lib/screens/downloads/model · high confidence

New dedicated manga screens for browsing and reading

The manga section now uses dedicated Flutter widgets for the home, details, and reading views. The home page displays installed manga extensions or service-specific widgets with a scroll-aware app bar, while the details page delegates to a shared media details component. The reading page introduces a new reader view with themed controls and keyboard navigation support (arrow keys) for page turning, replacing the previous generic implementation.

lib/screens/manga · high confidence

New download management controllers for media and manga

Added \DownloadController\ and \DownloadSearchController\ to handle the core logic for downloading media episodes and manga chapters. The \DownloadController\ manages active download tasks, tracks download states (queued, downloading, failed, completed), and maintains metadata caches for both video and manga content. The \DownloadSearchController\ provides functionality to search across installed extensions for media and manga, allowing users to select specific episodes or chapters for download.

lib/screens/downloads/controller · high confidence

New downloads screen with platform-specific permission handling

The application introduces a new DownloadScreen component that manages the user interface for downloading media. This screen implements a dynamic tab bar for filtering content and includes logic to check and request storage permissions, specifically handling differences between Android (requiring explicit permission checks) and other platforms like iOS or Linux where directory existence is verified instead.

lib/screens/downloads · high confidence

New episode list style options: Compact, Detailed, and Minimal

Users can now choose between three visual styles for the episode list: Compact, Detailed, and Minimal. The Compact and Detailed styles display episode thumbnails with progress bars and overlay badges, while the Minimal style presents a text-focused list with circular progress indicators and checkmarks for watched episodes. All styles support filler episode highlighting and custom download buttons.

lib/screens/anime/widgets/episode/styles · high confidence

New episode release cards added to history view

A new \NewEpisodeReleaseCard\ widget has been introduced in the history section to display media with recently released episodes. This card shows the media title, a 'NEW EPISODE' badge, and a human-readable release date (e.g., 'Today', 'Yesterday', '2 days ago') calculated from airing data or creation dates. Tapping the card navigates the user to the anime details page with a hero animation transition.

lib/widgets/history · high confidence

New high-performance image decoder with automatic border cropping

Added a new C++ FFI module (lib/ffi/image\_decoder) that provides a custom regional BMP decoder and an algorithm to automatically detect and crop white, black, or transparent margins from images. This capability is exposed via the \init\_decoder\, \decode\_region\, and \free\_decoder\ functions, allowing the application to efficiently load specific image regions while stripping unnecessary borders.

lib/ffi · high confidence

New history and custom list editors for library management

Added dedicated History Editor and Custom Lists Editor screens for anime, manga, and novel libraries. The History Editor allows users to view, sort, and delete individual or bulk watch/read history entries, while the Custom Lists Editor enables users to create, reorder, and manage their personal media lists. These new screens replace previous ad-hoc editing capabilities with a unified, type-aware interface for library maintenance.

lib/screens/library/editor · high confidence

New manga chapter list and tracking UI components

The app introduces a new set of widgets for the manga details screen, including a chapter list builder that displays progress percentages and highlights the continue-reading chapter, pill-based selectors for filtering chapters by range and scanlator, and a tracking dialog that remembers user choices. These components replace the previous chapter list implementation, providing a more structured and filterable view of manga chapters.

lib/screens/manga/widgets · high confidence

New media card system and long-press peek popup

The media item display has been refactored to use a unified card system (MediaCardGate) that applies consistent styles across search, online lists, and library views. A new long-press interaction now triggers a MediaPeekPopup, providing a quick preview of media details, tracking status, and community voting features without navigating away from the current list.

_lib/widgets/media\items · high confidence

New media detail models for characters, staff, and relations

The app now displays richer media details by introducing dedicated data models for characters, voice actors, staff members, and media relations. Users will see character profiles with associated voice actors and roles, staff information including their occupations and media credits, and structured lists of related media titles. These models support parsing data from external APIs (like AniList) to populate these new sections in the media detail view.

lib/models/Media · high confidence

New media indicator themes for volume and progress display

The player now offers three distinct visual themes for the floating media indicators (volume and seek progress) that appear during playback: 'Default', which uses a rounded pill shape with a horizontal slider; 'iOS 26', featuring a circular, blurred-glass overlay with a progress ring and percentage text; and 'Minimal', a slim top-aligned bar with a glowing progress line. These changes update the user interface of the watch controls to provide more stylistic variety for feedback overlays.

_lib/screens/anime/watch/controls/themes/media\_indicator\themes · high confidence

New news page for Anime & Manga titles

A new NewsPage has been added to the application, providing a dedicated view for news items associated with specific Anime or Manga titles. This screen displays a scrollable list of news articles, showing the title (with marquee support for long text), relative date, and a 'Read Article' action that opens the external URL. The UI utilizes the custom AnymeXScaffold and theme extensions to match the app's design system.

lib/screens/news · high confidence

New novel details page with chapter tracking and statistics

The novel details screen now features a dedicated chapter list that tracks reading progress via page counts and offsets, visually indicating completed chapters and highlighting the next one to read. A statistics section displays novel metadata such as status and total chapter count, alongside a synopsis rendered with HTML support and a grid of genre tags.

lib/screens/novel/details/widgets · high confidence

New novel home screen with scroll-aware app bar

The novel section now uses a new home page that displays installed novel extensions in a grid view. The interface features a custom animated app bar that hides and shows based on scroll direction, with dynamic status bar styling that adjusts to the current theme brightness. A search action is available in the header to filter novels.

lib/screens/novel · high confidence

New novel reader interface with dictionary and settings

The novel reader now includes a dedicated UI layer with bottom controls showing chapter progress and battery/time, a top bar for navigation and settings, and a slide-out settings panel for adjusting display, theme, navigation, and TTS options. A new dictionary popup allows users to look up selected words directly from the reading content.

lib/screens/novel/reader/widgets · high confidence

New offline player for local media files

Users can now play locally stored video files directly within the app. This change introduces a new \OfflineWatchPage\ that handles local episodes, reads subtitle metadata from a \metadata.json\ file in the episode's folder, and provides the same playback controls (speed, audio/subtitle tracks, double-tap seek) as the streaming player.

_lib/screens/local\source/player · high confidence

New page transition and item animation widgets

The \lib/widgets/animation\ directory now includes a comprehensive set of reusable animation components. This adds \PageAnimation\ and \BouncyAnimatedItemWrapper\ for item-level slide, scale, and fade effects, as well as \PageAnimationWrapper\ which supports multiple animation types (slide, fade, scale, rotation) for entire screens. Additionally, new \PageTransitionsBuilder\ implementations (\SmoothSlideTransition\, \FadeThroughTransition\, \ScaleFadeTransition\, \SharedAxisTransition\) are provided for customizing navigation between pages, and \StaggeredFadeScale\ and \StaggeredFadeSlide\ widgets enable staggered entry animations for lists.

lib/widgets/animation · high confidence

New player control themes: iOS 26, iOS Legacy, and Netflix

The player's visual interface now offers three additional control themes alongside the existing default. Users can switch to the 'iOS 26' theme for a modern, glassmorphic UI with capsule-style buttons and dynamic orientation controls, or the 'iOS Legacy' theme for a classic iOS aesthetic with episode metadata tags. A new 'Netflix' theme is also available, providing distinct layouts for mobile (with large seek/playback buttons) and desktop (with a bottom control bar and vertical scrim), both featuring Netflix-style branding and navigation.

_lib/screens/anime/watch/controls/themes/player\_control\themes · high confidence

New services for comments, push notifications, and volume key navigation

This change introduces three new service components in the application layer. First, CommentumService provides the backend integration for fetching, creating, and editing comments on media items, handling authentication and data mapping. Second, FcmService initializes Firebase Cloud Messaging to enable push notifications, including background handlers and in-app dialog displays for incoming messages. Third, VolumeKeyHandler adds native support for volume key navigation on Android, allowing users to control media playback or reading progress using device hardware buttons.

lib/services · high confidence

New session-based cache controller for media data

A new CacheController has been introduced to manage in-memory caching of media details for Anilist, MyAnimeList, Simkl, and extensions. This controller maintains separate data pools for each service, allowing the app to store and retrieve media information (such as status and metadata) during the current session without relying on persistent storage. It handles deduplication, updates existing entries, and parses raw JSON data into the appropriate Media model based on the active service.

lib/controllers/cacher · high confidence

The settings screen now includes dedicated UI widgets that let users preview and switch between multiple visual styles for media cards, carousels, history entries, and the bottom navigation bar. Each widget opens a dialog with live previews (using sample data) and applies the chosen style to the corresponding component throughout the app.

lib/screens/settings/widgets · high confidence

New settings search and structured sub-settings pages

The settings interface has been reorganized into distinct sub-pages (Accounts, Discord RPC, Common, Backup & Restore, Storage Manager, UI, Player, Reader, Theme, Extensions, Downloads, Logs, and About) and a new global search feature has been added. Users can now quickly find specific options across all categories using the search bar, which ranks results by relevance and groups them by category. The About page has also been revamped to include an animated logo, developer info, social links, and details about supported forks like NyanTV.

_lib/screens/settings/sub\settings · high confidence

New settings sub-page widgets for account, backup, and theme management

The settings interface now includes dedicated UI components for managing user accounts, handling encrypted backups, and importing custom player themes. Users can view and log out of connected online services via the new account tile, restore encrypted backups with password prompts and progress indicators, and import or remove custom JSON-based player control themes through a dedicated sheet. Additionally, an 'About' section displays app version (copyable via long-press) and developer links, while a GitHub repository dialog allows users to add extension sources by URL.

_lib/screens/settings/sub\settings/widgets · high confidence

New source-specific search interface for extensions

The search experience now includes a dedicated entry point for browsing content via installed extensions. A new \SourceSearchPage\ widget has been added to launch the search interface filtered by a specific source, supporting both anime and manga types. This integrates with the updated \SearchPage\ implementation, which now handles extension-specific browsing modes (search, popular, latest) and filter sheets, allowing users to search within individual extension sources directly from the search flow.

lib/screens/search · high confidence

New source-specific settings interface for extensions

Users can now configure individual preferences for installed extensions via a dedicated settings screen. This new \SourcePreferenceScreen\ dynamically renders extension-defined options—including checkboxes, switches, list selections, and multi-select lists—allowing users to adjust source-specific behaviors directly within the app. A supporting \ListTileChapterFilter\ widget provides a consistent UI for chapter filtering preferences.

lib/screens/extensions/ExtensionSettings · high confidence

New user statistics dashboard with activity tracking and library insights

A new User Stats screen has been added, providing a comprehensive view of user engagement. The feature introduces a \UserStatsController\ that aggregates data from Isar collections (\DailyActivity\ and \MediaStats\) to calculate metrics such as total watch/read time, current and longest activity streaks, average units consumed per day, and favorite titles. The UI displays these statistics with filtering capabilities for Anime, Manga, and Novel categories, and includes a sync mechanism to ensure library stats are up-to-date with offline media items.

lib/screens/stats · high confidence

New utility modules for architecture detection, Anilist profile rendering, and media data services

This change introduces a suite of new utility files in lib/utils that add several capabilities: an ABI detector for identifying device architecture (abi\_checker.dart), a parser and widget set for rendering Anilist user 'About Me' profiles with spoiler and YouTube support (al\_about\_me.dart, al\_about\_me\_helpers.dart), API clients for fetching anime themes and skip times (anime\_themes\_api.dart, aniskip.dart), a background service handler for managing downloads in isolates (background\_service\_handler.dart), an image color extractor (color\_extractor.dart), a color profile manager for video player settings (color\_profiler.dart), and models/logic for Anilist user compatibility matching (compatibility/). It also adds utilities for anime adaptation details and news (anime\_adaptation\_util.dart).

lib/utils · high confidence

New welcome dialog for initial setup and permissions

A new welcome dialog has been introduced to guide users through initial app setup. This dialog requests necessary storage and install permissions (with logic tailored to different Android SDK versions) and allows users to configure their preferences before using the app.

lib/screens/onboarding · high confidence

Novel Reader controller with TTS, autoscroll, and reading stats

The novel reader now includes a dedicated controller that manages reading settings (font, theme, spacing), text-to-speech synchronization with auto-advance, automatic screen wake-lock, volume key scrolling, and periodic reading statistics tracking.

lib/screens/novel/reader/controller · high confidence

Novel Reader with Text-to-Speech and Theme Customization

The application now includes a dedicated Novel Reader screen that supports reading content from external extensions. This feature introduces a customizable reading experience, allowing users to toggle between system themes and custom color schemes for the background and text. Additionally, a new Text-to-Speech (TTS) capability is available, accessible via a floating control panel that enables users to play, pause, and skip paragraphs within the novel content.

lib/screens/novel/reader · high confidence

Novel details page now supports source switching and offline reading

The novel details screen now allows users to switch between different extension sources for the same title, automatically searching for the best match and refreshing the chapter list. It also integrates with the new Isar database for offline media storage, enabling users to download and read novels offline, while preloading comments for the selected source.

lib/screens/novel/details/controller · high confidence

Reader control UI now supports selectable themes

The manga reader's control bar (top, bottom, and center) is now themed, allowing users to switch between a standard layout and an iOS-style 'Liquid' design. This location provides the theme system infrastructure: an abstract \ReaderControlTheme\ interface, a registry holding the 'Default' and 'iOS 26' implementations, and wrapper widgets that resolve the active theme from settings to render the appropriate controls.

lib/screens/manga/widgets/reader/themes · high confidence

Support for custom animated and static logos

Users can now upload and manage custom logos (GIF, WebP, PNG, JPG, JPEG) up to 20 MB, which are stored locally and persisted in the app's document directory. The system allows selecting a specific logo as the active brand asset, adjusting its display mode (original vs. default size) and custom scale, and renaming existing entries while preventing duplicate names. Newly added logos are automatically selected upon upload.

_lib/controllers/custom\logo · high confidence

Support for custom logos and animated logo effects

Users can now upload and manage custom logos with configurable sizing options (default, original, or custom scale) and apply a variety of visual effects to them. The update introduces a new data model for storing logo metadata and a comprehensive set of animation types, ranging from simple fades and scales to advanced particle, physics-based, and cinematic effects like smoke trace, hologram, and vortex.

lib/models · high confidence

Unified library history cards and media widgets

The library screen now uses a new set of widgets to display history and media items. A unified history card (with a 'V3' variant) presents anime, manga, and novels in a consistent layout, showing the title, progress (episode/chapter/page), and a progress bar. Separate card widgets for anime and manga display ratings and current progress indicators. A shared media card widget routes users to the correct details page based on the media type (anime, manga, or novel). These changes support the unified library view, allowing users to see and resume their history across different content types in a single, styled interface.

lib/screens/library/widgets · high confidence

Watch screen now supports Watchium sync overlays and controls

The watch screen now integrates Watchium (Watch Together) features, displaying real-time sync banners, comment overlays, and reaction overlays when in a room. It also consolidates player controls, tracks, and sources into a unified UI with themed controls, double-tap seek, and media indicators.

lib/screens/anime/watch · high confidence

Removals

The legacy \lib/components/carousel.dart\ file has been removed. This component previously displayed a horizontal slider of top-rated movies fetched from The Movie Database (TMDB) API, featuring auto-play functionality and specific styling. Its removal indicates that this specific movie-focused carousel is no longer part of the application's UI.

lib/components · high confidence

Removed placeholder page stubs and initial home page implementation

The application has removed the initial placeholder implementations for several core navigation pages, including Details, Profile, Search, Streaming, and Trending, as well as the original Home page that featured a hardcoded TMDB API integration and basic UI layout. These files, which previously contained only stub widgets or early-stage prototype code, have been deleted from the lib/pages directory, indicating a cleanup of initial scaffolding before further development or refactoring of these features.

lib/pages · high confidence

Architecture

Introduction of Service abstraction interfaces

The application now defines abstract interfaces for service implementations, specifically \BaseService\ for general media operations (such as fetching details, searching, and managing home/anime/manga/novel widgets) and \OnlineService\ for user-centric features like authentication, profile data, and managing tracked media lists. These interfaces standardize how the app interacts with different data sources, laying the groundwork for pluggable service providers.

lib/models/Service · high confidence

Behavioural changes

AniList integration model layer rewritten

The data models for the AniList integration have been completely replaced with new classes to support updated API features and cross-service compatibility. The new \AnilistActivity\ model now parses text, message, and list activities with improved time formatting and HTML entity cleaning, while \TrackedMedia\ introduces logic to reconcile online progress with local offline storage and supports alternate (romaji) title display. Profile handling (\Profile\) now includes dedicated factory methods for Kitsu and MyAnimeList (MAL) data, enabling unified profile statistics across services, and \AnilistUserSettings\ has been expanded to persist granular user preferences such as title language, score format, and custom list ordering.

lib/models/Anilist · high confidence

Anime details page and episode list receive a comprehensive UI and feature overhaul

The anime section has been significantly revamped with new widgets and behaviors. The anime details page now features a dedicated theme player for opening/ending songs, a character and staff information sheet, and an expanded statistics section that includes a release countdown, synonyms, tags, and external streaming links. The episode list has been rebuilt to support dynamic sorting and chunking, with a new custom list (collection) editor for organizing media. Additionally, the episode watch screen now utilizes a more performant list builder, and the list editor modal has been updated to support private entries and Simkl season parsing.

lib/screens/anime/widgets · high confidence

AnymeX v3.1.7 release with Flutter 3.32.8 and new developer tooling

This release updates the Flutter SDK to version 3.32.8 (managed via .fvmrc) and introduces new CLI utilities for managing the app's name, package identifier, and version numbers. It also includes a comprehensive changelog, updated installation guides for Windows (Scoop/Chocolatey) and Linux, and a detailed Terms of Service document covering the new Watch Together and Comments features.

(repo-wide) · high confidence

App bar visibility now responds to scroll direction

The new ScrollAwareAppBarMixin allows pages to automatically hide the app bar when the user scrolls down and show it when scrolling up, preventing the app bar from disappearing unexpectedly during content navigation.

lib/mixins · high confidence

App renamed to Anymex with updated bundle identifier

The macOS application's display name has been changed from 'aurora' to 'anymex', and the bundle identifier has been updated from 'com.example.aurora' to 'com.ryan.anymex'. This change affects how the app appears in the macOS dock, menu bar, and system settings, as well as its unique system identity for deep linking and updates.

macos/Runner/Configs · high confidence

Comment section now requires login and policy acceptance

The anime comment widget now enforces authentication and community guidelines before allowing users to post. If a user is not logged in, the input field is replaced with a message prompting them to log in. For logged-in users, attempting to post a comment triggers a dialog requiring acceptance of the comment policy; users can read the full rules via a link or accept and post immediately. This change ensures that all comments are made by verified users who have acknowledged the community standards.

lib/screens/anime/widgets/comments · high confidence

The application now supports dynamic configuration for social media invites and the join dialog state via a new links.json file. Users will see the updated Discord and Telegram links defined in this configuration, and the join dialog is now enabled by default (showJoinDialog: true), ensuring new visitors are prompted to join the community upon first interaction.

_github\assets · high confidence

Fix for iOS/macOS full-screen entry and exit issues

This change resolves issues encountered when entering and exiting full-screen mode on iOS and macOS. The fix involves updating the Xcode configuration files (Debug.xcconfig and Release.xcconfig) to include the generated Pods configuration files, and adding the Pods project reference to the macOS workspace contents.xcworkspacedata, ensuring that CocoaPods dependencies are correctly linked and configured for these platforms.

ios/Flutter, macos/Runner.xcworkspace · high confidence

High-performance image rendering with native decoding and tiling

The manga reader now uses a custom, high-performance image view that replaces the previous standard Flutter image widgets. This new component leverages native C++ libraries via FFI to decode image regions in background isolates, significantly improving rendering speed and reducing memory usage. It features a tiling engine that loads only the visible parts of an image, supports complex coordinate transformations for correct display during rotation, and provides a controller for programmatic zooming, panning, and animation. This change directly addresses previous issues with image fitting and width multipliers, resulting in a smoother and more responsive reading experience.

_lib/widgets/subsampling\_scale\_image\view · high confidence

Launch screen background changed to black

The iOS launch screen (LaunchScreen.storyboard) now uses a black background instead of white. This change addresses a visual flash issue that occurred when the app was opened, ensuring a smoother transition from the launch screen to the main application interface.

ios/Runner/Base.lproj · high confidence

Library controller refactored to support Isar storage and unified library sorting

The library controller has been rewritten to integrate with the new Isar database models (OfflineMedia, CustomList) and manage library state including unified library toggles, custom list subscriptions, and grid size defaults. It introduces specific sorting logic for history views (defaulting to lastRead) versus general library views (defaulting to lastAdded), and handles the migration of grid size settings to an 'Auto' default.

lib/screens/library/controller · high confidence

Linux app renamed to AnymeX with improved window management and localization

The Linux application has been rebranded from 'aurora' to 'AnymeX', updating the binary name, application ID, and window titles. The app now handles command-line arguments and file opening requests, and prevents multiple instances by presenting the existing window instead of launching a new one. Additionally, the locale is set to 'C' for consistent behavior, and the build system was updated to correctly bundle JNI libraries and native assets.

linux · high confidence

Mac app renamed to anymex and CocoaPods integration added

The macOS application bundle has been renamed from 'aurora.app' to 'anymex.app', updating the product name across the Xcode project and schemes. Additionally, CocoaPods support has been integrated into the build process: the project now includes the Pods group, references Pods\_Runner and Pods\_RunnerTests frameworks, and adds build phases to check the Podfile lock and embed pods frameworks, ensuring dependency consistency during builds.

macos/Runner.xcodeproj · high confidence

Manga reader UI overhaul with new controls, settings, and visual effects

The manga reader interface has been completely redesigned with new widgets for navigation and configuration. A new bottom control bar now provides chapter navigation and a page slider, while a floating auto-scroll menu allows speed adjustment and toggling in continuous mode. A dedicated color filter settings page enables custom brightness, RGB/alpha tinting with 16 blend modes, grayscale, and color inversion. The reader view now supports display refresh flashes, chapter transition overlays, and a page actions dialog for saving, sharing, and copying image URLs across platforms.

lib/screens/manga/widgets/reader · high confidence

Migrate database storage to Isar and fix macOS iCloud sync crashes

The application has migrated its local data persistence from Hive to the Isar database engine, introducing new models for key-value storage, offline media, custom lists, daily activity, and media stats. To resolve crashes on macOS caused by iCloud syncing evicting database files to placeholders, the database directory is now stored in the app's private Application Support folder on macOS (while retaining the Documents directory on iOS and Android). The initialization logic also includes robust lock-file recovery and backup mechanisms to handle corrupted database states.

lib/database · high confidence

Migrate local database storage from Hive to Isar

The application's local data persistence layer has been migrated from Hive to the Isar database engine. This change introduces new Isar model definitions for core entities including media items, episodes, chapters, custom lists, and user statistics, replacing the previous Hive-based storage implementation to improve performance and data handling.

_lib/database/isar\models · high confidence

The app introduces two new visual styles for the large media carousel: a 'Classic' layout that displays a single full-width card with jumping dot indicators, and a 'Portrait' layout that shows multiple overlapping poster cards with dynamic sizing based on screen width. Both themes share a common base implementation that handles swipe navigation, keyboard controls, and a new description bottom sheet that cleanly strips HTML tags and handles empty states. These changes update the visual presentation of featured media without altering the underlying data sources.

lib/widgets/common/carousel/themes · high confidence

New Media Details Controller Implementation

The application now uses a dedicated \MediaDetailsController\ to manage the state and logic for the anime/manga details screen. This controller centralizes handling for episode and chapter lists, scanlator filtering, offline storage synchronization, AniList integration, and source mapping, replacing the previous fragmented logic.

lib/screens/anime/details/controller · high confidence

New abstract video player interface and MediaKit implementation

The video player module now uses a new \BasePlayer\ abstract interface that defines the contract for player state, track management, and controls (such as subtitle delay, audio channel layout, and video fit). A concrete \MediaKitPlayer\ implementation has been added, integrating the MediaKit library to handle playback with configurable video outputs, hardware decoding, and MPV-specific optimizations. A commented-out \BetterPlayerImpl\ is also present, indicating a shift in the underlying player engine.

lib/screens/anime/watch/player · high confidence

New download management UI and manga support

The Downloads section has been redesigned with new widgets for managing active downloads, viewing downloaded media, and initiating downloads. Users can now download manga chapters in addition to anime episodes, with a dedicated confirmation sheet for manga. The active downloads view displays unified progress cards for both media types, while the downloaded media view allows browsing, deleting, and resuming playback or reading of offline content. A new server selector widget handles quality selection and permission checks before starting downloads, and a tracking sheet lets users link downloaded media to external services to update metadata.

lib/screens/downloads/widgets · high confidence

New home page layout and consolidated other features screen

The application introduces a new home page that displays a horizontal list of new episode release cards, with the insertion point of these cards dynamically adjusted based on the active service type (e.g., Simkl vs. Extensions). Additionally, a new 'Other Features' screen has been added to centralize access to the Calendar, AI Picks (for both anime and manga), and List Exporter tools, replacing previous scattered navigation paths.

lib/screens · high confidence

New image cache management and storage service

Added a new \StorageManagerService\ and \AnymeXCacheManager\ to handle image caching and storage limits. The cache manager now uses a dedicated directory structure with a 30-day stale period and a 5,000 object limit, replacing the previous legacy cache keys. The storage service provides functionality to calculate cache sizes (image, torrent, snapshots, and other temp files), clear specific cache types, and enforce a configurable image cache threshold (default 5GB, clamped between 0.5GB and 20GB) to prevent excessive disk usage.

lib/controllers/services/storage · high confidence

New media mode controller and comprehensive theme management system

The application introduces a new MediaModeController that manages and displays separate, sorted history lists for anime, manga, and novels, ensuring the 'continue watching/reading' bar reflects the correct media type. Additionally, a new ThemeProvider replaces the previous styling logic, enabling full light mode support, custom seed colors, Material You dynamic theming, and OLED-specific color adjustments, allowing users to switch between default, system, and custom theme modes with persistent settings.

lib/controllers · high confidence

New player settings model with expanded customization options

The player settings data model has been replaced with a new \PlayerSettings\ class that introduces a wide range of new user-configurable options. Users can now adjust subtitle appearance (font, color, outline, opacity, bottom margin, and transition effects), control playback behavior (auto-skip for OP/ED/recap/filler, hold-to-seek, slide-to-seek, and screenshot toggles), and configure hardware acceleration (hardware decoder, video output, and audio output). The model also includes settings for media session integration, player menu animations, and preferred subtitle language, providing granular control over the viewing experience.

lib/models/player · high confidence

New search filter UI and per-service search history

The search interface now features a revamped filter sheet with a futuristic, animated selection style for options, supporting detailed configuration for Anilist (anime and manga) and MyAnimeList (including tags, genres, and status filters). Additionally, a new inline search history widget displays recent search terms for each service, allowing users to quickly re-select previous queries or clear the history, with data persisted separately for anime and manga contexts.

lib/screens/search/widgets · high confidence

New settings controller with display mode and bridge mode defaults

The application introduces a new \Settings\ controller in \lib/controllers/settings\ that centralizes configuration management. This change adds support for Android display refresh rate settings, allowing users to select preferred display modes via \FlutterDisplayMode\. It also establishes 'sidecar' as the default bridge mode for extensions, overriding previous defaults. Additionally, the controller initializes UI multipliers for radius, glow, roundness, and blur, and sets up logging file paths and download concurrency settings.

lib/controllers/settings · high confidence

New unified settings page with search and categorized navigation

The application now features a completely revamped Settings interface that replaces the previous layout with a categorized, scrollable list of options. This new page includes a dedicated search function, allowing users to quickly locate specific settings by keyword. The settings are organized into logical sections such as 'Accounts & Sync' (covering MyAnimeList, Anilist, Simkl, and Discord RPC) and 'Preferences & System' (including Common settings, Backup & Restore, and Storage Manager). This change improves discoverability and navigation within the app's configuration options.

lib/screens/settings · high confidence

Redesigned anime and manga details page with new navigation and stats

The anime and manga details screens have been replaced with a new \MediaDetailsPage\ that features a bottom navigation bar with Info, Watch/Read, and Comments tabs, along with a new media stats section and improved UX for the continue button.

lib/screens/anime/details · high confidence

Redesigned anime details page with new character, stats, and action widgets

The anime details screen has been visually revamped to include dedicated widgets for displaying character and voice actor information, quick list actions, and detailed media statistics. Users can now view a horizontal list of characters with their roles, favorite counts, and associated voice actors, alongside quick-access buttons to add media to tracking lists or custom lists. The stats section provides a comprehensive view including progress, airing countdowns, synopsis, genres, tags, alternative titles, and social data, replacing the previous layout with a more structured and information-rich presentation.

lib/screens/anime/details/widgets · high confidence

Redesigned extension management interface with unified source support

The extension screen has been completely revamped to support a unified extension runtime bridge, allowing users to manage sources from multiple platforms including Aniyomi, Cloudstream, Sora, and Kotatsu. The new interface features a redesigned list view with drag-and-drop reordering, improved filtering by language and source type, and a dedicated settings page for repository management. Users can now install, update, and uninstall extensions with better visual feedback, including badges for available updates and loading states, while the UI has been optimized for both mobile and desktop layouts with a new header and tab system.

lib/screens/extensions · high confidence

Redesigned header with legacy mode toggle and desktop layout support

The app header has been completely revamped to support a new modern UI, including a floating design for desktop widths and a toggleable legacy mode for users who prefer the previous look. The header now dynamically adapts its content based on the current page type (home, library, history, stats, etc.), displaying specific titles and action buttons like search and sort where appropriate. This change also introduces a new \Header\ widget class that replaces the previous implementation, providing a more flexible and consistent header experience across the application.

lib/widgets/header · high confidence

Redesigned player controls with skip-intro support and Watchium integration

The anime watch player UI has been restructured into distinct top, center, and bottom control layers. The bottom bar now features a dedicated skip-intro/outro button with a visual countdown progress indicator, while the center controls display playback navigation (previous/next episode, play/pause) and, on desktop, 30-second skip buttons. The top controls show episode metadata and include an unlock button when the player is locked. These controls are fully integrated with the Watchium service, disabling navigation and playback actions for followers in a shared room to ensure synchronized viewing.

lib/screens/anime/watch/controls · high confidence

Redesigned profile page with new AniList-compatible widgets

The profile page UI has been rebuilt using a new set of dedicated widgets in the profile widgets directory, introducing a modern, responsive layout that aligns with AniList's design language. Key additions include a collapsible About section, a scrollable Activity Heatmap for tracking engagement, and a Favorites section that displays carousels for anime, manga, characters, staff, and studios. The profile header now features a full-screen banner viewer and a donator badge, while the stats area offers a detailed breakdown with sub-tabs for overview, genres, tags, staff, voice actors, and studios, along with metric toggles for count, time, and score. Social interactions are handled by a new Social Tab with paginated following and followers lists, and list status cards now provide direct navigation to filtered anime and manga lists.

lib/screens/profile/widgets · high confidence

Redesigned video player controls and settings panes

The player interface has been completely revamped with new, animated UI components for managing playback. Users now have access to a dedicated Audio Settings pane that distinguishes between source (external) and inbuilt audio tracks, and a Quality Settings pane for switching between servers and embedded video qualities. The experience is enhanced by a new Dynamic Bottom Sheet for selections, a redesigned progress slider with Aniskip integration for skipping openings and recaps, and a Decoder Quick Button for toggling hardware decoding modes. Additional visual updates include a new buffering overlay, a shader OSD for displaying active filters, and improved double-tap seek behavior with hold-to-speed functionality.

lib/screens/anime/watch/controls/widgets · high confidence

Revamped anime details and continue-watching UI with new header and card components

The anime details page and continue-watching list have been visually updated with new components. The \MediaHeader\ widget now displays a blurred, gradient-covered background with a poster, title, and studio/creator metadata, and includes a tap-to-open visuals popup and long-press-to-copy title. The \ContinueWatchingCard\ widget provides a redesigned card for history items, featuring a 16:9 cover image, a play button overlay, a marquee title badge, a progress bar, and an optional remove button. A \GradientPoster\ type alias has been added to simplify imports for the new header.

lib/widgets/anime · high confidence

Simkl integration refactored with dedicated API client and calendar support

The Simkl service layer has been restructured to use a dedicated \SimklApi\ class for handling network requests, replacing the previous monolithic implementation. This change introduces a new \calendar\_data.dart\ module that fetches and deduplicates Simkl release schedules for both movies and TV shows, enabling the Simkl Calendar feature. The service now explicitly handles fetching detailed media information, including TMDb cast and crew credits, as well as user-specific data like stats, settings, and sync lists, providing a more robust and modular foundation for Simkl features.

lib/controllers/services/simkl · high confidence

Unified card style system with multiple visual themes

The media card UI has been refactored into a unified, pluggable style system that applies consistent visual themes across the entire app. A new registry and gate component (\MediaCardGate\) now manages card rendering, supporting five distinct built-in styles: Default, Saikou, Exotic, Minimal Exotic, and Modern. Each style defines its own layout, dimensions, and aspect ratios for both mobile and desktop views, allowing users to switch the appearance of library, carousel, and search results cards globally via the settings.

lib/widgets/common/cards · high confidence

Unified service handler with extension support

The service handler has been refactored to act as a central dispatcher for multiple tracking services (AniList, MAL, Simkl) and now includes support for Cloudstream-style extensions. This change introduces a new parameter structure for search and list updates and allows the application to dynamically switch between online tracking services and local extension sources, with specific logic to handle profile and login states when extensions are active.

_lib/controllers/service\handler · high confidence

Web application rebranded from Aurora to AnymeX

The web application's display name and title have been updated from 'aurora' to 'AnymeX'. This change affects the browser tab title, the PWA (Progressive Web App) name shown on home screens, and the iOS status bar title, ensuring the user interface reflects the new application identity.

web · high confidence

iOS app bundle identifier and asset symbol configuration updated

The iOS project configuration has been updated to change the bundle identifier from com.example.aurora to com.ryan.anymex across the main target and test targets. Additionally, the ASSETCATALOG\_COMPILER\_GENERATE\_SWIFT\_ASSET\_SYMBOL\_EXTENSIONS setting has been changed from YES to AppIcon, affecting how asset symbols are generated for the app icon.

ios/Runner.xcodeproj · high confidence

iOS app renamed to AnymeX with deep linking and video thumbnail support

The iOS application has been rebranded from Aurora to AnymeX, reflected in the bundle display name and identifier. This update enables the Impeller rendering engine to improve graphics performance and adds support for deep linking via multiple URL schemes (including anymex, sugoireads, and others) to allow the app to handle external links. Additionally, the app now includes native capabilities to extract video thumbnails for local and downloaded media, and requests photo library permissions to support backup and restore features.

ios/Runner · high confidence

The macOS app now handles universal links (deep links) via the app\_links plugin, allowing it to open content from external apps and browsers. To support this and other runtime requirements, the app has disabled the macOS sandbox (affecting both debug and release builds) and raised the minimum deployment target to macOS 12.0. Additionally, network client permissions and arbitrary load allowances have been enabled to ensure proper connectivity.

macos/Runner · high confidence

Fixes

Fix crash during downloads caused by Rust thread spawning

Resolves a crash that occurred when downloading files, which was triggered by the spawning of a second Rust thread. This fix ensures stable download operations within the rhttp package.

packages/rhttp · medium confidence

Migrated HTTP client to rhttp with DoH DNS and new interceptors

The network layer has been rebuilt to use the rhttp library instead of the previous HTTP implementation. This introduces a new cookie management system that persists and filters cookies for session and domain matching, and adds DNS-over-HTTPS (DoH) resolution with fallback to standard DNS for improved reliability and privacy. A new Anilist-specific interceptor ensures correct Origin and Referer headers for that service, while a log interceptor now tracks request timing and detects Cloudflare protection challenges to prompt users for a browser-based bypass. These changes are implemented via new files in the network controller directory (anilist\_interceptor, cookie\_manager, dns\_manager, log\_interceptor, and network\_manager).

lib/controllers/network · high confidence

New offline storage controller with database integrity fixes

The offline storage controller has been implemented to manage local media libraries for anime, manga, and novels using the Isar database. This change introduces automatic cleanup of duplicate offline media records upon initialization and adds database repair logic to handle corruption errors (such as RangeError or deserialize issues) by removing corrupted entries or clearing the table if necessary.

lib/controllers/offline · high confidence

Dependencies

App rebranded to AnymeX with Firebase integration and dependency updates

The application has been rebranded from 'Aurora' to 'AnymeX', reflected in the updated package name, application ID, and namespace in the Android build configuration. Firebase services (Core, Analytics, Messaging) have been integrated, requiring the addition of the Google Services Gradle plugin and corresponding Flutter dependencies. The Android build environment has been upgraded to compile SDK 36, Android Gradle Plugin 8.10.0, and Kotlin 2.2.0, with ProGuard and resource shrinking enabled for release builds. Additionally, the \rhttp\ package has been added as a local dependency, and the \pubspec.yaml\ has been significantly expanded with numerous new dependencies and overrides.

(dependencies) · high confidence

Expanded macOS plugin support and CocoaPods integration

The macOS build now integrates a significantly larger set of Flutter plugins, including Firebase services (Analytics, Messaging), media handling (Just Audio, Media Kit, Video Player), system utilities (Device Info, Screen Brightness, Window Manager), and content features (File Picker, Share Plus, In-App WebView). This expansion is enabled by linking the CocoaPods support files in the debug and release configurations and registering the new plugins in the generated registrant, allowing the application to utilize these native capabilities on macOS.

macos/Flutter · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 44.

Lenses

  • Code Health 74
  • Architecture 94
  • Maturity 37
  • Readiness 36
  • Security 44
  • Domain Modelling 100

Changes since last survey

  • 300 commits — 155 feature/other, 145 fixes

By area

  • lib/screens — 130 commits
  • lib/widgets — 35 commits
  • lib/controllers — 32 commits
  • (root) — 31 commits
  • (repo) — 8 commits
  • .github/workflows — 8 commits
  • lib/database — 7 commits
  • android/app — 6 commits
  • lib/utils — 6 commits
  • repo/source.json — 6 commits
  • chocolatey/anymex.nuspec — 5 commits
  • fastlane/metadata — 5 commits
  • github_assets/links.json — 4 commits
  • lib/main.dart — 4 commits
  • lib/models — 4 commits
  • android/.kotlin — 2 commits
  • assets/images — 1 commit
  • lib/constants — 1 commit
  • lib/mixins — 1 commit
  • lib/services — 1 commit

Notable commits

  • fix: Fix(reader): Resolve Novel Reader TTS sync and keep screen on (#509)
  • fix: build: fixed build error
  • fix: build: fixed build errors
  • fix: build: fixed linux and windows
  • fix: build: fixed linux build error
  • fix: build: fixed windows libtorrent error
  • fix: build: linux fix webview
  • fix: chore: dart fix applied on project to remove warnings
  • fix: dark grey screen on startup fixed
  • fix: fix(beta): fixed beta update not showing up as sheet
  • fix: fix(macos): keep the database out of iCloud-synced Documents (#554)
  • fix: fix(reader): fixed wrong page numbers, noised chapter nums
  • fix: fix: added missing buttons on ios theme
  • fix: fix: app not closing on last page
  • fix: fix: centralized chapter calc logic to fix navigate by number for overscroll
  • fix: fix: changed media session to a toggle based feature since its pretty glitchy
  • fix: fix: cloudstream settings fix
  • fix: fix: filters fallback for anilist
  • fix: fix: fixed '?' for oneshot manga progress
  • fix: fix: fixed .ts segments showing up in gallery
  • …and 280 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

RyanYuuki/AnymeX was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 12f79048388543e47c8442c6ac03c6682e91f5cd — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.