A personal anime library manager for watching and tracking your collection in real time. Lightweight, powerful, and paws-itively fast. No waiting required!
A pure JS BitTorrent streaming environment, with a built-in list manager.
Imagine qBit + Taiga + MPV, all in a single package, but streamed real-time.
Completely ad free with no tracking/data collection.
Unlike qBit's sequential approach, seeking into data that hasn't been downloaded yet will prioritise downloading that data, instead of simply closing MPV.
Changes to your list (e.g. progress and favourite changes) will now be tracked while offline and sync to AniList/MyAnimeList when the connection is restored.
Fixes a race condition where changes to your list during a user lists fetch could become stale for very large user lists.
User lists are now automatically fetched when the network or api comes back online.
feat: player title position toggle (#134)
Adds a toggle to the player settings to change the title overlay location from the top left to the bottom left.
feat: spoiler control settings
Adds a configurable spoiler control system that hides episode and series content based on watch progress. Users can choose from five protection levels (Minimal, Moderate, Strict, Hermit) and define which list status types the control applies to.
This is set to off by default, which will result in all episode cards showing their images regardless of watch progress. You can set it to Minimal and add your preferred list statuses to return to the previous spoiler behavior.
feat: video cover toggle
Adds a toggle in the player dropdown to enable or disable filling the video to the full width.
The toggle and its keybind now persist across restarts.
feat: respect extension enabled state in worker lifecycle
Extensions that are disabled no longer load or validate their workers on startup or network recovery. Toggling an extension off terminates its worker immediately, and toggling it on loads and validates it on demand.
feat: extension custom settings
Extensions can now declare custom settings in their manifest. Values are persisted alongside the enabled state and passed to the worker on load and on change.
feat: more extension options
Now directly passes the season, beforeSeason, afterSeason, absoluteEpisode, beforeEpisode, and afterEpisode values.
feat: FileManager plugin
Replaced the WebView-based NativeBridge with a single unified Capacitor plugin handling all files access permission and folder picking.
feat: separate android debug/release app variant
fix: back/forward state after modal navigation
Fixed the forward button incorrectly graying out after pressing the back button to reopen a modal.
Fixed navigating back twice after closing a modal, returning to the wrong page instead of the modal.
fix: visible progress in anime details
Fixes the indicated watch progress when audio labels are enabled, not reactively updating when changing the progress via the list editor.
Switches to using capacitors new built-in StatusBars plugin.
Fixes status bar overlaying on older Android devices.
fix: continue watching preferred dubs
Fixes series not properly hiding when prefer dubs is set to true from the continue watching section due to the release being a multi-header.
fix: watch together playback
Playback is now slightly more stable.
The lobby host now controls the loaded torrent for all peers.
Peers are rejected on version mismatch with a toast indicating whether the host or connecting peer needs updating. Versioning allows future protocol changes without breaking existing sessions.
fix: prevent status bar transition on orientation change
Disabled the status bar transition during orientation changes on Android to prevent the bar from slowly resizing when rotating the device.
fix: prevent list mutation race conditions
Entry updates and deletions are now chained to prevent race conditions and ensure errors are surfaced correctly.
fix: instant progress updates
Episode progress in anime details now updates immediately after watching, instead of waiting for the user list to finish refreshing.
fix: throttle outage checking
fix: handling episode range
Fixes episode card batches showing the proper episode range.
fix: resolving Hikuidori
Fixes resolving Hikuidori when release groups use the MyAnimeList titles.
fix: webpack-dev-server connection
fix: search page preview cards on small screens
fix: updating source repositories
chore: improve android splash screen and colors
The transition when starting the app is now a lot smoother and implements proper theme colors.
Capacitor v8 now handles this natively, utilizing proper inset padding.
chore(temp): enable watch together toggle
Adds a toggle to enable Watch Together in the app settings, which will be disabled by default.
This is a temporary setting while Watch Together is in an experimental state.
chore: improve resolving series while offline
RSS feeds will now attempt to resolve while the AniList API is down or if you are offline.
chore: separate network debug
Adds "Network" as a debug option.
chore: rework notifications modal
Improves notification reliability and fixes a bug where watched episodes were not always being marked as read correctly.
chore: scale audio labels with card size
Audio labels are now scaled down proportionally when the card shrinks below its natural size, preventing labels from looking oversized on smaller cards.
chore: disable extensions by default
Adding new extension sources will no longer automatically enable the extensions.
chore: improve episode skeleton card
chore: clamp external player duration
chore: keep highest accuracy extension results
chore: enforce extension type
chore: increase the number of displayed season years