A simple Media Hub
Find a file
neerajlovecyber 87dfe99c21 fix: reuse loaded streams when Next Episode tapped during autoplay countdown
When the autoplay job has already located a stream for the next episode
and the countdown (3-2-1) is running, tapping the Next button cancels
the countdown coroutine and relaunches the full stream search from
scratch. This causes a visible 'Searching...' flicker and unnecessary
re-fetching of streams that were already found.

Fix: in playNextEpisode(), check episodeStreamsState for already-loaded
streams before starting a new search. If streams are present, cancel
the running job and immediately play the first one. Falls back to the
full search path only when no streams are yet available.
2026-07-23 21:17:58 +05:30
.github fix: harden issue triage automation 2026-07-15 15:36:32 +05:30
androidApp fix: disable predictive back on Android 2026-07-15 15:39:20 +05:30
composeApp fix: reuse loaded streams when Next Episode tapped during autoplay countdown 2026-07-23 21:17:58 +05:30
Docs/Stremio addons refer kmp init 2026-03-04 09:00:00 +05:30
enginefs@9f11922ae0 bump version 2026-07-13 00:04:12 +05:30
gradle feat: migrate navigation to Nav3 and native iOS 2026-07-10 14:58:49 +05:30
iosApp bump version 2026-07-14 16:50:17 +05:30
libass-android@c10b71ab8b fix: update addon fetch timeout 2026-04-10 20:09:45 +05:30
MPVKit@d5cf091c80 Update MPVKit for AudioUnit crash guard 2026-07-09 16:55:02 +05:30
scripts bump build memory, run-mobile device fallback 2026-07-09 11:59:11 +05:30
stremiotorrernt/public bump version 2026-07-13 00:04:12 +05:30
vendor ref(player) : into smaller chunks 2026-06-06 23:04:22 +05:30
.gitignore feat: add zoom overlay 2026-07-10 21:08:10 +05:30
.gitmodules Use Nuvio MPVKit submodule branch 2026-06-09 02:04:11 +05:30
build.gradle.kts feat: sentry diagnostics 2026-07-04 14:29:45 +05:30
CONTRIBUTING.md update CONTRIBUTING.md 2026-05-13 18:38:21 +05:30
gradle.properties bump build memory, run-mobile device fallback 2026-07-09 11:59:11 +05:30
gradlew kmp init 2026-03-04 09:00:00 +05:30
gradlew.bat kmp init 2026-03-04 09:00:00 +05:30
LICENSE update readme 2026-04-19 00:35:34 +05:30
README.md revert readme 2026-06-11 13:09:56 +05:30
settings.gradle.kts update dependencies. 2026-06-19 16:18:32 +05:30
Strings HR.xml.txt Update Strings HR.xml.txt 2026-07-08 15:36:57 +02:00

Nuvio

Contributors Forks Stargazers Issues License

A modern media hub for Android and iOS built with Kotlin Multiplatform and Compose Multiplatform.
Stremio addon ecosystem • Cross-platform

About

Nuvio is the current Kotlin Multiplatform rewrite of the original React Native app. It delivers a shared Compose UI for Android and iOS while keeping the playback-focused experience, collection tools, watch progress flows, downloads, and Stremio addon ecosystem integration that shaped the earlier app.

The mobile app is built from a single shared codebase in composeApp, with native platform entry points for Android and iOS.

Installation

Android

Download the latest Android build from GitHub Releases.

iOS

Development

git clone https://github.com/NuvioMedia/NuvioMobile.git
cd NuvioMobile
./scripts/run-mobile.sh android
# or
./scripts/run-mobile.sh ios

Project Structure

  • composeApp/ contains the shared Kotlin Multiplatform and Compose Multiplatform app code.
  • composeApp/src/commonMain/ contains shared UI, features, repositories, and platform-agnostic logic.
  • composeApp/src/androidMain/ contains Android-specific integrations.
  • composeApp/src/iosMain/ contains iOS-specific integrations.
  • iosApp/ contains the native Xcode project and iOS entry point.

Useful commands:

./gradlew :composeApp:assembleDebug
./gradlew :composeApp:compileKotlinIosSimulatorArm64
./scripts/build-distribution.sh

Versioning is driven from iosApp/Configuration/Version.xcconfig, which is used as the shared source of truth for both iOS and Android builds.

Nuvio functions solely as a client-side interface for browsing metadata and playing media provided by user-installed extensions and/or user-provided sources. It is intended for content the user owns or is otherwise authorized to access.

Nuvio is not affiliated with any third-party extensions, catalogs, sources, or content providers. It does not host, store, or distribute any media content.

For comprehensive legal information, including our full disclaimer, third-party extension policy, and DMCA/Copyright information, please visit our Legal & Disclaimer Page.

Built With

  • Kotlin Multiplatform
  • Compose Multiplatform
  • Kotlin
  • AndroidX Media3
  • AVFoundation and native iOS integrations

Star History

Star History Chart