0.4.0 Beta 20 - Working iPhone/iPad playback, and a cleaner player
Install this over any earlier Apple build. Beta 20 fixes the immediate playback crash on iPhone and iPad, cleans up the touch player, makes your selected seek-bar style actually appear, and adds pinch-to-Fit/Fill. It also carries the TV-inspired Mac/iPad navigation, fixes controls hidden by the phone's bottom bar, and makes your selected add-on obvious in All sources. Apple build 258.
Beta 19 did not publish: all app builds passed, but creating the Mac disk image failed. Beta 20 retains all of that reviewed app work and builds fresh packages from a new immutable tag, with corrected and verified Mac image sizing. It is promoted as Latest while retaining its beta name.
What's new
A player that leaves more room for the picture. The iPhone/iPad header no longer puts every action in one long row. The title and useful viewing controls stay clear, the play/seek controls are smaller, and previous/next episode actions remain close to playback. The bottom controls scroll rather than squeezing into tiny labels. Secondary actions move into More: volume, AirPlay, sleep, frame capture, lock, playback settings, the skip-times editor, restart and external-player handoff remain available when supported. Picture-in-Picture stays available for AVPlayer. These controls work with the existing player; this is not a replacement playback pipeline.
Pinch to change how the video fills the screen. Pinch out for Fill, or pinch in for Fit, on iPhone and iPad. The header also has a sizing control, and the aspect selector retains Fit / Fill / Stretch. This changes the current AVPlayer layer or VortX Player sizing without reloading the stream, losing position or scaling the controls themselves. Pinching does not change the picture while the player is locked or a player panel is open.
TV-inspired navigation, adapted to a computer or tablet. Mac no longer uses the vertical sidebar from Beta 18. Mac and wide iPad windows have horizontal navigation; phones and narrow iPad windows have a compact bottom bar with at most five targets and a More menu for the other visible destinations. Add-ons and Settings remain reachable, hidden-tab choices stay respected, and Mac keyboard/search shortcuts and in-window Settings remain in place.
What's fixed
Pressing Play on iPhone or iPad no longer hits the reported startup crash. The crash occurred while SwiftUI constructed the player controls, before a source could begin playing. The timeline, markers and skip editor now have small, separate view components instead of one deeply nested construction. Their actions, buffer/chapter markers, scrub previews and skip editor are retained. The private build containing this correction was tested by the reporter and playback worked; Beta 20 retains that correction and its regression tests.
Wave really means Wave in the touch player. The shared renderer already supported fourteen seek-bar styles, but the iPhone/iPad player always mounted a normal slider and never read the style setting. It now uses the selected renderer for the actual seek bar, not just a settings preview. The draggable area remains 44 points tall, with VoiceOver adjustment and the existing seek/preview callbacks. Animated styles stop animating when playback is paused, the controls are hidden, or Reduce Motion is enabled.
The iPad navigation no longer stretches into a mostly empty capsule. The bar fits its destinations when they fit and retains a scrolling fallback for narrower windows or longer labels. Mobile navigation reserves its own layout space, so the detail-page back button and the app navigation do not compete for the same strip.
All sources stays above the phone's bottom bar. The mobile shell now gives its navigation a real share of the layout instead of relying only on an inherited safe-area inset through nested detail views. Scrolling content has its own unobscured viewport. Quality, Player, Audio and the other filter chips also use a single clipped glass edge, avoiding the doubled outlines in the screenshots.
Search is visible instead of hiding behind the menu. The iPhone/iPad Search page now owns a search field at the top, rather than letting the system put it in a bottom accessory behind VortX's navigation. Clear, keyboard submission, inline suggestions and the existing debounced add-on search are retained. The Mac search bridge remains unchanged.
The selected add-on is obvious in All sources. The active filter now has a solid accent fill and a checkmark, not just the generic chip's faint tint. All and each add-on retain their existing filter action, and VoiceOver exposes the selected state.
The Mac download is checked as an installable disk image. The packager no longer relies on an automatic size estimate that filled the image filesystem while the runner still had free disk space. It measures the signed app's apparent size, adds explicit filesystem headroom and checks host free space separately. It then verifies and mounts the completed image read-only, checks the app metadata and matching signature, audits framework links, and confirms the Applications shortcut before accepting the package. App contents and framework links are preserved.
Retained from Beta 18. This release is built from current reviewed source, not an older beta checkout. The earlier playback recovery, subtitle settlement, add-on ordering/account history, direct indexers, multiple NNTP-server support and other completed changes are retained. See the Beta 18 notes for that full list. The release pipeline also retains the reviewed file-backed feed handoff and source/artifact verification repairs.
Android
This is an Apple-only beta. No new Android APK is attached, and Android remains on its existing Beta 18 build, version code 239. The touch-player changes described here do not constitute an Android redesign or a claim of complete Apple/Android parity.
Please test
- On iPhone/iPad, open a source and confirm playback starts without the immediate crash. Try both AVPlayer and VortX Player on compatible content.
- Select Wave or another seek-bar style, reopen the player, and drag the timeline. Confirm the style matches, seeking works and the track stops animating while paused.
- Pinch out/in for Fill / Fit, use Stretch from the aspect selector, and confirm playback keeps its position. Try locking the player and opening a panel too.
- Check portrait/landscape phone and iPad layouts: All sources should be reachable above the navigation, and the top navigation should fit cleanly.
- Open Search, enter a title, clear it, pick a suggestion and submit from the keyboard. The search field should stay visible above the page, not underneath the bottom menu.
- Expand All sources and change add-on tabs. The chosen tab should have the accent fill/checkmark and the list should follow that filter.
- Use More for volume, AirPlay, sleep, lock and the skip editor. Confirm previous/next episode controls still work for a loaded series.
The regression and package checks are not a substitute for physical-device testing of every gesture, source, display or provider. This release does not claim that the broader long-running Dolby Vision, NNTP-throughput or frame-pacing reports are universally resolved.
Install
Mac (.dmg). Download VortX-macOS-v0.4.0-beta.20-ci.dmg and drag VortX into Applications. If macOS blocks the first launch, use System Settings > Privacy & Security > Open Anyway. See Install on Mac.
iPhone, iPad and Apple TV (IPA). Use the iOS IPA for both iPhone and iPad; Apple TV has separate Full and Lite IPAs. Re-sign with your usual sideloading service. For update feeds, use the VortX AltStore / SideStore source. See Installing on iPhone, iPad and Apple TV.
SHA256SUMS-ci.txt accompanies the Apple assets. The protected GitHub Actions release workflow checks tagged source, package versions, signing, asset contents and update-feed publication before completing the release.