github VortXTV/VortX v0.3.14-beta.10
0.3.14 Beta 10

latest releases: v0.4.0-beta.15, v0.4.0-beta.14, v0.4.0-beta.13...
one month ago

0.3.14 Beta 10

KNOWN ISSUE TVOS WON'T GO FURTHER THAN SPLASH SCREEN- FIXED IN BETA 11

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.

Playback

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.

Apple

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.

Android, and a first technical preview

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.

Web (web.vortx.tv)

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.

Under the hood

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.

Still to come, honestly

  • 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.

Please test

  • 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.

Install

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.

Don't miss a new VortX release

NewReleases is sending notifications on new releases.