·
354 commits
to master
since this release
- Fetch VLC directly from download.videolan.org instead of the mirror-selecting get.videolan.org (15ca2b3)
- Surface the real Expand-Archive failure instead of a swallowed exception (f9918db)
- Stop checksum-verifying VLC downloads against get.videolan.org's own mirror-routed sha256 (14ab9a0)
- Mark extern C blocks unsafe for edition 2024, fix mismatched-type build error (48623de)
- Dereference symlinks when bundling libvlc.so on Linux, verify VLC downloads against upstream sha256 (5336771)
- Fix stale VLC checksums, add libVLC bundling diagnostics on Linux (441b85b)
- Bump version to 0.1.30 (7d5989b)
- Move mark-watched into continue watching context menu (c88388c)
- Drop Simkl playback progress too when removing continue watching (243cdaf)
- Import DesktopState in storage.rs (abf3a23)
- Bump tauri to 2.11.5, gate Linux resize handler on decorations (c2da592)
- Persist selected playback source on the same tick as progress (41d38ce)
- Don't mark first frame presented while a resume seek is pending (77f69fe)
- Reliably restart hero slide indicator fill animation (da8ef1d)
- Split CalendarScreen.tsx into calendar/ parts (674921e)
- Split ReactPlayerOverlay.tsx into player/ components and hooks (d2c3073)
- Keep seek preview thumbnail box stable and drop buffered stat row (6c6c484)
- Split usePlayer.ts into focused hooks (6d29d03)
- Move playback/plugin/tmdb decision logic into fluxa-core (f39ed72)
- Split engine.ts into runtime, core-client, content, and library modules (5956f5a)
- Split lib.rs into core_commands, oauth_callbacks, and torrent modules (0b666ed)
- Split storage.rs into library_*_storage and storage_kv modules (ddd8089)
- Split player.rs into player/ submodules (ca74da9)
- Expose mpv seeking status and tighten cache defaults (fb8f84b)
- Extract SurfaceTick struct from linux_player_surface's install() (cdf69b0)
- Split VulkanContext's impl block across linux_vulkan/ submodules (f5aedac)
- Use mpv's async command dispatch for fire-and-forget renderer calls (b5085ab)
- Split MpvRenderer's impl block across mpv_render/ submodules (40f5fd7)
- Unify HeroSection and ModernDetailLayout trailer hooks (19ffe6b)
- Deepen ModernDetailLayout.tsx split into hero/action/meta/season parts (4557e49)
- Deepen App.tsx split with screens module, gate screens, and two hooks (87c54c3)
- Split LibraryScreen.tsx into styles, parts, and two hooks (4c47851)
- Split SearchScreen.tsx into styles and presentational parts (f0336da)
- Split SettingsUI.tsx into icons, options, layout, controls, and rows (55a1183)
- Split ModernDetailLayout.tsx into parts, tabs, and a trailer hook (7dea78c)
- Split App.tsx into constants module and two event hooks (826d62d)
- Split HeroSection.tsx into styles, small parts, and a trailer hook (7ef4242)
- Split AccountSection.tsx into presentation, hook, and detail-view modules (8caab82)
- Derive import category/dry-run gating from fluxa-core (5e64b20)
- Derive cross-provider push plan from fluxa-core (d141f3a)
- Show chosen destination with logo in Import preview (e0d9ad3)
- Show source provider logo next to Import dialog title (b357335)
- Proper dropdown with provider logos for import destination (0cd1f25)
- Replace native select with themed buttons in ImportDialog (1b7ae02)
- Scan-then-confirm flow for Import, showing real counts first (b0a6ec3)
- Push imported categories to another connected provider (fd58e67)
- Add selective category import for sync providers (7b4b3b2)
- Confirm before irreversible library/account/download actions (f3acedc)
- Cap desktop trailer playback at 1080p (111964c)
- Route source-error message through i18n (a26db79)
- Proxy stream requests locally to surface real upstream errors (1d933cd)
- Remove legacy detail screen view, always use modern layout (6d87c5f)
- Rename coreSimklScrobbleAction to coreScrobbleCloseAction (d2371f6)
- Delegate scrobble threshold, subtitle matching/dedup to fluxa-core (1552379)
- Route Trakt/SIMKL sync-delta decisions through fluxa-core (c03b3fb)
- Skip unchanged Trakt sync resources using last_activities timestamps (fe26bd0)
- Show meta detail from the addon the catalog item came from (56b9c7c)
- Increase cast character-name contrast, matching the actor-name treatment (73c2d4c)
- Pick meta/season-episode race winner by addon priority, not network speed (5530f9f)
- Stop cast/crew and trailer-candidate effects from re-firing on unrelated state updates (ad58f59)
- Shrink hero trailer subtitle overlay and remove debug logging (329d50c)
- Try every YouTube trailer candidate for hero autoplay, not just the first (5335cea)
- Stop rating/trailer updates from restarting the cast/crew fetch (bc154b6)
- Make cast avatar photos circular, matching the initials placeholder (c655db7)
- Use Rotten Tomatoes' real Tomatometer/Popcornmeter icon states (8446c28)
- Color Metacritic badges by score, matching Metacritic's own convention (de69b98)
- Auto-fetch detail secondary data and improve rating badge readability (9c0589e)
- Don't let a plugin-storage hydration failure abort the whole boot sequence (060f319)
- Harden MDBList ratings fetch and match TMDB's id-resolution convention (d51d1b9)
- Show MDBList rating logos on the detail screen (a0a2698)
- Serialize Anime4K commands on Windows (eea1e37)
- Stop running the Nuvio boot sync twice on every launch (35497a2)
- Remove per-call performance debug logging (2617f84)
- Go back to full home reload after background sync (9cefded)
- Don't let owner-id resolution failures break addon/plugin loading (d12284e)
- Revert "fix(desktop): retry home load if catalogs come back empty after a background sync" (e26a98d)
- Retry home load if catalogs come back empty after a background sync (00daa57)
- Stop background sync from force-reloading the whole home page (5e9a1ca)
- Make all app settings per-profile (f3877d5)
- Restore missing Turkish diacritics in tr_tr.json (67a3f1d)
- Restrict app language setting to the primary profile (4acbc1d)
- Show granular progress for addons and library import steps (18d8333)
- Confirm before delete, PIN-gate edit/delete with primary override (5721362)
- Show per-item progress during Nuvio watch progress/history import (f53ac0d)
- Stop importing Nuvio's profile settings blob (4809046)
- Avatar pack refresh, sharing checkbox placement, PIN lock badge (5c0b180)
- Scope Trakt sync's library writes to the synced profile (2d58dd9)
- Show HDR badge in player header when playing HDR content (706739d)
- Add primary profile badge and functional addon/plugin sharing (94fd9a9)
- Cache-first home load on profile switch instead of forcing a full addon refetch (299bf90)
- Skip the background Nuvio sync's home reload when nothing actually changed (a78d39b)
- Scope all external-sync library writes to the profile being synced, not whatever is currently active (afb66e4)
- Reset stateRef alongside React state on profile switch to stop the old profile's home data reappearing mid-load (5324dd1)
- Remove temporary profile-switch debug logging (d9b5b2c)
- Scope Nuvio import writes to the imported profile's own storage key (a340c93)
- Add temporary logging to trace the profile-switch continue-watching staleness (fa490b0)
- Await profileActivated before reloading home data to avoid a stale-profile read race (9bb56bd)
- Stop a stale Nuvio sync from silently switching the profile back after a fast profile change (b9548f1)
- Dispatch profileActivated when switching profiles so the core's active-profile state stays in sync (49229b3)
- Reload library data on profile switch via the profile selection screen (82dd073)
- Also gate the automatic startup update check on package-manager installs (2e25a29)
- Hide in-app updater when installed via a system package manager (c55e40f)
- Bump to Rust edition 2024, update GitHub Actions to latest majors (a0b9b5d)
- Publish signed apt/dnf repos and AUR package on release (bf3d74b)
- Stop bundling GStreamer libs in AppImage, causing symbol mismatch with system WebKitGTK (f0ce797)
- Scope multi-profile Nuvio import to each profile's storage key (67326c3)
- Full-page ambient backdrop for modern detail screen (b83af8d)
- Use core-computed calendar artwork priority (066ccf7)
- Schedule ANGLE cache warm-up every 3 days (992a901)
- Merge duplicate subtitle language groups, fix Anime4K toggle revert (f64f653)
- Sync Cargo.lock version after merge (0.1.29) (317b5bb)
- Merge remote-tracking branch 'origin/master' (90a3524)
- HDR display output support (Windows) (bdeea19)
- Find and load torrent-bundled subtitle files, richer mpv track logging (0dbdafd)
- Refresh Cargo.lock for dropped rquickjs bindgen feature (9741d0d)
- Bundle libVLC runtime in CI builds (ff71597)
- Register scrobble lifecycle and Trakt comments effect names (fba52f4)
- Player UX polish (194fcb2)
- Embed libVLC playback instead of a separate window (6087dcd)