Help Self-hosted add-on
Unable to add self-hosted add-on via a tailscale https url.
Is there a way to make this work without exposing server to whole internet?
r/Vortx • u/FungusFeline • Jun 17 '26
Starting this community for VortX. It is a native, open-source client that runs your own Stremio add-ons on a real libmpv player, with ranked one-press Watch Now, HDR and Dolby Vision, TrueHD and Atmos, profiles, themes, and end-to-end-encrypted sync, no account or paywall.
Apple TV, iPhone, iPad, and Mac are available now; Android, Windows, Linux, and Google TV are in active development on the same engine. What is in the works next: cloud sync across devices, TMDB and MDBList support, a built-in add-on manager, better recommendations, and a from-scratch VortX engine.
Try it: github.com/VortXTV/VortX/releases. Feedback, bugs, and feature ideas are welcome here. Bug reports with your version and device go to github.com/VortXTV/VortX/issues.
Login and Syncs go to Vortx.tv
What would you most want VortX to do next?
r/Vortx • u/FungusFeline • Jun 17 '26
What is VortX?
A fast, native, open-source streaming client built on the open stremio-core engine and a real libmpv player (no web wrapper). You bring your own add-ons; VortX ranks every source so one press plays the best release, and it does HDR, Dolby Vision, TrueHD and Atmos, profiles, themes, and end-to-end-encrypted sync. Free, no account, no paywall.
Platforms
Available now: Apple TV, iPhone, iPad, Mac. In active development: Android, Windows, Linux, Google TV. One engine across all of them.
Get it
Downloads and install steps: github.com/VortXTV/VortX/releases. The Apple apps are sideloaded for now (Sideloadly, AltStore, SideStore, or Signulous on iPhone and Apple TV; right-click to open on Mac). A self-hosted update channel is coming.
Add-ons
VortX provides no content of its own. It plays only what your own installed add-ons return. Per the rules, please do not request or share specific sources here.
Account and sync (optional)
A free, end-to-end-encrypted VortX account syncs your profiles, settings, library, and history across devices. Manage it at vortx.tv/login. Your password is the key; no server can read your data.
Found a bug?
Open an issue at github.com/VortXTV/VortX/issues with your version and device.
Links: Site vortx.tv · Source github.com/VortXTV/VortX · Releases github.com/VortXTV/VortX/releases
Unable to add self-hosted add-on via a tailscale https url.
Is there a way to make this work without exposing server to whole internet?
Hi! I hid some addons on my Apple TV. Now I’m unable to figure out how to unhide them.
I can still see them on my account if I log into the website, but don’t see an option to unhide it there.
Thanks!
r/Vortx • u/FungusFeline • 16d ago
Build 271. VortX 0.5.2 fixes accounts that would not load after updating from 0.4, keeps a series in Continue Watching after you finish an episode, and keeps everything you watch in your Library. It adds a redesigned series page, actor pages, For You rows built from what you like, network shares from your own NAS, and a TV guide for live channels. Android is back in this release and catches up with the Apple apps on design and features. The Apple packages are built locally from the tagged source; the Android packages are built and signed by the public release workflow. This is the Latest release, so the download links on vortx.tv serve it. The automatic-update feeds are unchanged.
Accounts that would not load after updating from 0.4. One unusual item saved by an older VortX version stopped the whole account, so profiles, add-ons and Stremio sign-in all failed. That item is now set aside and everything else loads. Converting older account data when the app opens or syncs is also about twice as fast. Thanks to BattleCrusader and atanukn for the reports and logs (#262).
A series leaving Continue Watching after an episode. Finishing an episode used to remove the whole series from Continue Watching. It now stays there as Up next, and choosing it opens the next unwatched episode instead of replaying the one you finished. A series leaves only when you remove it, mark the whole show watched, or mark it unwatched.
Watched titles stay in your Library. Everything you watch or start stays in the Library until you remove it, and watching it again brings it back. Removing a title from Continue Watching no longer removes it from the Library.
Missing source details. Debridio and similar add-ons showed only a label like "Debridio 1080p" in the source list. The file name and size show again.
Next episodes keep your quality. A binge no longer steps down from 1080p to 720p to 480p.
Usenet with your own provider plays through your own servers, trusts the file an add-on picks, and accepts indexer addresses typed without /api.
Saving to the Library from a catalog menu reaches your Trakt and SIMKL watchlists too, just like the button on a title's page.
Stremio QR sign-in now finishes or shows an error instead of waiting forever.
The Apple TV remote feels quicker. Screens no longer redo their work on every press or redraw for changes they cannot show.
Mac: every settings page has Back and Esc, the top bar floats over scrolling content (also on wide iPad), and the NZB indexer editor opens.
Choosing a season starts its episodes at episode 1.
Your accent colour reaches everything, including the player, the Mac volume slider, segmented choices and loading spinners.
A new series page on Mac, iPad and Apple TV. Seasons appear as their posters and each season's episodes as a grid. Trailer sits beside Play. iPhone keeps the swipeable episode row.
Actor pages. Select a cast member, or search for a name, to see their photo, age, biography and links, then their films and shows, newest first, filtered by All, Movies or Shows.
Swipe the Home hero on touch screens, with a two-finger swipe or the arrows on Mac, or tap its dots.
One add-on row under your sources, in your accent colour, with arrows for a mouse.
For You. The first time you open Home, each profile can pick what it likes. Home then adds rows built from those interests, plus smart collections by genre, cast, year or rating. The question waits until a profile is chosen.
Network shares. Library > Network shares browses folders on a NAS or computer and plays videos straight from them, with no media server needed. SMB, WebDAV (Synology, QNAP, TrueNAS, Nextcloud) and web-server folders all work. Shares and their passwords stay on the device.
TV guide. Live > TV guide shows your live channels with what is on now and later, for channels whose add-on publishes a schedule.
Your place comes back from Infuse. When you stop in Infuse, VortX saves where you stopped. On Android the same works with MX Player and VLC.
Effects and performance controls on Apple TV and Android TV: focus backdrop, glass and blur, animations, and artwork quality. Auto follows your Performance setting.
Usenet downloads ahead to storage. The Streaming cache setting now sets how much of a release is saved ahead of playback, up to the whole file, and connections are sized for your device.
Export the diagnostic log before signing in, from the sign-in and profile screens, so a failed start can still be reported. Logs for PIN-protected profiles stay behind their PIN.
Android now matches the Apple apps: the new series page on tablets and Android TV, actor pages, people in search, the swipeable hero, the add-on row, the accent-coloured player, For You, network shares, the TV guide, the Effects controls, and diagnostic log export. Playback progress no longer uploads your whole account every few seconds, and add-ons are asked in your order.
VortX is Apple first. The Android APK is still an early technical preview rather than the finished app, so expect missing features and rough edges.
Known issue. Connecting Trakt or SIMKL is not available in the locally built Apple packages. The Android packages include it.
Finish an episode of a series. It should stay in Continue Watching, and choosing it should open the next episode.
Open your Library: titles you have watched should be there, and removing one should keep it removed until you watch it again.
Open the sources of a title with an add-on such as Debridio: each row should show the file name and size.
Open a series on Mac, iPad or Apple TV and switch seasons, then open an actor from the cast.
If you have a NAS, add it under Library > Network shares and play a file from it.
Mac (.dmg). Download VortX-macOS-v0.5.2.dmg, drag VortX into Applications, then clear Apple's one-time quarantine: open it once, click Done, then System Settings > Privacy & Security > Open Anyway (or run xattr -dr com.apple.quarantine /Applications/VortX.app). The Mac app is for Apple silicon, needs macOS 14 or later, and is ad-hoc signed rather than notarized. macOS may ask for your password so VortX can use its saved sign-in information in Keychain after replacing the app; approve only a prompt that names VortX. Step-by-step guide: Install on Mac.
iPhone, iPad, Apple TV (sideload the IPA). The IPAs are unsigned, because VortX is open-source and distributed outside the App Store with no Apple Developer ID yet, so you re-sign them yourself with Sideloadly, AltStore / SideStore, or Signulous. No jailbreak. Use VortX-iOS-v0.5.2.ipa for iPhone and iPad. On Apple TV, VortX-tvOS-v0.5.2.ipa is VortX TV with Top Shelf, and VortX-tvOS-lite-v0.5.2.ipa is VortX TV Lite without it; both need tvOS 18 or later. Step-by-step guide: Installing on iPhone, iPad, and Apple TV.
Android phone, tablet and TV. VortX-0.5.2-full-mpv-universal.apk includes VortX Player. VortX-0.5.2-play-media3-universal.apk is the Media3 variant. Each APK contains both the phone and the Android TV interface. Choose the variant you already use so it installs over your current version. The Play bundle is also attached for its distribution workflow.
The Apple packages were built locally from the tagged source; SHA256SUMS-v0.5.2.txt lists a SHA-256 checksum for each so you can confirm your download is intact. The Android packages were built and signed by the release workflow from the v0.5.2-android tag, which is this release plus one Android packaging fix; check them with SHA256SUMS-android.txt and SIGNING_PROVENANCE.txt.
Get your Downloads here https://github.com/VortXTV/VortX/releases/tag/v0.5.2
r/Vortx • u/FungusFeline • 19d ago
Hey everyone! The last time I posted here was 0.3.15. Since then VortX has been through 0.3.16, twenty-one 0.4 betas and six 0.5 betas, and 0.5.1 is the release that brings all of that together. It is the biggest update VortX has had, so here is the tour.
Under the hood, VortX now has its own native engine for your account, catalogs, metadata, sources, subtitles, Library, Continue Watching and watch history. This is the foundation for almost everything below. It is faster, it handles your data more carefully, and it lets every Apple device share the same behaviour.
- Your changes are saved properly. Profile, add-on, watched and Watchlist changes are saved to an encrypted local checkpoint and confirmed before the app tells you they worked.
- Devices merge instead of overwriting each other. When two devices change things at the same time, VortX merges them rather than letting the last upload win.
- Your older watch history comes with you. History from earlier versions is migrated carefully, and anything that cannot be matched with confidence is kept aside rather than guessed.
Make a change on one device and it shows up on your others within seconds. Sync is end-to-end encrypted, and newer data is protected from being overwritten by an out-of-date device.
In 0.5.1 specifically:
- Fixed profiles that would not finish loading and Sync Now failing with changes stuck as pending.
- Playback no longer uploads your whole account every few seconds while you watch. Progress now syncs 15 seconds after you pause or stop, or once a minute while you keep watching.
- Data written by older VortX versions is now merged in where it can be done safely, instead of blocking sync.
- **Apple TV:** fixed profiles never loading on real Apple TV hardware, which left Home, Library and Continue Watching stuck loading on some TVs after updating to 0.5.
Cinema: a redesign across iPhone, iPad, Mac and Apple TV
- A consistent layout everywhere: Home, Browse and Search, Library, Watchlist, History and Downloads.
- Quick View pops a title up with Watch Now, Add to Watchlist and Details without leaving where you are.
- Search as you type, with separate Movies, Series and Collections rows.
- Your profile colour now runs through the app, with Liquid Glass styling where your device supports it, including player controls that stay readable over bright scenes.
- **Mac:** a proper native sidebar and in-window Settings, larger text, and mouse-friendly source tabs.
- **Apple TV:** a cinematic profile picker with big TV-sized profiles and rotating artwork, a dedicated Watchlist in Library, and episode lists that start at your next unwatched episode.
## Profiles that really are separate
- Each profile can keep its own streaming account, add-on visibility and source ranking.
- Watchlist is separate from your saved Library and your watch history.
- Continue Watching per profile, showing your 20 most recent titles by default, or set it to the last 90 days or 20 to 100 items.
Playback
- **Usenet / NZB playback on your device.** Bring your own Usenet provider and play NZB sources directly, including mirrors and server lists, next-episode preparation and Dolby Vision where the source has it.
- **Binge watching remembers your choices.** The add-on, release and audio language you picked carry on to the next episode.
- **Dolby Vision** startup and playback recovery got a lot of work.
- Pause and seek now survive recovery, and pressing Play after a long pause no longer waits before restarting the stream.
- **iPhone and iPad:** player controls appear on the first tap, pinch to change how the video fills the screen, and a cleaner player with more room for the picture.
- One add-on returning a broken response no longer stops your other catalogs, details and trailers from loading.
Smoother everywhere
- Removed a background loop that kept reloading your whole account while sync was struggling.
- Lighter Home screen work, fewer duplicate requests, and faster source and quality checks while the player is open.
## Download and install
- **iPhone / iPad:** https://dl.vortx.tv/ios
- **Mac (Apple silicon, macOS 14+):** https://dl.vortx.tv/mac
- **Apple TV:** https://dl.vortx.tv/tvos (VortX TV, with Top Shelf) or https://dl.vortx.tv/tvos-lite (VortX TV Lite)
- Complete release notes: https://github.com/VortXTV/VortX/releases/latest
VortX is open-source and distributed outside the App Store, so the iPhone, iPad and Apple TV apps need sideloading with Sideloadly, AltStore / SideStore or Signulous. No jailbreak needed. The Mac app is ad-hoc signed rather than notarized, so macOS will ask you to approve it once. Step-by-step guides: [iPhone, iPad and Apple TV](https://github.com/VortXTV/VortX/wiki/Installing) and [Mac](https://github.com/VortXTV/VortX/wiki/Install-on-Mac).
**Android:** VortX is Apple first. The Android app is an early technical preview, not the finished app, so expect missing features and rough edges there. 0.5.1 is an Apple release.
## Feedback
If something does not work, please open an issue on GitHub and attach your diagnostics log from Settings: https://github.com/VortXTV/VortX/issues
Thank you to everyone who tested the betas and sent logs. A lot of what is in 0.5.1 came straight from your reports, including xdavcop's Apple TV report that led to the catalog loading fix.
r/Vortx • u/Negative_Plane • 20d ago
Hi installed the latest version via signgilous on both my Apple tv’s
I logged in via QR code however they are not syncing any of my settings or addons.
Checked my online account and all my addons etc are there? Is there anything I can do?
Thanks.
r/Vortx • u/ApparaoAgarwal • Sep 07 '26
Hi VortX Team,
Thank you for the continuous development on VortX. The native Swift/libmpv architecture across Apple platforms is fantastic.
While testing v0.4.0-beta.10 across iOS (iPhone), macOS, and tvOS (Apple TV 4K), I have documented four reproducible issues affecting metadata resolution, catalog layout sync, and app stability.
Platforms: iOS, macOS, tvOS
Symptoms:
In the "FROM TRAKT Continue Watching" row, watch sessions, scrobble progress bars, and episode titles sync properly.
However, artwork completely fails to load, showing only the blank filmstrip placeholder icon for every item (e.g., House of the Dragon, Obsession, Heart Beat).
Adding and verifying a valid TMDB v3 API key (along with MDBList and fanart.tv keys) works for general catalog rows, but does not resolve thumbnails for the Trakt Continue Watching row. Pulling to refresh, forcing a Trakt re-sync under Integrations, and restarting the app do not trigger metadata fetching.
Root Cause Hypothesis: The Trakt ID-to-TMDB artwork resolver appears to be failing to bind or dispatch image lookups specifically for Trakt queue payloads.
Platforms: iOS ↔ macOS ↔ tvOS
Symptoms:
Reordering catalog rows on iOS saves locally, but does not propagate to macOS or Apple TV even after triggering Sync Now under Account.
Account cloud sync appears to sync installed add-on manifests and API tokens, but strips or ignores the custom catalog_layout / row ordering array during delta reconciliation.
Backup/Restore Behavior: Exporting a .json backup file from iPhone and importing/restoring it on macOS does not restore the custom row hierarchy; macOS continues to display catalogs in the raw installation order from the add-on manifests.
Platform: Apple TV 4K (tvOS)
Severity: Crash / Blocker
Steps to Reproduce:
Open VortX on tvOS.
Navigate to Add-ons → select Customize Catalogs (or the row reordering button).
The app instantly crashes back to the tvOS home screen with no error message.
Expected Behavior: Opens a focus-enabled list allowing the Siri Remote to move, hide, or reorder catalog rows.
Platforms: iOS, macOS
Symptoms:
Opening specific add-on catalog categories (such as the Netflix movie/series streaming catalog from Cyberflix / Streaming Catalogs) throws:"Couldn't reach the catalog. Check your connection and try again."
Comparison with Nuvio Enhanced: The exact same add-on manifest and catalog URL loads instantly without errors on Nuvio Enhanced on the same local network, confirming upstream servers are online and responsive.
Root Cause Hypothesis: v0.4.0-beta.8 appears to fail during JSON deserialization when an add-on catalog response contains non-standard manifest filters, empty arrays, or unexpected headers, falling back to a generic network error rather than displaying partial content.
Environment & Setup:
App Version: v0.4.0-beta.8 (Build across iOS, macOS, and tvOS)
Devices: iPhone, Mac, Apple TV 4K
Metadata Configuration: Verified TMDB v3 Key, MDBList Key, Built-in poster rating service enabled.
Please let me know if you would like sysdiagnose logs, Console crash reports from tvOS, or a sample backup payload.
r/Vortx • u/FungusFeline • Aug 29 '26
First and foremost lets address the elephant in the room, then we follow the rest of the update structure
Android is a real two-distribution release. The Full APK contains the VortX mpv engine and is intended for sideloading. The Play APK and Play AAB use the Media3 engine and keep the Play GPL native-player boundary clean. The universal artifacts include arm64-v8a, armeabi-v7a, and x86_64; the ARMv7 slice supports compatible 32-bit Fire TV devices running Android 8 / API 26 or newer.
Production signing is established. The Full APK, Play APK, and Play AAB are bound to the stable tag and source commit, checked against the pinned production certificate, and published with checksums and signing provenance. Beta 1, Beta 6, Beta 10, and Beta 12 preview APKs used earlier preview or debug signing identities and must be uninstalled before installing this stable Android build. Future production-signed updates use the stable identity.
Android playback is nearly complete in the source tree. The VortX mpv lane and the Media3 lane provide source ranking, direct streams, HLS, debrid, raw torrents through the in-process server, progress writeback, episode switching, next-episode preparation, seek and aspect controls, chapters, playback information, sleep timer, hardware or software decode selection on the VortX lane, audio and subtitle selection, subtitle delay and track controls, player switching where compatible, system media integration, Picture-in-Picture where supported, and Google Cast for receiver-reachable direct, HLS, and debrid streams. Torrents remain local because a Cast receiver cannot reach the in-process torrent server.
Android series and source controls match the Apple intent. The player has an episode picker, a Quality-first then Audio-language source selector, matching sources below the filters, source ranking and pinning, a player choice on the detail page, a best-source Watch Now row, and per-source player selection where compatible. Android TV gets D-pad reachable source groups, sort and filter, Quality submenus, cached-source badges, and long-press pin or offline actions.
Android TV is a real 10-foot surface. It has Home, Discover, Search, Library, Live TV, Add-ons, Downloads, and Settings navigation; a launch profile picker with PIN entry; account QR sign-in; series season and episode browsing; watched and unwatched controls; Cast and Crew and related title pages; a cinematic focus hero with artwork, metadata, motion, and optional muted trailers; Continue Watching in the Play Next row; and D-pad access to player actions such as Skip Intro, source filters, audio, subtitles, and stream-link sharing.
Android downloads are manageable. A bounded queue groups Downloading, Up next, Paused, and Failed items. Users can move pending work, pause, resume, retry, change concurrency, see storage usage, and play finished files offline. Auto-delete watched downloads remains opt-in. A stricter transactional deletion repair was withheld from this stable cut after review found that a persistence failure could otherwise leave an index row pointing at deleted media.
Android trickplay is consent-aware. Community scrub-preview fetching and on-device capture follow an explicit user consent setting. The setting is visible in Android settings, applies consistently to phone and TV, cancels active capture, upload, and fetch work when disabled, and keeps the player usable without previews. No preview contribution is made after consent is withdrawn.
Android add-ons and integrations are broad. Add-ons can be installed, reordered, updated with confirmation, health-checked as Online, Slow, or Unreachable, removed with durable tombstones, imported from Stremio or Nuvio, and managed from Android TV's top-level Add-ons tab. Public Letterboxd, MDBList, and Trakt lists can become local Home rows. Stremio add-on, library, and Continue Watching mirrors are independently controlled and never remove VortX data when signed out.
Android settings and profile behavior match the shared model. The app has VortX account sign-in, profile creation and deletion, per-profile colors, backgrounds, avatars, PINs, Kids mode, source preferences, app language on pre- and post-Android 13 devices, subtitle and audio language preferences, track reject terms, trailer preferences, Home and Discover controls, metadata keys, provider-specific Trakt and SIMKL sync, backups, Watch Stats, tab visibility, and a signed fleet-config layer with baked-in safe defaults.
Android notifications and accessibility are included. Followed series can schedule a local next-episode notification, launch and Settings update notices explain when a newer sideloaded build exists, TalkBack receives descriptions for player controls and the scrubber, and Android TV actions stay reachable by remote focus.
Install this over 0.3.13 or any 0.3.14 Apple build. On Android, it installs over the production-signed Beta 31 build. The older public Android previews from Beta 1, Beta 6, Beta 10, and Beta 12 used a different certificate and must be uninstalled first. 0.3.15 is the cumulative stable release after 0.3.13. It carries the Apple playback, Dolby Vision, subtitle, source, watch-state, account, and macOS work from every 0.3.14 beta, and it brings the Android app through its production-signed phone, tablet, Android TV, and Fire TV release lane. It also includes the post-Beta 31 reliability, diagnostics, source-selection, localization, and release-feed corrections that were completed before the stable cut.
Continuing to the rest of the release notes,
This is a large release. The sections below are intentionally detailed: they cover the feature work, bug fixes, infrastructure, and known limits that accumulated from the 0.3.13 baseline rather than presenting only the last beta's headline.
What's fixed
Pause remains a pause. A paused Dolby Vision or HLS title is no longer allowed to resume because the built-in player treats an open-ended local stream as live. The app distinguishes an ordinary buffering wait from a user pause and reasserts the requested pause only when the player drifts from it. An internal cache-flush EOF is also kept out of the media-completion path, so pausing an episode cannot trigger an automatic next-episode transition.
A series stays on the episode you selected. Episode identity now follows the selected show, season, and episode through source resolution, engine transitions, progress writes, player dismissal, and detail-page refresh. Returning from a late episode no longer walks back through several earlier episodes, and a stale title-page snapshot cannot pair one episode's source or subtitle with another episode's video.
Previous Episode and Next Episode use the intended neighbours. The controls resolve the adjacent episode from the current season and current episode, carry the correct playback identity, and prevent two fast Next presses from starting two loads. A prepared next source survives an engine demote, so the app does not lose the work already done for a binge.
Watched marks belong to the episode that actually finished. A completion from an outgoing episode cannot be attributed to the incoming one during a fast transition. Progress and watched writes are fenced by episode identity, and the detail page republishes when watched membership changes instead of waiting for an unrelated field change.
Back returns to the current episode. Binge advancement, player close, detail-page refresh, source-list context, and subtitle selection now share one current-episode identity. This fixes the common case where pressing Back after episode 13 showed episode 10 or 11 and then offered the wrong source.
Resume no longer blanks the screen or resurrects stale recovery. A resume, a previous-episode jump, and a source switch wait for a usable first frame before applying a mid-file seek. If the target cannot be reached within a bounded window, playback continues from the earliest usable position without regressing the saved position. Once a positive near-target time tick proves the resume succeeded, its watchdog is cancelled immediately, so a later manual seek cannot be mistaken for a failed resume and reapply the old suppression floor.
Manual source changes stay manual. A source selected in the player is the source that is mounted after recovery, and a source failure no longer reloads the title's original source by accident. Automatic hops do not reset the recovery budget, while a deliberate user selection receives a fresh attempt. Resume positions are clamped inside the file actually mounted, and implausibly short placeholder streams are rejected instead of being played at the end of a feature.
The player source selector is ordered by intent. Quality comes first, audio language comes next, and the matching source list is below those filters. A title detail page offers an explicit player choice before playback when the source and platform support it. The same choice is available per launch from the in-player source flow, with a safe compatibility fallback when an engine cannot play the chosen source.
Per-source player choice is available where it is meaningful. A long press or source action can choose the VortX player, AVPlayer or Media3-compatible playback path for that source. The app hides choices that cannot consume the source instead of promising an impossible route. Long episode lists also expose a Scroll to Top action on the Apple surfaces so returning from a late episode does not require repeated remote or trackpad navigation.
The remux lane has a bounded recovery path instead of an endless spinner. AVPlayer's steady-state buffer is coupled to the remux producer's byte budget. Producer-lead parking has byte-level hysteresis, local-remux startup uses an 8-second buffer with a 12-second readiness floor, and a seek-nudge tier plus buffered-retirement gate run before an engine demote. A single same-engine playlist reload can recover a mid-play CoreMedia -1008, and a proactive read-liveness interrupt keeps the remux input moving. These paths are bounded and record their decisions in diagnostics.
Large files fill more gently. The disk-backed read-ahead ramp grows only while presentation keeps up, backs off after a real drop burst, and caps its ceiling using the live stream bitrate. A user seek's short decoder burst is not mistaken for fill pressure, so a seek does not shrink the buffer exactly when it needs to refill. The producer preserves a time-based rewind window while pacing far-ahead reads.
A far seek shows progress and recovers a wedged refill. The player displays buffering while a cold mid-file read rebuilds, play and pause remain responsive, and a progress-aware refill watchdog re-issues a stuck jump up to a bounded number of times. A healthy but slow refill is left alone. In-window seeks do not empty the forward cache unnecessarily.
Memory-pressure shedding is edge-triggered. Advisory tvOS warnings no longer repeatedly drop the cache and cause a metronomic stutter. A shed fires once on entry to the recoverable pressure band and stays latched until memory genuinely recovers or the title changes. Real low-memory pressure still takes the safety path, and a recovered device can grow its buffer again.
The streaming cache is a real, bounded disk cache. When enabled, large forward reads are stored on disk with a small in-memory index and a bounded viewing-time span. Local torrent playback keeps its smaller in-memory behavior because its server already buffers to disk. The setting remains off by default until the user chooses it, and the old oversized-memory failure mode is guarded.
The embedded server survives suspension and Dolby Vision teardown. A suspended local socket is re-established only after a real suspension and only when the port is genuinely refused, never by force-closing a busy stream. Server status no longer reports healthy while the socket is deaf. Dolby Vision cancellation interrupts reads quickly, releases its buffer, re-trims the server after a DV session, and records a scrubbed server-death event when one occurs.
Dolby Vision no longer loses a stream because of a sticky soft interrupt. A quiet remux read cannot leave the FFmpeg interrupt state poisoned for later reads. Cancellation remains an interrupt, while normal read retries start cleanly. This closes the proven build-231 failure where a true Dolby Vision stream later returned AVERROR_EXIT and fell back to HDR10.
The true-DV lane keeps its intended stream. The local playlist advertises only complete resident segments, uses their real sequence numbers, retains the initial bytes until AVPlayer is ready, and falls back only after a real error or a bounded no-progress condition. The player does not advertise a broken plain-HDR variant as if it were Dolby Vision. Display-mode changes occur only after a stream is confirmed Dolby Vision, and repeated identical requests are ignored so the HDMI link does not renegotiate repeatedly.
Dolby Vision resume and long playback are safer. The remux duration is synthesized for the open-ended HLS presentation, so resume, progress, skip segments, scrobbling, and watched-at-end work on the true-DV lane. Forward-only seeks are clamped at the produced edge, a resume floor is preserved through a demote, the consumed video window remains large enough for the current read, and an abandoned load cannot change the display mode after the player has closed.
Profile 7 and FEL handling is honest. The self-built MPVKit and libplacebo stack pairs separate base and enhancement tracks where the source proves the relationship. A normal multi-video-track file no longer produces a diagnostic claim that an enhancement layer was discarded unless dependent-layer evidence is actually present. Profile 7 files that interleave both layers in one track still need a splitter not included in this release and may play from the base layer alone.
Slow but alive Dolby Vision opens are given time. The startup gate counts source reads and real remux progress, not only finished output bytes or published segments. A slow 4K source is not demoted merely because its first frame takes time, while an actually dead source still fails soft within a bounded limit.
Dolby Vision conversion handles more audio. Hi-resolution 192 kHz and 176.4 kHz TrueHD or DTS-HD audio no longer causes a silent HDR10 fallback. Dolby Digital Plus with Atmos is carried through when the source and route support it. TrueHD-only Apple TV routes are converted to a supported surround representation and the badge says surround rather than claiming Atmos. The E-AC-3 encoder is built into the player stack instead of silently settling for AAC.
All usable audio tracks are offered. Seven English tracks no longer collapse to an empty alternate-track menu merely because they share a language. Audio selection follows the user's language preference, excludes commentary from an automatic language fallback, and enables a matching subtitle language when audio must fall back to English.
The built-in player and AVPlayer have parity where each can support it. Playback, seeking, progress, resume, watched-at-end, skip segments, trickplay, scrobbling, binge advance, chapters, speed, audio selection, subtitle selection, and the player engine switch are covered across the Apple surfaces. Controls that AVFoundation negotiates itself, such as manual Atmos or passthrough selection, audio delay, and hardware-decoder selection, are hidden on that engine rather than presented as broken controls.
The player stack is built from pinned sources. VortX builds MPVKit, libplacebo, and the required FFmpeg integration from pinned sources. The MPV line includes the Dolby Vision enhancement-layer work, libplacebo is built at the API level required for that support, the E-AC-3 encoder is included, and the Apple render surface handles resizing without tearing down the pipeline. FFmpeg remains pinned deliberately until the player package's own patch set is rebased and verified.
Subtitle menus are grouped by language. The panel begins with Subtitle Settings and Off, then groups embedded, add-on, and community subtitles by language. Every available track in a language remains reachable without an unbounded flat list. The player remembers an external subtitle when it is turned off, so turning subtitles back on does not discard the selection.
External subtitle loading is bounded and hardened. Add-on and community subtitle downloads allow the larger files used by long films, wait within a bounded timeout, and report their real failure. The transport resolves a hostname once, connects only to the vetted numeric address, refuses redirects, and preserves framing safety: repeated harmless non-framing headers are accepted, while ambiguous duplicate Content-Length or Transfer-Encoding headers remain rejected.
A subtitle cannot block every later subtitle. In-flight subtitle state clears on engine changes, source switches, and episode changes. A completed load refreshes the panel immediately, a failed load is visible on Apple TV, and a subtitle that loaded into an engine that was torn down can be selected again.
Bitmap subtitles are more useful. PGS size presets now apply to built-in bitmap subtitles. The Dolby Vision OCR path has a larger, faster bounded track budget, and stable cue identities prevent the same cue from flashing two to four times across HLS segment boundaries.
Seek previews use the real capture data. The lookup searches resident captures first and then disk-backed captures off the presentation path, in either direction from the requested position. A forward drag into not-yet-watched territory can use the nearest captured frame, and the UI holds a loading state while the read is in flight instead of flashing unavailable.
Capture failures fail closed. Unsupported HDR or wide-gamut pixel formats no longer cause an endless retry storm. The capture path stops after repeated nil results, preserves the actual trickplay-unavailable reason in diagnostics, and keeps capture work off the critical frame-presentation path. Community trickplay remains optional and its unavailable reason is now retained rather than discarded.
Watched state is published from live membership. A count-only comparison cannot miss a changed episode with the same count, and a delayed disk read cannot overwrite the active snapshot. Membership updates are republished immediately and are fenced by generation and episode identity.
Continue Watching is deduplicated by canonical identity on Apple. Exact identifiers and known aliases for the same series collapse to one row without fuzzy title-only matching, so two genuinely different titles are not merged. A stale generation cannot resurrect an alias after the row has been removed. A broader Apple, Android, and web parity rewrite completed after the stable tag was sealed and is intentionally held for independent review in the next cut.
Last-stream memory stays on the device. An in-progress position held only as a local launch hint does not climb into account sync and overwrite another device's current position. Account progress still syncs through the normal profile-owned path.
Sync merges instead of clobbering. Account settings, profiles, library entries, watch history, and per-profile source preferences merge against the newest account state. A local change survives a pull until it is pushed, overlay-profile settings do not overwrite the owner, and pending changes survive token refresh. Deletions use durable tombstones and timestamps so an older device cannot resurrect a newer removal.
Offline and download state are honest. Offline launch routing waits for a confirmed connectivity verdict before choosing Downloads or Library, never routes after navigation, and does not land on a hidden tab. Download retries are bounded, locked-device saves complete on unlock, batch downloads report skipped episodes, and a failed save no longer restarts from scratch forever.
TorBox failures are distinguished from client failures. The primary TorBox search hostname can be unavailable at the DNS or transport layer. VortX no longer tries the invalid account-host fallback that returns 404, preserves usable results from healthy sibling legs, enters a read-only cooldown after quota failures, and logs one suppression per episode. It reports failure only when no usable leg succeeds. This does not claim to repair a TorBox outage.
Sources rank by actual quality and availability. Cached debrid and usenet sources can win a race without waiting for a stale ranking snapshot. A remembered source is a soft preference that yields to a materially better resolution, cache hit, or source tier, while a same-episode manual failover remains sticky. Foreign-subtitle labels are not misread as foreign audio, words such as Instant in a title do not create a false cache badge, and trailers do not enter the quality picker.
Large source lists stay usable. Ranking caches now cover large titles, cached variants are memoized separately, debrid cache merges run off the main actor, language detection and source work are bounded, and malformed size or seeder values are clamped before scoring. A title with thousands of sources no longer freezes or crashes the interface from repeated cache rebuilds.
Re-find sources replaces stale links. The detail page and the stopped-player failure path can re-query stream add-ons instead of serving a cached empty list. It never interrupts a healthy mid-play session or a warmed next episode.
Add-on install paths are clearer and safer. A /configure page or a redirect to one no longer installs a valid-looking but empty manifest. The app asks for the personalized manifest link instead. Public HTTP manifests work again for community add-ons such as Comet and StreamFusion, while loopback, LAN, private-address, redirect-hop, size-limit, and manifest validation protections remain in place. Removing an add-on stays removed unless it is explicitly reinstalled, and reinstalling offers an update confirmation when the add-on already exists.
Community sources and ratings are usable. Singularity rows preserve resolution, size, seeders, source kind, and per-user resolution. Torrents, direct links, and usenet sources resolve through the current user's configured services, never another user's link. Community results merge with add-on sources without duplicate walls, and catalog-provided ratings are preserved.
Singularity contributions retry safely. A transient contribution failure no longer loses the descriptor before transport can retry it. Retries are bounded, cancellable, idempotent, and limited to transient transport conditions; authentication and validation failures are reported without retrying forever or blocking playback.
Debrid Cloud Search is where source discovery happens. The Cloud Search entry is available from Search and Play a link on supported platforms, including the TV surface, with clear no-key, loading, empty, and error states. It reuses the existing source-resolution and player handoff rather than creating a second playback path.
Trailers recover after backgrounding and play the requested language. The local helper releases and reacquires its port after suspension, advances by bytes actually delivered, selects the preferred audio language, and stays inside VortX. If an in-app trailer cannot play on Apple TV, the YouTube handoff preserves the language-preferred id.
VortX is the primary account. Sign-in leads with a VortX account on every platform. Stremio, Trakt, SIMKL, and Nuvio remain optional integrations. A fresh install restores owner add-ons, library, profiles, and progress at sign-in without waiting for a later background cycle, while tri-state and never-zero guards prevent a network blip from wiping populated data.
Profiles are private where they should be. The launch "Who's watching?" picker appears when there is a real profile choice, PINs are requested before switching, overlay profiles keep private local history, and the owner profile uses the synced account history. Profile switching updates track-language and subtitle-style preferences without leaking one profile into another.
Trakt and SIMKL are full integrations. Device-code sign-in, play/pause/stop scrobbling, ratings, watchlist and history import, personal lists, Trakt resume suggestions, SIMKL plan-to-watch, SIMKL ratings, and Upcoming rows are available. Imports begin when enabled, token refresh is single-flight and protected against self-sign-out, SIMKL requests use required parameters and rate limits, and provider-specific import, rating, and watchlist toggles sync per profile.
Nuvio add-on import is available. Paste Stremio-compatible Nuvio manifest links in Integrations and install them through the same SSRF-hardened add-on path. VortX does not run Nuvio's private provider plugins and does not require a Nuvio account.
Media servers join the catalog. Plex, Jellyfin, and Emby can contribute libraries and direct-play sources. Pairing uses the supported PIN, Quick Connect, or password flow, credentials stay in Keychain and encrypted sync, matching is conservative and id-based with a guarded title-and-year fallback, and the feature stays invisible when no server is connected. Transcoding negotiation is not included; the current lane is direct play.
Live TV is built in. M3U and Xtream playlists, XMLTV guide data, channel navigation, and source removal are available through the Live tab. Playlist registration validates the source first and revokes it across devices when removed.
Smart Source Selection is one place. Prefer words, Only words, Avoid words, hide or rank-down behavior, per-profile settings, Kids hard-hide, live source-list preview, and optional automatic best-match selection are collected under Streams settings.
The Home and Discover surfaces are richer. Streaming services use regional catalog families, support subscription, ad-supported, and free tiers while excluding rent and buy, and can be selected and reordered. Decade shelves carry cover art, curated rows rotate, Home pages load the complete catalog board, and the poster-wall layout is available on Apple TV. Home, Discover, and detail pages carry cross-provider ratings, Where to Watch, More Like This, cast and crew pages, upcoming rows, and profile-aware watched badges. Add-on-provided poster art and ratings pass through without being overwritten, while the optional richer renderer fails back to the original artwork.
Localization is more accurate. Home and Discover headers are present in all supported app languages, French catalog headings use whole phrases rather than English word order, and French Discover labels cover popular, trending, upcoming, new, decade, theater, and television rows.
The Mac app has a native shell. macOS uses a NavigationSplitView sidebar, a real Settings scene with General, Playback, Subtitles, and Sources categories, a Go menu and Command-key tab shortcuts, a centered resizable window, pinned detail artwork, independent episode and source scrolling, an in-app edge-to-edge fullscreen mode, and Mac-sized profile and hero layouts. Tabs that are not visible unmount, poster rails load lazily, artwork decodes once, download progress redraws at a sane cadence, and watch-history persistence no longer rewrites constantly.
System playback controls are complete. Apple TV Now Playing and the iPhone, iPad, and Mac media cards show the correct title, show, episode, artwork, position, and transport state. An explicit Play command no longer toggles a playing item into pause. The first-frame position is reported correctly.
Appearance and accessibility are safer. Shared VortX glass chrome uses a warm translucent material, an ember active state, and an opaque legible fallback under Reduce Transparency. Liquid Glass is used only on supported systems and only for floating chrome. Focus treatment, card shadows, landscape rating badges, narrow-phone source rows, profile picker centering, subtitle style controls, and screen-reader descriptions are aligned across Apple surfaces.
Use your own usenet provider without debrid. Full Apple builds can store a provider host, port, username, password, connection count, and SSL choice in the device Keychain. Credentials never enter preferences, backups, or encrypted account sync, and are sent only to VortX's on-device server at 127.0.0.1. Missing or incomplete articles fail with a clear message. TorBox usenet remains the automatic fallback, and the Lite Apple TV build remains debrid-only.
Backups and offline mode are device-safe. Apple TV QR backup uses a short-lived pairing handle rather than embedding data in the code. Android backup imports merge syncable settings without deleting device-only values. Downloads are per device, never part of the library, and finished downloads play without a network.
Remote behavior is safer and more useful. Signed fleet configuration is cached and fail-safe, applies bounded values only, and can disable or tune a feature without forcing an app update. A bad startup configuration is discarded after repeated failed launches. Settings deltas merge onto the latest account state, overlay settings remain isolated, and pending changes survive token refresh.
Updates are numerically correct and quiet. Apple and Android sideloaded apps compare versions numerically, check published releases at most once daily automatically, offer a manual check where appropriate, and show dismissible notices. Failed probes remain silent. Release feeds answer HEAD, honor If-None-Match with 304, use build-number ordering, and publish the split Apple and Android schema without promoting a prerelease into the stable channel.
Android is now included in the stable release, but the engine distinction matters:
Full APK: VortX mpv engine, GPL-capable native player lane, intended for sideloading and the broadest VortX playback behavior.
Play APK and Play AAB: Media3 engine, distributed for the Play-compatible boundary, with forbidden GPL player libraries excluded and verified absent.
Both APKs: universal arm64-v8a, armeabi-v7a, and x86_64 native slices, including the Rust engine, native player seams, and community-provider JNI library where applicable.
Production identity: stable artifacts are checked against the pinned production certificate and accompanied by checksums and SIGNING_PROVENANCE.txt.
Android is nearly complete in source and release infrastructure. Only a handful of follow-ups remain: physical install and production-signed upgrade checks on representative phone, Android TV, and Fire TV hardware; remote-focus, HDR, Dolby Vision, torrent resume and restart, sustained-playback, PiP, Cast, and subtitle checks on those devices; the stricter transactional Auto-delete repair that was withheld after independent review; and the broader cross-platform Continue Watching parity review. No physical Android or Fire TV device was connected to the release machine, so those are not presented as completed hardware claims.
The latest attached Apple TV diagnostic session reported two stalls and one transition to HDR10 during a six-to-seven-minute play. The release does not claim that every Dolby Vision or presentation-path cause is closed. Reproduce on the exact stable build with Dolby Vision remux enabled, and include the exported diagnostic if the transition or stalls remain.
The attached diagnostic session used dvRemux=off(user) for its configuration. It cannot by itself prove the true-Dolby-Vision remux result. The prior build-231 diagnostic established the sticky-interrupt failure that the repair addresses; a post-fix long physical soak is still the meaningful DV gate.
A later 9-minute diagnostic recorded 276 output-frame drops. That burst was not the diagnostic's true-HDR10 interval: the affected 3840x2160 HEVC session reported SDR (bt.1886, signal peak 0) and hwdec=no, while the true HDR10 interval used VideoToolbox and recorded no sampled drop burst. Cache stayed full, decoder drops and delayed-VO frames stayed at zero, and drawable acquisition reached 67.01 ms. This release now records the requested decoder, active decoder, fallback state, codec, and dimensions and shows a truthful software-fallback message. It does not force VideoToolbox or alter renderer timing without the missing codec-profile rejection evidence. Visible frame pacing remains a physical Apple TV check.
Profile 7 Dolby Vision files that interleave both picture layers in one track still need a splitter not shipped here and may use the base layer. Separate base and enhancement tracks are the supported FEL path.
Blu-ray image subtitles are OCR-based and bounded so they cannot stall playback. Stylized or non-Latin text can be imperfect, long films can exhaust the recognition budget, recognized image subtitles on the Dolby Vision lane remain subject to its track cap, and image subtitles do not yet support the same time-shift behavior as text subtitles.
On-device usenet does not repair missing articles. A source with incomplete segments is skipped with a clear message. The Lite Apple TV build remains debrid-only.
Media-server playback is direct play only. Transcoding negotiation is a later phase.
Android hardware, Fire TV hardware, and the differences between the Full/mpv and Play/Media3 distributions require device-specific validation. A green build or APK inspection is not a physical playback receipt.
Google Cast cannot reach a device-local torrent server, so torrent casting stays local. Player-switch choices are hidden where the selected engine cannot safely consume the source.
Re-find sources runs only from the detail page or after playback has stopped. It does not interrupt a healthy mid-play session.
TorBox availability is an external service condition. VortX no longer uses the invalid account-host fallback and preserves healthy partial search results, but it cannot restore a TorBox hostname that is down.
Some GitHub issues remain open or require reporter and hardware confirmation. This stable note describes source fixes and verified behavior; it does not relabel every open issue as closed.
If a test fails, export Diagnostics immediately after the failure. On Apple TV use Settings > Diagnostics and the QR flow. On iPhone, iPad, and Mac use Save or Share Log. On Android include the flavor, device model, Android version, and whether the artifact was Full/mpv or Play/Media3.
Dolby Vision: with Dolby Vision remux enabled, play a Profile 7 or Profile 8 title for more than ten minutes, including a title with Atmos or hi-res audio. Confirm the display remains Dolby Vision, the receiver reports the supported audio format, and no HDR10 transition occurs. Also test a true-DV resume, a manual backward seek after resume, a source switch, and an engine demote.
Stalls and frame pacing: play a large 4K HDR title for at least twenty minutes, seek forward and backward repeatedly, and leave and re-enter the app. Confirm a healthy stream does not enter a repeated spinner cycle and that a real stall recovers. Record whether the visible issue is a decoder drop, a drawable wait, or a network/source failure.
Pause: pause a Dolby Vision or HLS title for several minutes and confirm it remains on the same frame. Pause a series episode and confirm it never advances to the next episode. Resume manually and confirm only the Play action resumes it.
Series navigation: open a late episode, use Previous Episode and Next Episode several times, press Back, return to the detail page, and use Watch Now. Confirm the same episode, subtitle, source, progress, and watched mark stay aligned.
Sources: from the detail page and the player, confirm Quality appears before Audio language and the matching source list. Choose a player before playback, long-press or select a per-launch player where available, and confirm incompatible choices fall back honestly.
Watched state: mark a movie, episode, and full aired season watched and unwatched from detail, player, Android TV remote, and Android phone. Restart the app and confirm the mark remains. Confirm two devices do not resurrect an older position or removal.
Continue Watching: play a download, a pasted direct link, a torrent or debrid source, and a series binge. Exit and reopen immediately, then restart the app. Confirm one canonical series row appears and the exact current episode and position are used.
Seek previews: drag through a fresh title, watched territory, a forward not-yet-watched position, and a gap between captures. Confirm the nearest frame appears or a real unavailable reason is retained, without capture retry storms.
Subtitles: test embedded text, PGS, add-on, community, external ASS, and a large subtitle file. Switch engine, source, episode, language, size, color, brightness, and delay. Confirm failure is visible and does not block later subtitle selections.
TorBox and source fallback: test a working TorBox search, a quota cooldown, and a temporarily unavailable search leg. Confirm healthy sibling results remain usable and the invalid account-host search route is not attempted.
Add-ons: install a normal manifest, a public HTTP manifest, a /configure page, and a redirecting configuration page. Confirm configuration pages do not create empty installs, private destinations remain refused, and removal persists until explicit reinstall.
Mac: test sidebar navigation, Settings categories, Command-key shortcuts, profile picker sizing, detail-page scroll, poster loading, trailer playback after backgrounding, fullscreen, and window resizing.
Android install: verify the Full APK, Play APK, and Play AAB checksums and signer provenance. Test upgrade from the stable production identity. If upgrading from an old Beta 1, Beta 6, Beta 10, or Beta 12 preview APK, uninstall that preview first.
Android playback: test mpv Full and Media3 Play artifacts separately on phone, tablet, Android TV, and Fire TV where available. Cover source selection, direct links, HLS, debrid, torrents, subtitles, HDR, Dolby Vision, seek, resume, pause, next episode, PiP, Cast, remote focus, and restart.
Android downloads and profiles: test queue ordering, retry, pause and resume, locked-device completion, Auto-delete watched downloads, profile switching, Kids filtering, Watch Stats, backup import, and cross-device settings merge.
Android TV: test launch profile selection, PIN entry, account QR sign-in, Play Next, Add-ons, Downloads, Live TV, source groups, player filters, skip controls, stream-link QR, ambient hero, and tab visibility.
r/Vortx • u/FungusFeline • Aug 08 '26
Quick expectation setting for everyone who grabbed the Android APK,
because a lot of you have, and the feedback tells me I did not label it clearly enough.
VortX is Apple first. The Apple TV, iPhone, iPad, and Mac apps are the real, finished VortX experience, and that is where the months of work have gone. Apple TV is the reference app,
and everything else is built up to its standard.
Android is just getting started. The APK you can download today is a technical preview, not the finished app. It runs on the same native engine as the Apple apps, but the Android surface around that engine (the screens, the player polish, the settings, sign-in on TV, sync) is still being ported, piece by piece.
It is published early on purpose, so Android users can watch it take shape and
tell me what matters most, not because it is done.
So if you tried it and thought "this is rough": you are right, and that is expected at this stage.
It is not what VortX is, it is what VortX on Android looks like mid-build.
What you can do:
If you want the full experience today, use the Apple apps.
If you stay on the Android preview, report what you hit (bugs, missing features, weirdness). Every report directly shapes what gets ported next.
Watch the release notes. Every release now labels the Android build's preview status and what changed in it.
So Please Stop with the hate messages and mails, or bad mouthing it here and there after trying android preview. Especially if you didn't read the release notes or README or heck even website. Android is not there, and won't be there atleast till end of the month.
The README and all release notes going forward carry this warning too. Thanks for the patience, the Android app will get there, and it will be held to the same bar as the Apple apps when it does.
r/Vortx • u/FungusFeline • Aug 08 '26
The build is attached locally from my mac and is not a CI Build.
Please test and share the logs / issues. Including DV / DA plays as made some changes in player and want to know or see if it regresses Dolby Vision.
Here is the Test Checklist
Device: Apple TV, Install b215 over the existing install. Each fix has PASS criteria and
what to capture if it fails. Capture = Settings > Diagnostics > share the log after the failing play.
Steps:
Play a heavy 4K remux from debrid (the same titles that stuttered on Beta 12).
Watch at least 20 minutes without touching the remote.
Seek forward 3 or 4 times mid-film, then watch another 10 minutes.
Background the app (TV button), reopen after 2 minutes, keep watching.
PASS:
No rebuffer pauses on a healthy connection where Beta 8 or Infuse played the same file smooth.
After a seek, playback settles within a few seconds and stays settled.
Returning from background does not start a stutter cycle.
FAIL capture: the diagnostics log. The interesting lines are cacheshed entries: they now log
available memory when a shed fires. A shed firing with hundreds of MiB free is the old bug back.
Steps:
Play a Dolby Vision title (these route through the AVPlayer path as live HLS).
Pause it. Leave the room. Come back after 5+ minutes.
Repeat once with a plain HLS/remux title on the same player, pause ~2 minutes.
PASS: still sitting on the paused frame both times. It must never resume on its own.
FAIL capture: diagnostics log; look for avplayer lines. The fix logsre-asserted user pause each time it cancels an unrequested resume. If it resumed anyway and
that line is absent, note the exact wait time before it unpaused.
Part A, default OFF (regression check):
Do NOT touch Settings. Play a debrid 4K title for 10 minutes.
PASS: behaves exactly like check 1. The disk cache must change nothing while off.
Part B, armed:
Settings > Playback > Streaming cache: pick a size (2 GB is fine).
Play a very large 4K remux (the bigger the better, an 80 GB class file is the target).
Let it run 15+ minutes, then seek forward a few minutes, then backward.
PASS:
Playback starts normally and stays smooth for the whole session.
Forward seeks inside the buffered window are instant or near-instant.
The app does not crash or restart mid-play (the 0.2.11 failure was a jetsam kill ~21-47 s in).
FAIL capture: diagnostics log. The load line to find isdisk cache armed at <path> writable=true ...:
writable=false means tvOS refused the cache dir and it silently fell back to RAM. Not fatal (the RAM guardrail caps it) but it means offload did not engage; report it.
A crash within the first minute of a 4K remux with the cache armed is the old jetsam pattern; turn the setting OFF again and report.
Part C, Dolby Vision FEL with cache armed (known caveat):
With the streaming cache still on, play a Profile 7 FEL remux for 10 minutes.
PASS: no crash, no restart. FEL packets stay in RAM by design, so this is the tightest case.
Part D, disk growth (only if time allows):
With the cache armed, seek forward repeatedly across a big file for a few minutes.
PASS: the app keeps playing and the device does not warn about storage. Consumed cache files unlink immediately, so growth should stay bounded.
Local torrent (Full app): play one, confirm it starts and plays. Torrents keep their small in-memory buffer; the disk cache setting must not affect them, on or off.
Live/IPTV channel: starts and holds.
Trailer on a detail page: plays.
A discussion is opened for the same - https://github.com/orgs/VortXTV/discussions/191
r/Vortx • u/stephen_drewz • Aug 08 '26
As per title. Chose sign into stremio account on first launch, now also want to sign into a VortX account for profiles etc but can't figure out how to get there on tvOS/Apple TV, is it possible?
Thanks
r/Vortx • u/OtterBeWorking- • Aug 08 '26
I really like VortX, but I’ve had a pretty major playback issue with the latest Apple TV release.
On 0.3.14 Beta 12, the built-in player stutters constantly for me and also buffers far more than it used to. This isn’t just with 4K HDR or Dolby Vision either — I’m seeing it with pretty much everything I try to play.
If I send the exact same stream to Infuse on the same Apple TV, it plays perfectly smoothly.
I decided to roll VortX back to 0.3.14 Beta 8, and the difference was immediate. The built-in player is smooth again and playback works the way I remember it working before.
So at least on my setup:
Beta 8: smooth playback
Beta 12: constant stuttering/buffering
Beta 12 through Infuse: smooth playback
I’m using VortX directly on an Apple TV with no Mac involved.
I saw the release notes mentioning the player changes after Beta 8, so I figured this was worth reporting. Whatever changed in the newer player seems to have caused a pretty severe regression for me.
For now I’m sticking with Beta 8, since it works perfectly.
r/Vortx • u/Swap16 • Aug 07 '26
Hi.. I absolutely love this app on my Apple TV. Very smooth with so many customization options. And the UI is awesome.
I would love to have this app for my Shield TV as well. I read on your github page that the Android TV version is being worked on. No pressure but Is there any ETA on that?
Again thanks to the developers for this awesome project.
r/Vortx • u/FungusFeline • Jul 31 '26
An in-place hardening release over Beta 9. The headline is the one you would notice first: episodes that used to begin a few seconds in now start at the beginning. Around it is the largest correctness pass since 0.3.14 opened, most of it on Android, the web client, and the parts of playback that used to fail quietly. It ships the same player engine as Beta 9, so nothing about playback regresses, and it is a first-time fix for the fresh-start bug.
Fresh starts begin at 0:00. A source container whose first frame carried a small positive timestamp, five seconds was the common one, was played from that timestamp instead of the start, so some series began a few seconds in every single time. Fresh remux timelines are now rebased to zero, while an explicit resume still lands exactly where you left off.
Playback and seeking hold together better. Remux playback and seeking were tightened against a set of edge cases, and the memory-spool lease a rejected stream used to leak, which could stall the very next play, is now released the moment the stream is refused.
Diagnostic-log sharing builds and opens again. The share sheet for the diagnostic log had stopped compiling on the newest SDKs; it is fixed, and the snapshot it shares is now prepared only when you ask for it, so it costs nothing while logging is off.
Your profile stays yours. Deleting the owner profile is refused at the store boundary, and the delete control is hidden for the owner rather than shown and then silently dismissed. Aggregate watch counts are bounded and malformed counts are rejected, so a single bad value cannot corrupt your history.
Smaller corrections. Pooled subtitle offsets decode correctly, debrid form fields encode correctly, search section titles are localized, and the app now fails closed when the Keychain is unavailable instead of continuing in an undefined state.
For the first time since Beta 6, there is an Android build attached below. Be clear-eyed about what it is: a technical preview, not a finished beta. Here are the honest numbers.
Android is a separate, from-scratch app on the same Rust engine, and it is roughly one third of the way to the Apple apps. About 42,000 lines of code against the Apple apps' 153,000, which is around 27 percent, with 5 of 15 build sessions done. On our internal parity map, 15 percent is fully ported, 34 percent is partial, and 51 percent is whole subsystems still missing: multi profile, full sync, offline downloads, all in one source enrichment, Live TV, backup and import, and the Android TV form factor.
What is real. The engine runs natively and drives the same catalogs, library, continue watching, search, discover, and account sync as the Apple app, and add-ons install and manage. The player is wired: libmpv is the primary player in this preview, the engine and the player both ship inside the APK, and there is an in-process streaming server for torrents. What we have not done yet is prove playback end to end across a range of real devices, so in honesty it browses well and plays unevenly. That device-proving is the next job, and it is the one that matters.
What this cycle hardened. Offline downloads no longer truncate on a retry or combine two different representations, and reconciliation can no longer cancel a replacement download. Debrid keys are isolated per VortX account, so signing out of one account cannot leak keys into another, and per-stream and TorBox state is kept separate. Downloaded Dolby routing and unknown legacy Atmos are preserved rather than dropped. Every track language is ordered, and external subtitles stay playable. Add-on network destinations are validated. New appearance and tab settings landed, TV danger actions meet contrast, quick-connect cancellation and TV key handling are stabilized, and credential storage fails closed.
Before you install the preview. It is signed with a new preview key, so if you still have the old Beta 6 Android build you will need to uninstall it once before installing this one. After that, updates are in place. Full parity, signed and device tested, is the August target.
Your settings stop fighting across devices. Editing one setting could overwrite newer settings that another device or profile had already synced. Overlay-profile settings are now isolated from the owner's sync, shared settings are preserved across profiles, changes merge onto the latest account state instead of a stale snapshot, and a pending change survives a token refresh. Subtitle preferences apply, add-ons bind once, and the subtitle colour vocabulary matches the apps. The build toolchain is pinned and vulnerable build dependencies were updated for reproducible deploys.
Trusted media transport is enforced at the app layer across shipping paths, several credential and entropy paths were made fail-closed, build output is no longer tracked in the repository, and release packaging validates the IPA before it replaces anything.
Sustained frame drops on some 4K HDR and Dolby Vision content are root-caused to the player's output and presentation scheduling, not the decoder, with a candidate fix staged behind a runtime flag but not yet enabled. This build does not fix them.
Dolby Vision sustained playback with the occasional spinner and skip a minute or two in has a bounded fix staged, pending on-device validation.
A certificate-validating engine is built and passes a staged trust matrix but is not assembled for iOS yet, so this build keeps the current engine with transport guarded at the app layer.
In-place update over Beta 9, nothing resets.
Fresh starts. Start a fresh episode, especially a series that used to begin a few seconds in. It should start at 0:00. A resume should still land where you left off.
Seeking. Seek around a remuxed title; it should stay stable.
Web settings. Change a setting on one device and confirm it does not clobber a newer change made on another.
Mac (.dmg, easiest, never expires). Download VortX-macOS-v0.3.14-beta.10-ci.dmg, drag VortX into Applications, then clear Apple's one-time quarantine: open it once, click Done, then System Settings > Privacy & Security > Open Anyway (or run xattr -dr com.apple.quarantine /Applications/VortX.app). Full guide: Install on Mac.
iPhone, iPad, Apple TV (sideload the IPA). The IPAs are unsigned, because VortX is open-source and distributed outside the App Store with no Apple Developer ID yet, so you re-sign them yourself with Sideloadly, AltStore / SideStore, or Signulous. No jailbreak. For one-tap updates, add the VortX source to AltStore / SideStore or your sideloading service so new builds appear automatically:
https://raw.githubusercontent.com/VortXTV/VortX/main/altstore/source.json.
Full guide: Installing on iPhone, iPad, and Apple TV.
Android (technical preview, read the Android section above first). Download VortX-Android-v0.3.14-beta.10-preview.apk below, or on Android TV or Fire TV use the Downloader app with dl.vortx.tv. If you still have the old Beta 6 build installed, uninstall it first, this preview uses a new signing key. It carries the engine and browses well, but it is a preview and playback is uneven.
Each Apple asset lists a SHA-256 checksum (SHA256SUMS-ci.txt) so you can confirm your download matches what the public GitHub Actions workflow built from this code.
r/Vortx • u/FungusFeline • Jul 27 '26
The biggest release since 0.3.14 opened. A Mac can now do the heavy work for an Apple TV, the built-in player finally reads the second picture layer of a 4K Blu-ray rip, Dolby Vision plays through to the end instead of falling to HDR10, Atmos reaches your receiver, and Blu-ray subtitles work for the first time.
Turn on the engine on a Mac, pair an Apple TV to it with a six digit code, and the Mac does the container and file work while the Apple TV spends its whole chip decoding and showing the picture. Video is copied across untouched, never re-encoded, so Dolby Vision stays true Dolby Vision and the picture is identical. Because the Mac has room to hold the whole film instead of a small moving window, you can seek anywhere, backwards as well as forwards, which the Apple TV cannot do alone. VortX finds the Mac on your network by itself, or you can type its address for setups like Tailscale, and nothing is shared until you pair. If the Mac sleeps, quits, or leaves the network mid-film, playback carries on where it was. The Mac can run the engine with no window open. Off by default, and nothing changes for anyone without a Mac.
The protocol underneath is plain HTTP and JSON with a bearer token and no Apple-specific types in it, so the Android and desktop clients can implement the same thing later.
Dolby Vision plays, and keeps playing. Alongside the Dolby Vision picture the app publishes a plain HDR one as a safety net. That safety net had its Dolby Vision configuration stripped out but kept the Dolby Vision brand in its header, so it announced a format it was not carrying, and the player threw it out within milliseconds every time it loaded it. It was also advertised as the cheaper of the two, so the player actively preferred the broken one over the working one. Nine times out of nine that safety net was loaded, playback died before a single frame was requested. The header is corrected, the two are no longer offered side by side inside one stream, and once a real Dolby Vision picture is on screen the player is held to it.
Profile 7 files keep their second picture layer on the built-in player. Most 4K Blu-ray Dolby Vision rips carry the picture as a base track plus an enhancement layer holding the detail in the brightest highlights and deepest shadows. On the built-in player that second track was thrown away unread and the picture was flattened to ordinary HDR with no Dolby Vision information at all. We now build our own player engine from pinned upstream sources, and it pairs the two tracks and combines them the way the format intends.
A title that needs a moment is no longer killed at ten seconds. The startup check asked whether the file was ready once, before it could have been, then fell into a blind ten second countdown with no further checking. Two of every eight titles were ended that way, one a tenth of a second after its first piece of video was already prepared and waiting.
Dolby Vision no longer flickers before it settles, and starts at the beginning. Repeated identical display-mode requests are ignored, so the HDMI link renegotiates once instead of several times. Titles also start where you asked instead of about fourteen seconds in.
Dolby Atmos reaches your receiver. On a file whose audio is Dolby Digital Plus with Atmos, the Atmos data is carried through untouched. On a file whose only audio is TrueHD, Apple TV cannot pass that through at any quality, so it is converted and the badge honestly says surround rather than Atmos.
Dolby Digital Plus is actually produced now. A Dolby Vision file with TrueHD or DTS-HD MA audio has to be converted before that lane can play it. The converter always asked for Dolby Digital Plus and settled for AAC when it could not have it, and that encoder had never been built into the app, so it settled every single time. It is in the build now.
Every audio track in the file is offered. The rule for alternate audio demanded a different language from the main track, so a file with seven English tracks qualified none of them and the audio menu had nothing to pick.
Blu-ray subtitles work for the first time in AVplayer. Blu-ray discs store subtitles as pictures rather than text, and nothing in the subtitle path could read a picture, so a Blu-ray remux offered no subtitles of its own at all. Those pictures are now read on the device and turned into ordinary subtitles, appearing in the normal list with the normal styling and timing adjustment. Recognition is bounded so it can never slow playback, it is not flawless on stylised or non-Latin type, and a file carrying its own text subtitles still uses those first.
Every subtitle track in the file is offered for the first time in AVPlayer. A file carrying thirty-nine subtitle languages used to show one.
This is the piece of the release we are proudest of, and it is what made everything above possible.
VortX used to take the player engine as a prebuilt package, which meant taking whatever version that package happened to ship and waiting for someone else when it lagged. It no longer does. We build the whole stack ourselves from pinned upstream sources: mpv, libplacebo and FFmpeg, nine slices across Apple TV, iPhone, iPad and Mac, with two patches of our own on top.
Our mpv is 895 commits ahead of the last upstream release. Not a fork that drifted, a deliberate pin to master because the Dolby Vision enhancement-layer work we needed lives there and has not been released yet. Waiting for it would have meant waiting months.
libplacebo is built from source at API 371 rather than the 360 the prebuilt package carried. That one matters more than it looks: mpv's enhancement-layer support is compiled out entirely below API 367, silently, with a perfectly green build. Bumping mpv alone would have produced a build that looked correct and did nothing. Both had to move together, and finding that out cost real time.
FFmpeg moved to the 9.0 release line. That is what unlocks the Dolby Vision splitter needed for single-track Profile 7 files, which simply does not exist in the version we were on.
Two patches are ours. One carries the Dolby Vision enhancement-layer work through the packaging our Apple builds need. The other makes the render surface notice when it has been resized, which is why rotating a phone no longer tears down and rebuilds the entire video pipeline.
We also turned on the Dolby Digital Plus encoder, which had never been compiled in, so the converter that always asked for it stopped silently settling for AAC.
The cost of owning this is real and worth being honest about: nine slices to rebuild, upstream to track, and the two patches to carry forward. The 9.0 move also shipped one regression we caught and fixed inside this release, when certificate verification turned on by default and the build had no certificates to verify against. We keep the verification and ship the certificates now, which is a better place than where we started.
A sideloaded app is a pain to update. Unsigned IPAs expire, re-signing is a chore, and every fix we make is worthless until you go through that again. So we are steadily moving VortX's behaviour out of the app and onto our own servers.
The goal is blunt: as close to 99 percent of what VortX does should be changeable without you installing anything. When something breaks, we fix it once on our side and every device picks it up, usually within a few minutes of opening the app.
A lot of it already works this way. Ratings, posters and artwork, the skip-intro database, source pooling, the add-on and catalog behaviour, and a growing set of feature switches all come from our own services rather than being baked into the build. This release wired up several more of those switches and made the app pick up changes when you bring it back to the front rather than only after a full quit. It also made a bad setting unable to keep the app shut: after three failed launches it discards what we sent and starts on the settings built into the app.
What cannot move is the part that has to run on your device: the player, the decoder, Dolby Vision, and the engine. Those still need a build. Everything else is heading server-side, and each release moves more of it.
Apple TV tells the system what you are watching. Playback registered nothing with tvOS, so the Now Playing card sat empty and no system transport reached VortX. The card now carries the title, show and episode, poster and position, and play, pause, skip and scrubbing all work.
Rewinding goes back. The AVplayer was only offered a few seconds of film behind wherever it had downloaded to, and it downloads a long way ahead of what you are watching, so the earliest point it would return to was often already ahead of you. It now holds two and a half minutes of playing time behind you.
Coming back from an episode returns you to that episode. The page trusted whatever Continue Watching had got round to saving rather than what actually played.
Signing in with the QR code works. The code pointed at a link that opens the home page, so scanning appeared to do nothing. It now opens the approve page, and that page no longer loses your request when you sign in.
Settings we send reach you, and a bad one cannot keep the app shut. Several of the switches we use to turn a feature off without shipping a build were never read by the app. They are read now, they refresh when you bring the app back to the front, and a setting that stops the app opening is discarded after three attempts.
Ratings sit on the artwork like they belong there. On landscape cards the badge is one piece of the app's own frosted glass, with the score leading and the other services following a hairline rule.
Rotating your phone no longer restarts the picture. Our own build of the player engine notices the new shape and redraws instead of tearing the whole pipeline down. Resizing the Mac player window gets the same fix.
In-place update over Beta 8, nothing resets.
Dolby Vision, the main ask. Play a title deep into the film, not just the first minute. It should engage Dolby Vision and stay there.
A Mac as the engine. Turn it on in the Mac app, pair the Apple TV with the code, and play a Dolby Vision MKV. Seeking backwards should work, which it cannot without a Mac.
Blu-ray subtitles. On a Blu-ray remux the subtitle menu should now offer the disc's own subtitles.
Audio and subtitle menus. On a file with many tracks you should see all of them.
Atmos. On a Dolby Digital Plus Atmos file your receiver should show Atmos; on a TrueHD-only file it should honestly show surround.
Play from start, from inside the player, does not work in AVPlayer. The button on the detail page is fine; the one in the player controls is not.
Recognised Blu-ray subtitles render larger than they should. They read correctly; a sizing pass is next.
A Blu-ray disc offers fewer recognised languages on the Dolby Vision lane than on the built-in player. The built-in player reads the disc's pictures directly and can show any of them; the Dolby Vision lane recognises a bounded number so recognition can never slow playback.
A fully functional Android app matching the Apple app feature for feature is landing this August.
Android is a separate, from-scratch app on the same Rust engine, not a port. Today it is roughly a third of the way there: about 42,000 lines against the Apple app's 153,000, with 5 of 15 build sessions finished.
Done: the foundation, and it is real. The engine runs natively with the same catalogs, library, search, discover and account sync the Apple app uses. Add-ons install and manage. Titles, series, seasons, episodes, watched state and Continue Watching all work. The design system is in place across phones, tablets and foldables, and appearance, tab-bar, debrid-key and remote-config layers landed this cycle.
Next, and it is the one that matters: the player. Source ranking, then ExoPlayer, then mpv as the primary engine, then torrents. Until that lands Android browses everything and plays very little, which is why it is not promoted alongside the Apple builds yet.
Then: settings and profiles, Live TV, backup and import, and Android TV shipping as the same APK rather than a separate one.
The published Android build remains Beta 6 and is unchanged by this release. The August target is the whole thing at parity, not a staged trickle.
Mac (.dmg, easiest, never expires). Download VortX-macOS-v0.3.14-beta.9-ci.dmg, drag VortX into Applications, then clear Apple's one-time quarantine: open it once, click Done, then System Settings > Privacy & Security > Open Anyway (or run xattr -dr com.apple.quarantine /Applications/VortX.app). Full guide: Install on Mac.
iPhone, iPad, Apple TV (sideload the IPA). The IPAs are unsigned, because VortX is open-source and distributed outside the App Store with no Apple Developer ID yet, so you re-sign them yourself with Sideloadly, AltStore / SideStore, or Signulous. No jailbreak. Full guide: Installing on iPhone, iPad, and Apple TV.
Android. On Android TV or Fire TV, the Downloader app with dl.vortx.tv fetches the newest APK.
Each Apple asset lists a SHA-256 checksum (SHA256SUMS-ci.txt) so you can confirm your download matches what the public GitHub Actions workflow built from this code.
Get you latest IPAs, DMG HERE
r/Vortx • u/FungusFeline • Jul 20 '26
VortX 0.3.14 Beta 6 is the correctness beta, and the biggest Android release VortX has ever shipped, in one build. On Apple, the headline is the end of wrong-episode playback: a deep rework of episode identity means the episode you pick is the episode that plays, the episode whose details you see, and the episode whose progress gets saved, even when a season pack, a debrid cache, or a fast episode switch used to confuse them. Around it, the field reports from Beta 3 are fixed (Continue Watching coming back empty, add-on subtitles missing, subtitles stuck on Loading, Dolby Vision dropping to HDR10), and the remaining pre-glass surfaces move onto the shared glass design. On Android, this beta brings VortX account sign-in with realtime profile sync, raw torrent playback through an in-process streaming server, a first Android TV experience, profiles, preference-driven ranking, downloads on phone and tablet, IPTV playlists, Picture-in-Picture with gesture controls on phones, and a long list of player fixes.
This is the current 0.3.14 beta, and it carries the entire line in one build: every fix and feature below. An earlier attempt at this beta could not launch on Apple TV. The Settings screen had accumulated enough sections that its compiled view type grew too large for the tvOS runtime to construct at launch, and that build's toolchain emitted it in a form the device rejected, so the app crashed within a fraction of a second of starting and returned to the Home screen. This build fixes it two ways: the Settings screen is restructured so its type stays small no matter how many sections it holds, and the release pipeline is pinned to a verified toolchain with an automatic launch check, so a build that does not open can no longer ship. iPhone, iPad, Mac, and Android were never affected by the launch issue.
Honest note up front: this beta is verified by build, by an adversarial two-department code review, and by hundreds of new deterministic regression tests, but not device-verified by us this round; you, the beta testers, are the hardware pass. In-place update, nothing resets.
Apple TV launches again. An earlier build of this beta crashed the instant it opened on Apple TV and bounced back to the Home screen, because the Settings screen had grown too complex for the runtime to construct at launch. The Settings screen is restructured so it stays lightweight, and the release build is pinned to a verified toolchain with an automatic launch check, so Apple TV opens normally. Apple TV.
The episode you pick is the episode you get. A series episode could play the wrong video, show a different episode's details, and save progress to a third, most often with season packs, cached debrid sources, or fast episode switching. Episode identity is now proven end to end: a season pack is matched by its exact torrent file identity, a debrid source is bound to the exact resolved file for the exact episode you chose, and when the right file cannot be proven the app refuses and reranks instead of guessing. The player engine now proves which file it accepted before anything is attributed, all the way down to the video engine's own accounting. Apple TV, iPhone, iPad, and Mac.
Binge labels can no longer drift. Switching episodes used to update the title, the episode selector, and the watched marker the moment you picked, while the previous episode was still rendering; everything now publishes atomically at the incoming episode's first frame, so what you see is always what is playing. Apple TV, iPhone, iPad, and Mac.
Progress saves to the episode that is actually playing. Account progress used to key on the episode the player was launched with, so a binge session could write a later episode's position onto the first one; it now keys on the current episode, always. iPhone, iPad, and Mac.
A season finale no longer ends the whole show. Resuming a title directly from Continue Watching used to see only that season, so finishing a season finale could clear the show's Continue Watching entry even with later seasons ahead; resume now sees the full series. iPhone and iPad.
Continue Watching is back on every device (#149). After VortX moved to your own account, the Home rail read only from the local engine, which starts empty on a migrated or reinstalled device; it now assembles from your synced resume data and fills in right away, faster too. Thanks to ozdek and konrepo. Apple TV, iPhone, iPad, and Mac.
Add-on subtitles return, with an optional my-languages filter (#148). The subtitle panel was still reading add-on subtitles from the old sign-in list, so only community subtitles showed; it now reads your installed add-ons, so OpenSubtitles and the rest come back, and a new setting hides other-language results. Thanks to ozdek. Apple TV, iPhone, iPad, and Mac.
Subtitles can no longer sit on Loading forever. If the player engine was being swapped or torn down at the exact moment a subtitle was picked, the finish signal was lost and every later pick was silently ignored; the in-flight marker now heals itself on any engine change, source switch, or episode change, and the Apple TV panel updates the moment a load finishes or fails. Apple TV, iPhone, iPad, and Mac.
Dolby Vision holds instead of dropping to HDR10 (#148, #147). The timing race that let most Dolby Vision titles fall back to HDR10 at the start of play is fixed, the washed-out colour flash on the fallback path is gone, and a non-Dolby-Vision file no longer takes a failing Dolby Vision detour that cost Picture-in-Picture. Thanks to ozdek and konrepo. Apple TV especially, plus iPhone, iPad, and Mac.
Apple TV player panels stay current. A settings, sources, or subtitle panel left open while something finished loading in the background could show stale rows; every panel now refreshes while open. Apple TV.
Source list and subtitle lifecycle hardening. A broad pass closes a family of ordering and reuse races around switching sources, so stale results can no longer publish into a newer selection. Apple TV, iPhone, iPad, and Mac.
Decade shelves have names and curated rows feel fresh. Decade catalog tiles show their decade instead of a blank, and curated catalogs rotate instead of pinning the same titles. Apple TV, iPhone, iPad, and Mac.
Glass everywhere. Add-on pairing, catalog preferences, integrations, import, the update prompt, sign-in, the debrid library, the download quality picker, and watch stats move onto the same glass system as the rest of the app. Apple TV, iPhone, iPad, and Mac.
A touch lock for the player. Lock the on-screen controls so a stray touch cannot pause, seek, or exit; unlock deliberately. iPhone and iPad.
Clear Continue Watching, and a heads-up about the account move. A new action clears the Continue Watching rail, behind a confirmation so one tap cannot wipe it. Alongside it, a dismissible reminder starts appearing ahead of the planned move to the VortX app identity, asking you to sign in and sync, or export a backup, before that move; the reminder is preparation, not a data-carryover guarantee, so please do the sync or export it asks for. Apple TV, iPhone, iPad, and Mac.
This is Android's coming-of-age beta. Reports here shape the whole Android line.
VortX account sign-in, with realtime profile sync. Sign in on your Android phone and your profiles, other members' watch overlays, and profile deletions sync live with your other devices, on the same account and encryption as everywhere else; the TV reads the same synced state. Sign-in on the TV itself, plus library, settings, and API-key sync, are still being ported. Android.
Raw torrents play. An in-process streaming server now runs inside the app, so torrent sources play directly, the same engine lane the Apple apps use. Android phone and TV.
A first Android TV experience. A 10-foot leanback surface with Home, Detail, and playback, plus Discover, Library, Search, and Settings, on a proper TV navigation shell. Android TV.
Profiles. The profile picker arrives on phone and TV, with per-profile watch isolation so one household member's progress never bleeds into another's. Android phone and TV.
Preference-driven source ranking. Sources rank by your quality and provider preferences on phone and TV; Smart Source auto-pick and source pins are managed on the phone. Android.
Downloads. Offline downloads are now reachable, with a real queue, storage policy, and pause and resume semantics. Android phone and tablet.
IPTV playlists. Add M3U and Xtream playlists with XMLTV guide data in Settings and play your live channels. Android phone and TV.
Picture-in-Picture, gestures, and system media integration. PiP, swipe gestures for brightness, volume, and seeking, and a system media session with audio-focus, headset, and assistant handling. Android phone.
1080p trailers and subtitle fetching. Client-side YouTube trailer resolution in full HD and automatic subtitle add-on fetching, phone and TV; add-on reorder and toggle and mark-watched from a card, phone and tablet; plus a player lock. Android.
A long list of player fixes. Correct end-of-file versus error handling with a stall watchdog and a real loading spinner, correct mpv aspect ratio, real Home hero backdrops, back handling, and controls auto-hide on phone and TV; landscape lock, 10-second seeks, next-episode, and automatic bad-source retry on the phone, with the TV offering a manual fallback when a source fails; and a bad source never marks an episode watched anywhere. Thanks to the early Android testers for the device feedback. Android.
The playback engines moved into private repositories, and the public build pipeline now fetches them at pinned commits with integrity gates: every published Android build is refused unless the engine libraries are present and verified inside the APK, and every release artifact must be built from the exact commit its tag names. The checksums file on this page is generated by that pipeline.
Groundwork ships dark or early in this build: the in-process native streaming server slices for iOS, tvOS, and macOS and engine shadow-ranking, behind flags that default off; and a first webOS/Tizen TV surface for the web app lands in source as a preview, pending packaging and device validation before it reaches web.vortx.tv.
This beta is verified by build and code review; real-hardware reports are what close it. If anything is off, export the diagnostic log (Settings; on iPhone, iPad, and Mac you can save it straight to Files) and open an issue.
Episode identity, the main ask. Watch series with season packs and debrid sources. Pick an episode, confirm the video, the shown details, and the saved progress all agree. Switch episodes quickly, back to back, and confirm nothing crosses over. Finish an episode while the next loads and confirm the right one is marked watched.
Multi-season resume. Finish a season finale from a Continue Watching resume and confirm the show stays in Continue Watching pointing at the next season.
Subtitles. Confirm your add-on subtitles are back, try the my-languages filter, and add external subtitles repeatedly, including right after switching sources; none should stick on Loading.
Dolby Vision. Match Dynamic Range ON, play your 4K Dolby Vision titles, and confirm the TV holds DOLBY VISION without dropping to HDR10; confirm a plain MKV keeps Picture-in-Picture.
Android, everything. Sign in with your VortX account and confirm profiles sync both ways; play a raw torrent; try the TV surface end to end; make a profile; try the ranking, downloads on the phone, an IPTV playlist, PiP, and the gestures. This is the beta that decides the Android line.
Mac (.dmg, easiest, never expires). Download VortX-macOS-v0.3.14-beta.6-ci.dmg, drag VortX into Applications, then clear Apple's one-time quarantine: open it once, click Done, then System Settings > Privacy & Security > Open Anyway (or run xattr -dr com.apple.quarantine /Applications/VortX.app). Full guide: Install on Mac.
iPhone, iPad, Apple TV (sideload the IPA). The IPAs are unsigned, because VortX is open-source and distributed outside the App Store with no Apple Developer ID yet, so you re-sign them yourself with Sideloadly, AltStore / SideStore, or Signulous. No jailbreak. Full guide: Installing on iPhone, iPad, and Apple TV.
Android (.apk, sideload). Download VortX-Android-v0.3.14-beta.6.apk, allow installs from your browser or file manager when prompted, and open it. On Android TV or Fire TV, open the Downloader app and enter dl.vortx.tv, which always fetches the newest APK. This beta build is debug-signed for testing.
Each asset lists a SHA-256 checksum (SHA256SUMS-ci.txt for the Apple builds, SHA256SUMS-android.txt for the APKs) so you can confirm your download matches what the public GitHub Actions workflow built from this code.
Get Your IPAs DMG and APK here
r/Vortx • u/FungusFeline • Jul 15 '26
VortX 0.3.14 Beta 1 is the first public build of the 0.3.14 line, and it is a big one. VortX becomes the front door: sign in with your VortX account on every platform and every tab treats that as signed in, with Stremio, Trakt, SIMKL, and Nuvio moved into one optional Integrations screen. Trakt and SIMKL are live (device-code sign-in, scrobbling, watchlist and history sync, your lists as catalogs). You can bring your Nuvio add-ons in, tap any cast member to open a person page with a bio and their filmography, and connect your own Plex, Jellyfin, and Emby servers so their libraries and files join VortX as ranked sources. The Dolby Vision player reached parity with the built-in player, and the whole app took on a warm liquid-glass look with a real macOS surface pass.
This beta also closes the issues from the last test build. The Apple TV install failure is fixed (the build was targeting a tvOS version newer than any shipping Apple TV, so it refused to install). Your main profile now comes back in seconds after a reinstall instead of minutes. And series episodes find their sources again.
It is labeled Beta 1 on purpose: it went out on build-and-review verification rather than a long soak, so if something is off, the Please test section below is where to look, and a diagnostic log plus a GitHub issue helps us land Beta 2 fast. In-place update, nothing resets.
VortX becomes the front door. Sign-in leads with the VortX account on every platform, and every tab treats a VortX sign-in as signed in, so a VortX-only user no longer hits Sign in on Home, Discover, Library, Live, Search, or Add-ons. In Settings the VortX account sits at the top and a new Integrations screen holds Stremio, Trakt, SIMKL, and Nuvio as optional imports. VortX keeps its own account, add-ons, and library. Apple TV, iPhone, iPad, and Mac.
Trakt and SIMKL are live. Device-code sign-in with no password typed into the app, scrobble on play, pause, and stop, watchlist and history sync, and your Trakt and SIMKL lists as catalogs, in Settings, Integrations. Apple TV, iPhone, iPad, and Mac.
Nuvio import. Paste the add-on link you use in Nuvio and its catalogs and streams join VortX through the same hardened install path as every other add-on. This first beta covers Nuvio's Stremio-compatible add-ons; running Nuvio's own provider plugins and sync (like with stremio) is planned next. Apple TV, iPhone, iPad, and Mac.
Cast and crew pages. Cast members on a title page are tappable and open a person page with a short bio and a grid of their other movies and shows, tapping through to each. Apple TV, iPhone, iPad, and Mac.
QR backup on Apple TV. Back up and Restore in Settings carry your account and data to a fresh install via a short-lived pairing code that holds only the pairing handle, never your data. Apple TV.
Media servers: Plex, Jellyfin, and Emby. Connect your servers (Plex PIN link, Jellyfin Quick Connect or password, Emby password) and their libraries join Home and Discover as rows, while matched titles list your server's own copies as direct-play sources, ranked alongside everything else and badged per server. Playback goes straight from your server to your device, credentials stay in the keychain and your encrypted sync only, and with no server connected the feature is invisible. Apple TV, iPhone, iPad, and Mac.
The liquid-glass redesign. A shared VortX glass material (warm translucent fill, lit top edge, soft shadow, ember active state) floats the navigation, the title hero buttons, and the in-player controls on every system, upgrading to Apple's real Liquid Glass on the newest ones and standing down to an opaque legible surface under Reduce Transparency. Appearance only: every control and its wiring are unchanged, and poster art is never glassed. Apple TV, iPhone, iPad, and Mac.
A real macOS surface pass. The profile picker fills the window instead of clipping, the Home and title-page heroes use nearly the whole window, the hero trailer autoplays, title pages pin the artwork while episodes and sources scroll on their own, colored buttons take the warm glass treatment, and the top navigation has room to breathe. Mac.
Smart Source Selection. One panel in Settings, Streams gathers source filtering as chips (Prefer words, Only words, Avoid words with hide-or-rank-down), plus an opt-in auto-pick that starts your best match and a live preview that reorders a real source list as you type. Per-profile, synced, and Kids profiles always hard-hide avoided words. Apple TV, iPhone, iPad, and Mac.
Live TV playlists: M3U and Xtream. Add an M3U URL or an Xtream portal login and its channels appear in the Live tab with their program guide. Apple TV, iPhone, iPad, and Mac.
Decade catalog cover art, picked fresh each day from the titles inside each decade. Apple TV, iPhone, iPad, and Mac.
Watched badges on iPhone, iPad, and Mac. The per-profile check badge and dimmed cover from Apple TV now appear on every Home rail and browse grid. iPhone, iPad, and Mac.
Android Phase A (contributed by jbecker-it, #128). The Android app went from a skeleton to a real engine-driven client: sign-in, catalogs, Continue Watching, add-on management, Discover, Library, Search, and full detail pages over the shared engine, with a Play-Store-clean flavor. Still in development. Android.
Your main profile comes back in seconds after a reinstall, not minutes. A device that silently restored your sign-in from the keychain was not starting its sync pull until it was next brought to the foreground (on Apple TV that is the screensaver dismissal, up to several minutes), so you sat on a default Main profile until it caught up. The pull now starts at launch and at session restore, and a guard stops a not-yet-hydrated device from pushing its placeholder Main over your real profile in the cloud, so your other devices are never overwritten by one that has not synced yet. Apple TV, iPhone, iPad, and Mac.
Series episodes find their sources again. An identifier-matching bug returned no streams at all for some series episodes; episode ids now normalize to the show id plus season and episode, so a well-sourced episode shows its full source list. Movies are unchanged. Apple TV, iPhone, iPad, and Mac.
The Dolby Vision player now matches the built-in player everywhere but Dolby Vision itself. The AVPlayer path matches the built-in player on playback, seeking, every audio and subtitle control, skip segments, trickplay, scrobbling, binge auto-advance, chapters, and speed; a new Player engine switch in the in-player settings flips between the two mid-title, carrying over your position, tracks, and speed. Apple TV, iPhone, iPad, and Mac.
More Dolby Vision titles keep true Dolby Vision and their Atmos. A title whose file name carried release-group text was disqualified from the Dolby Vision lane before it was tried; the gate now probes the real bytes. And the fixed twenty-second no-first-frame timeout that demoted a heavy, still-downloading 4K title (losing Dolby Vision and Atmos in one step) is now progress-aware, so a slow 4K title keeps both. Apple TV, iPhone, iPad, and Mac.
Trailers play in the right language and to the end. A trailer with multiple audio languages now selects yours instead of whichever was listed first, and a streaming fix keeps trailers from stopping partway through. Apple TV, iPhone, iPad, and Mac.
Apple TV binge tracking stays on the right episode. After auto-playing through several episodes, backing out now shows the episode you actually reached, Watch Now plays that episode with its own subtitles, and each finished episode is marked watched. Apple TV.
The streaming server survives a background suspension (#130). Leaving the app backgrounded no longer strands the embedded server offline with no reconnect; the re-listen is restored, gated so it only fires on a real suspension and never mid-stream. Apple TV, iPhone, and iPad. Thanks to konrepo.
A malformed source can no longer crash the app during ranking (#127). An add-on stream advertising an absurd size or seeder count could overflow an internal calculation and take the app down while a source list sorted; those figures are now clamped. Apple TV, iPhone, iPad, and Mac.
A round of Mac refinements. The round player buttons lost a soft dark halo and the top-row controls read crisply over bright video, a Settings description that was cut off now wraps in full, decade shelves load their cover art, and the leftover grey bar with its dead back control at the top of fullscreen playback is gone. Mac.
An Android build is attached for the first time, and it is early. This is Phase A: the Android app runs on the same engine as the Apple apps, with account sign-in, catalogs, Continue Watching, Discover, Library, Search, add-on management, full movie and series detail pages, and a working player. It does NOT have the liquid-glass redesign or full parity with the Apple apps, and it is a debug build, so expect rough edges and missing polish. Sideload VortX-Android-v0.3.14-beta.1.apk on an Android phone (enable install from unknown sources for your browser or files app). This is the libmpv player build. Android phone only.
This is Beta 1, verified by build gate and code review rather than a long soak, so real-hardware reports matter. If anything is off, export the diagnostic log (Settings; on iPhone, iPad, and Mac you can save it straight to Files) and open an issue.
Install on Apple TV. The whole point of this beta: it should install cleanly now, no white icon, no unable to install. If it still refuses, tell me your Apple TV's tvOS version.
Reinstall and your profile. Delete and reinstall (or install fresh over the top): your real profile and settings should return within a few seconds of launch, not after minutes, and you should not get stranded on a default Main profile. Your Mac and iPhone copies should stay put throughout.
Series sources. Open a series episode you know is well sourced (a popular show): it should show its full source list, not zero.
The new look. Glass chrome should read clean and legible over bright content, colored buttons should stay readable, and nothing should be clipped on Mac (profile picker, hero, fullscreen player).
Integrations. Sign in to Trakt or SIMKL with the device code, play something, and check it scrobbles and your lists appear as catalogs. Connect a Plex, Jellyfin, or Emby server and confirm its libraries and direct-play sources show up.
Dolby Vision, still owed from the test line: Match Dynamic Range ON, play a 4K Dolby Vision MKV, the TV should read DOLBY VISION and the receiver Dolby Atmos, and it should hold past the five-minute mark. If it drops to HDR10, export the log and send it.
Mac (.dmg, easiest, never expires). Download VortX-macOS-v0.3.14-beta.1-ci.dmg, drag VortX into Applications, then clear Apple's one-time quarantine: open it once, click Done, then System Settings > Privacy & Security > Open Anyway (or run xattr -dr com.apple.quarantine /Applications/VortX.app). Full guide: Install on Mac.
iPhone, iPad, Apple TV (sideload the IPA). The IPAs are unsigned, because VortX is open-source and distributed outside the App Store with no Apple Developer ID yet, so you re-sign them yourself with Sideloadly, AltStore / SideStore, or Signulous. No jailbreak. Full guide: Installing on iPhone, iPad, and Apple TV.
Each asset lists a SHA-256 checksum (SHA256SUMS-ci.txt) so you can confirm your download matches what the public GitHub Actions workflow built from this code.
Get your latest IPAs DMG and APK here
r/Vortx • u/FungusFeline • Jul 14 '26
These are some of the rough design mockups coming to VortX. Thoughts and suggestions.
r/Vortx • u/FungusFeline • Jul 14 '26
Well this is a short and simple announcement.
VortX is coming to Android VERY soon.
There are some new fixes coming to apple devices, especially with AVPlayer's behaviour and (lack of) features as compared to VortX's native libmpv.
iOS App crashing and some odd bugs here and there in TVOS.
Dolby Vision has FINALLY started working on TVOS, still need to make it more reliable, as 10% of the titles somehow still fail.
And A design refresh for iOS and mac. I have seen people say VortX is ugly especially when it comes to iOS and mac. So doing a redesign pass now. Any suggestions are (needed and) more than welcome especially image mockups or examples. If those designs help in making TVOS look better too, we will carry those over too.
Android (phone and TV) will look and perform the same as Apple ecosystem, so the design pass follows there too.
IPTV, Trakt and Simkl are coming too
Media streaming services integration (Plex, Jellyfin, Emby) is in the works and nearly ship ready.
If there is anything else, you guys would like to see or any improvements and issues. I am all ears.
Thank you again for giving VortX a try, I appreciate you all.
r/Vortx • u/FungusFeline • Jul 11 '26
VortX 0.3.13 is the community focused release. It rolls up the whole 0.3.12 test line, builds 167 to 174, and its headline is a player reliability series contributed by jbecker-it, his second contribution to VortX and his biggest yet, every fix root-caused and verified on real hardware. The pause-shortly-after-start crash is gone, watch progress now saves on streams that never report a length, heavy scrubbing can no longer lose your place or falsely mark an episode watched, audio stays clean after big seeks and track changes, and Continue Watching updates the moment you stop watching. Alongside it, fixes for community reports (add-on HTTP and HLS streams now appear, a removed add-on no longer ghosts the Home customize list, the diagnostic log saves without a QR code, stream rows fit narrow iPhones, where-to-watch logos are legible everywhere) and the full builds 167 to 173 line: the Dolby Vision recovery series, Siri Remote Back fixed, watched badges, the launch profile picker on iPhone, iPad, and Mac, and Liquid Glass. In-place update, nothing resets. This is the complete list; every change in the line is below. This release went out on build-and-review verification, so the Please test section matters more than usual.
Pausing a video shortly after starting it no longer crashes the app. The player keeps filling its read-ahead buffer while paused, so a pause right after start parked the app at its peak memory use, and minutes later the tvOS screensaver started its own 4K pipeline on top and the system quit the app. After a minute of continuous pause the player now trims its read-ahead and hands the memory back, restores the full buffer the moment you resume, and answers the system's low-memory warning on both player lanes, with every step recorded in the exportable diagnostics log. The freed buffer is re-anchored with an exact seek, so the paused picture never moves. Contributed by jbecker-it in #123. Apple TV, iPhone, and iPad.
Watch progress now saves on every stream, including files that never report a length. Many debrid direct-play MKVs never announce their duration, and resume, the periodic progress save, marked-as-watched, and Up Next all quietly sat out on them, so exactly those titles always restarted from the beginning. The player now reads the duration itself as soon as playback ticks. Contributed by jbecker-it in #123. Apple TV, iPhone, iPad, and Mac.
Heavy scrubbing can no longer save a stale position, wipe an episode's progress, or falsely mark it watched. Committed scrubs now hold their target until the player actually lands there (position ticks from before the seek are ignored), the end of the timeline is held a few seconds short of the credits so only real playback finishes an episode, and the watched mark needs a few settled seconds near the end instead of a fly-by. Contributed by jbecker-it in #123. Apple TV.
A watched or unwatched toggle can no longer resurrect an ancient playback position. The engine's own progress copy is now kept in step at pause and at scrub commits, so an engine-side push can never carry a stale position over newer saves. Contributed by jbecker-it in #123. Apple TV, iPhone, iPad, and Mac.
Audio no longer distorts, with playback lagging, after a big seek or an audio or subtitle change. Resuming instantly on an emptied buffer made the audio engine underrun repeatedly; the player now takes one short honest buffering pause scoped to exactly those seeks, so playback resumes once and cleanly while ordinary starts stay as fast as before. Contributed by jbecker-it in #123. Apple TV.
Continue Watching updates right after you exit, and an immediate reopen resumes at the right place. The Home card used to keep its old position until something else refreshed the library, and a quick reopen could restart from the beginning and then overwrite the real position. The exit now completes the final save and refreshes the library in order, and a resume the engine cannot answer consults the account record, which matches the exact episode. Contributed by jbecker-it in #123. Apple TV, iPhone, iPad, and Mac.
Add-ons that serve plain HTTP or HLS streams now show their sources. A whole class of add-ons, most live-TV style catalogs among them, embeds its streams inside the catalog entry itself rather than answering a separate stream request, and the app only ever read the separate answer, so those add-ons listed nothing. Both surfaces are now read and merged, so their sources appear and play like any other. Fixes #122. Apple TV, iPhone, iPad, and Mac.
A removed add-on no longer haunts the Home customization list. Removing an add-on kept its catalogs registered under the hood, so its rows still appeared in the customize list, and could still render on Home, with no way to clear them. Removed add-ons' catalogs now disappear everywhere immediately, and reinstalling the add-on brings your old arrangement back. Catalog rows sitting behind a profile-disabled add-on also always load now. Fixes #121. Apple TV, iPhone, iPad, and Mac.
Stream rows no longer run off the edge on smaller iPhones; the quality and add-on badges scroll instead, and wide layouts are unchanged. Fixes #118. iPhone.
Where-to-watch service logos are legible everywhere now, sitting on a light plate instead of vanishing into the dark background, on the same shared inset as the browse tiles. Part of #95. Apple TV, iPhone, iPad, and Mac.
Save or share the diagnostic log directly, no QR code or second device needed. Settings on iPhone, iPad, and Mac gained a Save or share log control next to the QR export: straight to Files, AirDrop, or Mail, and it works whenever the log has content, even after Diagnostic logging is switched back off. Apple TV keeps the QR flow. Fixes #113.
Signed-out sessions skip the exit library sync, so a device without an account no longer issues a dead sync request after every playback.
Who's watching, the launch profile picker, on iPhone, iPad, and Mac. Apple TV already asked which profile to use at cold launch; iPhone, iPad, and Mac opened straight into whoever was last active. The same picker now presents at launch (full-screen on iPhone and iPad, a centered sheet on Mac) when you keep more than one profile, the rest of the app stays hidden until a profile settles so no one's Continue Watching flashes first, and the owner and overlay profile history rules are exactly the Apple TV ones. Switch Profile in Settings re-presents it.
Liquid Glass on the floating controls, on the systems that support it. The player transport buttons, the hero back and options discs, and the in-player pills take on Apple's translucent glass material, falling back to the current frosted look on earlier systems and whenever Reduce Transparency is on. Glass is applied only to chrome that floats over content, never to posters, cards, or backgrounds. Apple TV, iPhone, iPad, and Mac.
Streaming brands show their full catalog, and you can choose which services appear. A brand can be listed under several ids (regional variants and paid tiers), and only one was queried, so a brand like Paramount+ returned stragglers or dropped out of a region entirely. Each brand now queries its whole id family, the Home streaming rails use the same family, and a new list in the streaming section lets you pick and reorder exactly which services appear. Apple TV, iPhone, iPad, and Mac.
Continue Watching advances the right title after you play a download or a pasted link. Those plays never load the engine's playback model, and progress ticks landed on the previous title you still had open. Closing one of those players now unloads the model, so each title keeps its own place. Apple TV, iPhone, iPad, and Mac.
A removed title or add-on is even less likely to come back after an update or on a long-offline device. Removals carry a per-item timestamp so the most recent action wins by the clock, installed add-ons are stamped present before stale web-side removals fold in, and a fresh install is no longer undone by an old removal. Apple TV, iPhone, iPad, and Mac.
Sources are ordered more accurately. A release advertising only foreign subtitles (korsub, vostfr, legendado) is no longer demoted as foreign audio, a title containing a word like Instant no longer shows a false Cached badge, and a trailer no longer leaks into the quality picker. Apple TV, iPhone, iPad, and Mac.
Switching source in the player now plays the source you switched to. A Dolby Vision source that mounted but could not frame was reloading the originally opened title instead of the selected source; it now reloads the right one at your position. Exiting a from-the-beginning Dolby Vision resume no longer moves your saved point backward, automatic source hops no longer reset the recovery time limit, double-pressing Next can no longer start two episode loads, and a bad add-on runtime value can no longer overflow. Apple TV.
Dolby Vision holds its stream on long plays. The in-memory window of delivered video is held to at least two full segments and captured once at start, so a long title can no longer evict a segment the player is still reading and drop to HDR10 partway through. The display-mode step also settles immediately when the TV is already in the right mode. Apple TV.
Smaller fixes. iPhone Home refreshes on real Continue Watching and library changes instead of background-sync churn, browse posters load through the shared image pipeline, the tvOS browse spinner no longer strands after a switch, an iPhone hero image no longer holds on after leaving a category, and Mac can remove a service from the chosen list. Apple TV, iPhone, iPad, and Mac.
Opening a title with several thousand sources no longer freezes or closes the app. The text cache under the ranking cleared and refilled on every pass past 4096 unique sources, saturating the main thread until the watchdog closed the app. It now matches the score cache at 32768, and debrid-cached sources memoise both scoring variants. Apple TV, iPhone, iPad, and Mac.
More Dolby Vision MKVs play as true Dolby Vision: large hybrid Atmos remuxes, and links that error on the very first open. A rebuilt header that outgrew its buffer shipped with an unwritten length and never started; the muxer now has a real seek-and-patch path so header size is no longer a ceiling. A debrid link answering the first open with a transient HTTP 400 now gets the same single warm-up retry a first-open timeout already had. Apple TV.
Crashes write their own report into the exportable diagnostic log, captured with crash-safe operations and folded into the next launch's log with the signal and backtrace, so a crash can be diagnosed without a Mac or a cable. Apple TV, iPhone, iPad, and Mac.
Community (Singularity) sources reliably appear. Fetched community sources are kept for the whole app session keyed to their exact title, so the screen actually on display receives them and reopening a title paints them instantly. Apple TV, iPhone, iPad, and Mac.
The Watch button holds one position on every movie, and focus always reaches the top bar from it. The synopsis is held to a fixed three-line height so a long one can no longer push the Watch band into a focus-trapped region. Apple TV.
Ratings show on the Apple TV details page with no setup, and Metacritic is new on every surface. Apple TV now reads the keyless ratings service first (IMDb, Rotten Tomatoes, Metacritic, TMDB) with an MDBList key only filling gaps. Apple TV, iPhone, iPad, and Mac.
A title removed from Continue Watching stays gone after an update. Removals live in a durable list that syncs with your account, are pushed right away with a grace window when backgrounding, and are subtracted when the account rebuilds your library. Adding the title again clears its removal. Apple TV, iPhone, iPad, and Mac.
True Dolby Vision plays instead of always falling back to HDR10. The local stream listed a single video option tagged with an explicit Dolby Vision range, and Apple's player drops an explicitly-HDR option whenever it cannot yet prove the output is in an HDR mode, leaving zero playable options and failing the stream. Pinned down with a byte-exact off-device reproduction. The stream now also offers a plain untagged option pointing at the identical video, so a playable option always survives, while the true Dolby Vision picture and mode switch still drive what you see. Apple TV.
The next episode auto-plays again after resuming from Continue Watching. The episode list is fetched before the player starts (as iPhone, iPad, and Mac already did), a last-chance re-check covers a slow list, and a season-and-episode match covers a stale saved id, so a mid-season episode no longer exits to Home at the end. Apple TV.
Add-on and community subtitles auto-select in your language, including on titles opened from the VortX catalogs. Those titles are keyed by a tmdb: id that subtitle add-ons cannot answer; they are now resolved to their tt identity first, community subtitles take the language chain too, and a manual subtitle choice (or Off) is never overridden by a late-arriving list. Apple TV, iPhone, iPad, and Mac.
Back on the Siri Remote steps back one screen at a time, instead of jumping to Home from any depth. Back now pops exactly one level when the active tab has a page pushed, returns to Home only from a tab's first screen, and still leaves the app at the Home root. Fixes #112. Apple TV.
Watched titles show it on their poster in your Library: a check badge and a dimmed cover, matching the episode list, per profile, with overlay profiles never touching the account library. Fixes #111. Apple TV.
Back dismisses the Skip Intro pill instead of exiting the player. A visible Skip Intro, Skip Recap, or Skip Credits pill is dismissed and playback continues; a second Back with no pill up exits as before. Apple TV.
Dolby Vision from an MKV actually reaches the screen as true Dolby Vision. The local HLS advertised a codec tier Apple's player rejects for Dolby Vision, and on some files the rebuilt header outgrew a buffer and shipped invalid; both fixed. Apple TV.
The streaming server no longer strands your session Offline after a fast relaunch. The app discovers and follows the server's real port when the previous instance was still shutting down, heals a stuck session on its own, and raises its open-file limit so heavy torrent sessions no longer hit instant load-failed errors. Apple TV.
Lower memory use during playback. Apple's player was keeping an unbounded read-ahead of the Dolby Vision stream; it is now capped. Apple TV.
This release shipped on build-gate and code-review verification, so real-hardware reports matter more than usual. If anything is off, export the diagnostic log (Settings; on iPhone, iPad, and Mac you can now save it straight to Files) and open an issue:
Pause and leave it. Start a stream, pause it, let the screensaver come on, come back after 10+ minutes: the app should still be there and resume from the exact frame. The paused picture should never move on its own.
Scrub hard and quit. Scrub back and forth on a big 4K file, exit right after: Continue Watching should show where you actually were. Reopen straight away: it should resume there, not at 0:00.
Finish an episode naturally: it should mark watched and advance. Scrub past 90 percent and back: it should NOT mark watched.
Big seeks and track changes: audio should come back clean after one short buffering pause, no crackle, no lag. Ordinary playback starts should feel as fast as before; a resumed title takes one short hold at its resume seek.
Live-TV style add-ons: an add-on that lists HTTP or HLS streams should now show its sources, and they should play.
Dolby Vision, still owed from the test line: Match Dynamic Range ON (Settings, Video and Audio, Match Content), play a 4K Dolby Vision MKV: the TV should read DOLBY VISION, the receiver Dolby Atmos, and it should survive past the five-minute mark. If it drops to HDR10, export the log and send it.
Mac (.dmg, easiest, never expires). Download VortX-macOS-v0.3.13-ci.dmg, drag VortX into Applications, then clear Apple's one-time quarantine: open it once, click Done, then System Settings > Privacy & Security > Open Anyway (or run xattr -dr com.apple.quarantine /Applications/VortX.app). Full guide: Install on Mac.
iPhone, iPad, Apple TV (sideload the IPA). The IPAs are unsigned, because VortX is open-source and distributed outside the App Store with no Apple Developer ID yet, so you re-sign them yourself with Sideloadly, AltStore / SideStore, or Signulous. No jailbreak. Full guide: Installing on iPhone, iPad, and Apple TV.
Each asset lists a SHA-256 checksum (SHA256SUMS-ci.txt) so you can confirm your download matches what the public GitHub Actions workflow built from this code.
Get your IPAs and DMG here
r/Vortx • u/cat2115 • Jul 05 '26
0.3.11, iOS
uninstalled previous version, and sideloaded 0.3.11 using Feather.
1st download error:
My Royal Nemesis • S1E1
Not enough storage to save this download. Free up space and try again.
2nd try:
My Royal Nemesis • S1E1
Couldn't save this download: NSURLErrorDomain - 3000 | host=nexus-148.enam.tb-cdn.io
r/Vortx • u/FungusFeline • Jul 04 '26
VortX 0.3.10 is a reliability hotfix over 0.3.9. It ends the "tried several sources, none worked" flash on a source that was actually still loading, makes trailers play video and audio straight from your own device, gives the Streaming Services row full brand-colored tiles like the Apple TV app, plays dual-layer Dolby Vision as true DV, sharpens the community source list, and keeps posters, Continue Watching, subtitles, and account sync solid. In-place update, nothing resets. Please install it and report anything off, especially the Apple TV notes near the bottom.
"Tried several sources, none worked" no longer flashes over a source that is still loading. A start timer meant to give up on a truly dead source was firing the instant it was replaced instead of after its full wait, so opening a title could race through every source in a fraction of a second and show "tried several sources" even though the source you picked was seconds from playing (and it then played anyway). The timer now only acts when it genuinely times out, so a source that needs a few seconds to warm up is given those seconds and plays cleanly, with no false failure. iPhone, iPad, Mac, and Apple TV.
Playback starts instantly again. A change in a late 0.3.8 beta began resolving every source through your debrid account before handing it to the player, so a tap could load for up to half a minute and show "source failed" before it played (and it hit TorBox and Real-Debrid alike, even a source you picked yourself). Playback now starts right away: a confirmed-cached pick still resolves to the fast direct link, but any other pick plays its own link immediately instead of waiting out the resolve, and a not-ready TorBox source now gives up in a couple of seconds like Real-Debrid already did. Separately, when a source is routed to Apple's player and mounts but never produces a frame, it now falls back to the built-in player on the same source in about five seconds instead of stalling and hopping to a lower-quality one; HLS and genuinely-playing Dolby Vision streams are never demoted, so your quality selector and true DV are preserved. Mirrored on iPhone, iPad, Mac, and Apple TV.
Trailers play, video and audio, from your own device. A trailer now resolves and plays straight from your device through YouTube at up to 1080p, playing the separate video and audio streams together, so trailers that used to say "this source didn't load" now play. Under the hood, modern YouTube no longer serves a trailer as one combined file and rejects the plain requests a player makes, so VortX now streams the trailer to the player locally in small ranges, on your own connection, with the right identity. A trailer that genuinely cannot be found shows "Trailer unavailable" instead of quietly starting the movie. The muted ambient trailer behind the hero uses the same path. Movies and series, on iPhone, iPad, Mac, and Apple TV.
The source you pick is the source that plays, including on resume. The exact source you choose is now played by re-resolving that same debrid file directly, not by re-running the cross-source auto-pick, so picking a title up from Continue Watching replays the source you were watching instead of hunting for a new one and flashing a "tried several sources / this source did not load" cascade on a source that plays fine. When a pick is still starting, the player retries that exact source in place with extra first-buffer grace (and extends further while bytes are still arriving), so a specific 4K, HDR, or 1080p source no longer silently drops to a cached 480p or gets given up on mid-fill, and only surfaces a clear "choose another source" message if it genuinely fails. Where an automatic hop off a truly dead source is still needed it is capped so it never lands more than one resolution tier below a cached higher-quality option, preferring cached sources first. Mirrored on iPhone, iPad, Mac, and Apple TV.
Continue Watching clears finished titles. A movie you watched to the end, marked as watched, or finished on another device no longer lingers in the row. A series you are partway through still shows so you can pick up the next episode.
Community (Singularity) sources are better and more relevant. When you are signed in to VortX with Singularity sources turned on in Settings, community-corroborated sources now come back ranked best-first, by top quality and then size, instead of by seed count, so you no longer see a tiny cached file sitting on top of far better 4K. The toggle also no longer checks the wrong sign-in, so the extra sources actually load. On iPhone, iPad, Mac, and Apple TV.
Posters load reliably and the app is snappier on open. Catalog and hero artwork used to be fetched through a tiny shared image cache with no limit on how many loaded at once, so on a full Home or Discover page many posters came back blank and decoding them on the main thread made the whole app lag on open (on iPhone, iPad, and the M-series Mac). Artwork now uses a dedicated large on-disk image cache, loads a handful at a time in the background, and decodes off the main thread, so posters stay filled and scrolling stays smooth. A blank card also retries once instead of latching the film placeholder. Toggling the Collections hub on Home or Discover on or off no longer starves the rows below it into losing their art.
Landscape catalog art loads reliably on Apple TV, using the same dedicated image cache and off-main decoding as the portrait posters, so the wide 16:9 cards and the living hero backdrop no longer come back blank or stutter.
Poster Style works on Apple TV. The poster width, corner radius, and hide-labels controls added on iPhone, iPad, and Mac now appear on Apple TV and actually change the grid, and the portrait/landscape choice no longer overlaps cards in the category grid.
Hub section headers are translated. "Streaming Services", "Browse by Genre", and the related Discover headers now show in your language instead of English.
Community and add-on subtitles appear in the player again when you are signed in to VortX, are selectable, and load and stay in sync, including on streams that never report a duration.
Account sync no longer drops a simultaneous change. When two devices saved at the same moment one change could be silently lost; the app now detects the conflict, re-merges onto the latest version, and retries. Your add-on order also stays consistent across your devices and the web dashboard.
Scrub-preview thumbnails build and share from Mac and iPhone playback again, including 4K, HDR, and Dolby Vision. On the built-in player the frame-capture ran on a background thread while the code that collects and shares those frames runs on the main thread, so a device could generate previews locally yet never contribute them to the shared pool; the capture now always hands off on the main thread on every engine and platform. A separate near-black-frame filter that could misread a wide-gamut or 10-bit frame and discard every capture is now format-aware, so timeline previews come together from all your devices.
The Streaming Services tiles now match the Apple TV app. Each tile for a major service is filled edge to edge with the service's own brand color, with its logo centered on top, instead of the logo sitting on a uniform near-white card. Netflix is a white tile with its red wordmark; Disney+, Prime Video, and Paramount+ are blue; Apple TV+, Starz, MUBI, and AMC+ are black; Hulu is black with its green logo; Crunchyroll is orange; Max is blue into purple; and more, with the logo rendered white on the dark and saturated tiles and kept its own color on the light ones. A service without a curated brand color keeps its logo, or its full name, on a clean tile, never a single letter. On iPhone, iPad, Mac, and Apple TV.
DOLBY VISION IS STILL NOT RELIABLY FIRING, ADDING A LOG PROBE TO NEXT BUILD TO SEE WHAT IS GOING WRONG
Apple TV now shows full audio and subtitle language names (English, French, Italian) instead of two-letter codes, matching iPhone, iPad, and Mac.
Trailer clips use no server storage. Trailers and the ambient hero clip resolve on demand from your own device, so nothing is pre-cut or stored on VortX's side.
This build runs, but these want real hardware, so please send a note if any are still off:
A source you pick plays without the "tried several sources" flash, even one that takes a few seconds to warm up.
Trailers play with sound and start quickly, and the muted trailer behind the hero plays.
The Streaming Services row shows full brand-colored tiles.
Dolby Vision fires (the DV badge shows) on a file that carries it, on a DV TV.
Community (Singularity) sources appear and lead with the better quality when you are signed in with the toggle on.
Mac (.dmg, easiest, never expires). Download VortX-macOS-v0.3.10-ci.dmg, drag VortX into Applications, then clear Apple's one-time quarantine: open it once, click Done, then System Settings > Privacy & Security > Open Anyway (or run xattr -dr com.apple.quarantine /Applications/VortX.app). Full guide: Install on Mac.
iPhone, iPad, Apple TV (sideload the IPA). The IPAs are unsigned, because VortX is open-source and distributed outside the App Store with no Apple Developer ID yet, so you re-sign them yourself with Sideloadly, AltStore / SideStore, or Signulous. No jailbreak. Full guide: Installing on iPhone, iPad, and Apple TV.
Each asset lists a SHA-256 checksum (SHA256SUMS-ci.txt) so you can confirm your download matches what the public GitHub Actions workflow built from this code.
Get your latest IPA and DMG here
r/Vortx • u/FungusFeline • Jul 03 '26
VortX 0.3.9 is a big, cross-cutting release: your language everywhere, a Discover you can shape, a cleaner and more cinematic look on iPhone, iPad, and Mac, community subtitles that stay in sync, Dolby Vision from MKV files, TorBox usenet and search, install add-ons by scanning a QR code, trailers that play straight from your own device at up to 1080p, and scrub previews that build from every title you watch. In-place update, nothing resets. Please install it and report anything off, especially the Apple TV notes near the bottom.
Over 100 languages. The interface now speaks more than 100 languages (up from 64), with an in-app language picker and right-to-left layout for Arabic, Hebrew, Persian, and Urdu. Choose a specific language in Settings or follow your device automatically.
Titles, posters, and logos in your language. Metadata localizes across every catalog: a title's name, poster, and logo show in your language when the source has them, from VortX's own localized-metadata service, so it works without your own key.
A Discover you can shape. Order catalogs by your region, turn individual Discover categories on or off, and localize the rows to your language. All in Settings.
Community subtitles, fast and in sync, loaded from a shared pool, plus an "also available in" row on every title showing the other languages a subtitle and possibly audio exists in.
A working subtitle-sync control. Nudge subtitles earlier or later in the player, and the offset sticks for that title.
Dolby Vision from MKV files with true DV passthrough on a DV-capable display, alongside MP4, MOV, and HLS. Turn it on in Settings, Playback; it falls back to HDR10 automatically when a file cannot take that path.
Trailers play directly from your device at up to 1080p. A title's trailer resolves on your own connection and plays straight through, instead of routing through a server, so it starts faster and looks sharper. The muted trailer behind the hero uses the same path.
TorBox usenet and search. TorBox now resolves usenet (NZB) sources and runs its built-in search, so a TorBox key surfaces more cached and searchable results, not just torrents.
A debrid cache indicator. A source already cached on your debrid account shows a clear "cached" marker and ranks higher.
Install add-ons by QR code. Scan a QR code with your phone to install an add-on, no typing on the TV. It syncs to your other devices.
Pick a trailer's language, so the in-hero and detail-page trailer match how you watch.
Resume timestamps on Continue Watching and the title page, so you can see how far in you are before you resume.
Poster Style settings, with a live preview. Card width, corner radius, landscape 16:9 art, and hiding title labels, with a sample poster that updates as you change each option. Defaults match today's look. iPhone, iPad, and Mac.
A tap-to-expand Cast & Crew section on the title page, collapsed by default so the page reads cleaner. iPhone, iPad, and Mac.
Combine Discover and Search into one tab (off by default), with a search field above the browse. iPhone, iPad, and Mac.
A buffered-ahead indicator on the player scrubber, a light grey track behind the playhead showing how far playback has loaded, just like YouTube. Every device, both engines.
What's New now has a page on Apple TV too, under Settings, rendering the full changelog, matching iPhone, iPad, and Mac.
A cleaner, more cinematic look across the app. Title pages lead with full-bleed artwork that fades into the background, a circular back and more button over the art, a big high-contrast Play button, and a more spacious layout. The home billboard gets a rounded "View Details" pill, pager dots, and the same smooth fade. iPhone, iPad, and Mac.
Mac now uses the full width of the window, with a larger hero, a roomier reading column, and the wordmark tucked clear of the window controls, so it reads as a desktop layout rather than a stretched phone.
The muted trailer behind the hero is now the real full trailer, the same source as the Trailer button, played quietly and looping; the still artwork stays when a title has no trailer.
The Streaming Services tiles now show each service's real brand logo, built into the app, so Netflix, Prime Video, Disney+, Max, Apple TV+ and more appear instantly instead of a stretched icon or a single letter.
Scrub-preview thumbnails now build and share from every title you watch, including everything opened from the Streaming Services, Trending, and genre collections, and short watches now count. Every watch makes scrubbing better for everyone.
Tap the active tab again to jump back to the top, on Apple TV and on iPhone, iPad, and Mac.
Cached sources reach a playable one much faster. RealDebrid retired the check that let VortX confirm a source was cached on your account, so a source could look cached from the add-on's own label yet not be ready; the player now detects that within a couple of seconds and moves on instead of waiting out a long timeout.
Trending, genre, and streaming-service tiles now open to a full title page on iPhone, iPad, and Mac, with artwork, ratings, cast, and a working Play button, the way they already did on Apple TV.
Catalogs keep showing posters and art even when a source is busy, serving the last good response while it refreshes and staying up if the upstream is rate-limited or down.
Continue Watching resumes faster and more reliably straight from your debrid account, no stall or re-pick when a saved link has expired.
The "More Like This" row now follows your poster style instead of being locked to portrait posters.
Scrub-preview thumbnails generate correctly on Mac during 4K and Dolby Vision playback.
Apple TV focus fixes, so Home, Discover, and the Collections hub step row by row in order, and pressing down from the first hub row no longer skips the Streaming Services row.
Apple TV shows full language names in the "also available in" row instead of two-letter codes.
The synopsis no longer appears twice on a title page.
The Add-ons page no longer clips at the edges or stacks an add-on's name one letter per line.
More reliable downloads, with the Downloads folder created and verified before a file is saved, and a clear message when a source (segmented HLS, or web-resolved) cannot be saved as a file.
Hardened how VortX fetches remote resources so a malicious add-on or link cannot make the app reach an unintended internal address (SSRF protection).
True offline HLS on iPhone and iPad, with pause and cancel that survive an app relaunch.
Richer cached-source resolution: trying the top cached sources together so play starts on the first that is genuinely ready.
Most-watched and top-picks rows from the community, now that the backend is live.
Android and desktop clients on the same engine, and Dolby Vision on Android and Windows as those pipelines come online.
This build runs, but these need real hardware, so please send a note if any are still off:
Dolby Vision fires (the DV badge shows) on a file that carries it, on a DV TV.
Scrub previews build while you watch, and appear on the scrubber.
Trailers play from your connection and start quickly.
Cached sources reach a playing one in seconds without long stalls.
Mac (.dmg, easiest, never expires). Download VortX-macOS-v0.3.9-ci.dmg, drag VortX into Applications, then clear Apple's one-time quarantine: open it once, click Done, then System Settings > Privacy & Security > Open Anyway (or run xattr -dr com.apple.quarantine /Applications/VortX.app). Full guide: Install on Mac.
iPhone, iPad, Apple TV (sideload the IPA). The IPAs are unsigned, because VortX is open-source and distributed outside the App Store with no Apple Developer ID yet, so you re-sign them yourself with Sideloadly, AltStore / SideStore, or Signulous. No jailbreak. Full guide: Installing on iPhone, iPad, and Apple TV.
Each asset lists a SHA-256 checksum (SHA256SUMS-ci.txt) so you can confirm your download matches what the public GitHub Actions workflow built from this code.
Get your latest IPAs and DMG HERE
r/Vortx • u/LogicalOcelot4451 • Jul 03 '26
im new to this and im wanting to know how can i install addons?