Second release of Crucible — a personal Plex client for iOS, built entirely on Arch Linux. Everything since 1.0.0 (the 1.1.0 work is folded in here).
Player
- Skip Intro / Skip Credits driven by Plex chapter markers — seek on direct play, transcode restart on HLS
- Picture-in-Picture with automatic start on backgrounding, plus background audio
- Lock screen & Control Center controls — play/pause, skip ±10s, scrub, and next episode
- Credits-triggered Up Next autoplay and adjustable playback speed
- Direct play for natively-supported codecs, falling back to HLS transcoding
Discovery
- Cast & Crew carousel and More Like This shelf on detail screens
- Handoff & Spotlight deep-linking — hand a title between devices, find recently-viewed media in iOS search
- Automatic best-reachable server connection discovery (prefers local, non-relay, https)
- Fleshed-out Settings: streaming quality, image-cache clearing, source link
Reliability
- Live watched/progress refresh across Home, Library, detail screens, and grids — no more stale badges or progress bars on return
- Mark Watched button and season selection now update correctly
- Grids refetch their full loaded range on return without losing scroll position
- Liquid Glass adoption, transcode-scrub stall fix, and full-screen-gesture dismissal fix
- File-based logger for on-device diagnostics
Built with
- Swift 6 with strict concurrency
- Programmatic UIKit — no Xcode, no storyboards, no macOS
- Cross-compiled from Arch Linux via SwiftPM, deployed over USB via xtool
- Zero external dependencies