-
468d680484
fix(player): keep an explicit track choice through the pending automatic pass
edde746
2026-07-26 23:05:11 +02:00
-
78eedd21d3
style: apply dart format to eight drifted sources
edde746
2026-07-26 23:04:55 +02:00
-
e7f97cc090
refactor(music): move the playback stub beside the tests that use it
edde746
2026-07-26 23:04:55 +02:00
-
01d7d523aa
test(tv): follow the native text input contract on Apple TV
edde746
2026-07-26 23:04:55 +02:00
-
ef310459e5
fix(i18n): drop unused video-control strings and restore spinner lookups
edde746
2026-07-26 23:04:38 +02:00
-
0c58b2dc55
fix(ci): follow the guard roster and Flutter pin to their current homes
edde746
2026-07-26 23:04:38 +02:00
-
fcda012468
style(android): apply ktlint's wrapping to the player sources
edde746
2026-07-26 23:04:25 +02:00
-
a893e1859c
fix(macos): restore the CocoaPods version the runners regenerate
edde746
2026-07-26 23:04:25 +02:00
-
35f7a12d7c
fix(linux): keep the mpv node builder clear of X11's Bool macro
edde746
2026-07-26 23:04:25 +02:00
-
100d7729df
feat(i18n): add Azerbaijani, Kazakh, and Uzbek locales

edde746andOmc725
2026-07-26 22:04:58 +02:00
-
7677d1594c
feat(i18n): add Turkish locale

edde746andOmc725
2026-07-26 22:04:14 +02:00
-
15b54e2ec6
fix(settings): restore the shared compact row size
edde746
2026-07-26 21:04:53 +02:00
-
6c14049e95
fix(tvos): make EAC3 playback conform to Dolby's guidance
edde746
2026-07-26 20:25:26 +02:00
-
a56b9a3dfb
Merge the deduplication and dead-code removal pass
edde746
2026-07-26 19:41:23 +02:00
-
-
9e8cfbc7dd
fix(windows): keep video-child input on the Flutter view
edde746
2026-07-26 19:03:44 +02:00
-
7e05686a7c
fix(windows): restore x64 and arm64 builds
edde746
2026-07-26 15:32:02 +02:00
-
5ee3120a97
fix(media): distinguish leaf and aggregate watch state
edde746
2026-07-26 14:57:18 +02:00
-
60cc983471
feat(downloads): remove playlist sync downloads together
edde746
2026-07-26 10:02:19 +02:00
-
1fea9ef6e3
fix(search): recover omitted Plex media categories
edde746
2026-07-26 07:16:45 +02:00
-
8ef977d890
fix(windows): route touch input over video
edde746
2026-07-26 06:42:19 +02:00
-
ecc55d9b36
fix(android): retry ExoPlayer after decoder loss
edde746
2026-07-26 06:23:12 +02:00
-
f5661c766e
perf(tv): tint inactive row artwork
edde746
2026-07-26 05:50:26 +02:00
-
829d3745a1
fix(tvos): restore native text input navigation
edde746
2026-07-26 07:05:09 +02:00
-
71735354b9
fix(tvos): unify remote and text input ownership
edde746
2026-07-26 06:02:43 +02:00
-
13179f08cd
refactor: move the Plex switch-token parser in with the Plex models
edde746
2026-07-26 06:06:13 +02:00
-
eb3ed45af1
refactor: share future coalescing, Plex client access, and event helpers
edde746
2026-07-26 05:53:58 +02:00
-
9429a76acc
refactor: share search field, auth dialog, and list-download plumbing
edde746
2026-07-26 05:44:35 +02:00
-
4eaf4423a1
refactor: share focus chrome and simplify the TV picker and browse paths
edde746
2026-07-26 05:30:32 +02:00
-
c68ffe9ed0
refactor: share the toolbar scrim and dedupe playback and download paths
edde746
2026-07-26 05:02:03 +02:00
-
83f4e2a263
refactor: fold single-use helpers into their call sites
edde746
2026-07-26 04:36:56 +02:00
-
7416327d4b
refactor: unify tracker slots, Seerr detail models, and queue launches
edde746
2026-07-26 04:23:08 +02:00
-
316a69a1de
refactor: share the paginated grid tab, cached remote store, and tile focus
edde746
2026-07-26 04:11:44 +02:00
-
352b88109b
refactor: extract shared mixins and helpers, drop dead abstractions
edde746
2026-07-26 03:45:07 +02:00
-
61344f7862
test: extract shared fixtures and scaffolds
edde746
2026-07-25 19:00:07 +02:00
-
04d8070fd4
refactor: pin the look-alike code paths that must not be merged
edde746
2026-07-25 18:36:42 +02:00
-
4307c49cd2
refactor: remove unreachable code paths and unused members
edde746
2026-07-25 18:25:30 +02:00
-
fcaa81bf3c
fix(artwork): preserve clear-logo aspect ratios
edde746
2026-07-26 04:22:23 +02:00
-
ef183437d4
fix(jellyfin): keep login identity metadata valid
edde746
2026-07-26 02:51:01 +02:00
-
7c6eaac2d0
fix(android): render double-NUL ASS subtitles
edde746
2026-07-26 02:40:47 +02:00
-
3b1e71b3fa
feat(player): support playback speeds up to 8x
edde746
2026-07-26 01:37:52 +02:00
-
2a25f21e27
fix(plex): stop Live TV caption burn-in
edde746
2026-07-26 01:36:43 +02:00
-
e251273322
feat(downloads): warn about Android background restrictions
edde746
2026-07-26 00:53:58 +02:00
-
1b3c74550f
fix(tvos): make remote input lifecycle engine-owned
edde746
2026-07-26 03:41:19 +02:00
-
c9543d4af0
feat(media): show directors in detail info rows

edde746andEvan J
2026-07-25 22:30:50 +02:00
-
12b826faff
fix(media): parse responses before caching
edde746
2026-07-25 17:37:53 +02:00
-
516bd69c19
fix(server): bypass debounce for terminal mutations
edde746
2026-07-25 17:37:47 +02:00
-
005a56db03
fix(tvos): preserve MPV contract test wiring
edde746
2026-07-25 17:37:44 +02:00
-
1ae58f676b
fix(windows): recover failed display handoffs
edde746
2026-07-25 17:37:40 +02:00
-
6710c87892
fix(android): accept denied audio-focus resumes
edde746
2026-07-25 17:37:32 +02:00
-
96fd47a160
fix(libraries): filter content-type-less Jellyfin roots
edde746
2026-07-25 17:37:25 +02:00
-
c1cfb9609e
perf(livetv): virtualize guide rendering
edde746
2026-07-25 16:44:05 +02:00
-
cd6716df47
perf(tv): trim media card focus semantics
edde746
2026-07-25 16:47:04 +02:00
-
5c221468d6
perf(android): use Skia on 32-bit Android TVs
edde746
2026-07-25 16:45:59 +02:00
-
77da82b648
fix(ci): make cross-platform checks deterministic
edde746
2026-07-25 16:17:25 +02:00
-
39ddfd2bd9
fix(website): restore contracts and focus indicators
edde746
2026-07-25 16:17:05 +02:00
-
0717009ade
fix(server): make room persistence transactional
edde746
2026-07-25 16:16:48 +02:00
-
f8f366a513
fix(native): harden player teardown and shelf recovery
edde746
2026-07-25 16:16:24 +02:00
-
4af77f4696
fix(app): restore playback and state lifecycle contracts
edde746
2026-07-25 16:16:04 +02:00
-
73f4a3e055
fix(tv): focus late Continue Watching on startup
edde746
2026-07-25 10:54:34 +02:00
-
0959cd3040
fix(libraries): exclude episodes from mixed roots
edde746
2026-07-25 09:13:00 +02:00
-
-
9a6f48a4cb
fix(android): use Skia on 32-bit TCL TVs
edde746
2026-07-25 08:31:47 +02:00
-
fb27621c75
perf(tv): cut semantics work during card navigation
edde746
2026-07-25 08:12:55 +02:00
-
2b3853a882
fix(player): preserve transcoded subtitles at high speed
edde746
2026-07-25 04:15:44 +02:00
-
0643787fbe
fix(android): prevent ghost playback after autoplay failures
edde746
2026-07-25 04:12:43 +02:00
-
b7d5922b0a
fix(ci): repair Windows native checks
edde746
2026-07-25 00:22:14 +02:00
-
c7b9eec087
fix(player): preserve subtitles across episode changes
edde746
2026-07-24 21:40:22 +02:00
-
db7bc17c49
chore(website): remove tests and update SvelteKit
edde746
2026-07-24 20:30:25 +02:00
-
d1cec00b51
fix(ci): repair native and Maestro checks
edde746
2026-07-24 20:30:15 +02:00
-
102ef46d00
feat(jellyfin): lazily page recently added hubs
edde746
2026-07-24 20:06:00 +02:00
-
d6b24c3e07
fix(android): prevent Dolby Vision seek crashes
edde746
2026-07-24 19:10:38 +02:00
-
4cc9a35b2e
fix(android): use OpenGLES on 32-bit TCL TVs
edde746
2026-07-24 12:22:51 +02:00
-
40833e65ec
fix(ci): align toolchains and isolate platform tests
edde746
2026-07-24 10:06:50 +02:00
-
6c03094ef1
fix(settings): label image-only cache clearing accurately
edde746
2026-07-24 08:05:23 +02:00
-
269bb7a322
fix(playback): recover episode navigation without Plex queues
edde746
2026-07-24 08:05:09 +02:00
-
54273ab09c
fix(downloads): recover from full storage
edde746
2026-07-24 07:41:01 +02:00
-
ef0524485a
build(deps): bump softprops/action-gh-release (#1665)
![dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 07:38:40 +02:00
-
071b632c93
build(deps): bump awalsh128/cache-apt-pkgs-action (#1664)
![dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 07:38:38 +02:00
-
62330413ee
build(deps): bump actions/attest-build-provenance (#1663)
![dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 07:38:34 +02:00
-
aa66f9a15d
build(deps): bump actions/checkout from 7.0.0 to 7.0.1 (#1662)
![dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 07:38:31 +02:00
-
7ed2049a01
build(deps): bump actions/setup-java from 5.5.0 to 5.6.0 (#1661)
![dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 07:38:29 +02:00
-
a961a5a997
build(deps): bump reactivecircus/android-emulator-runner (#1660)
![dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 07:38:26 +02:00
-
ad7ef112fc
feat(i18n): add Hungarian and Traditional Chinese locales


2026-07-24 07:24:58 +02:00
-
0c6dab01b3
build(deps): upgrade Flutter package dependencies
edde746
2026-07-23 22:44:31 +02:00
-
3c2a353d32
build(android): upgrade Gradle and Kotlin toolchain
edde746
2026-07-23 22:43:58 +02:00
-
54a002f9b7
fix(android): consolidate native media decoders
edde746
2026-07-23 22:43:42 +02:00
-
fb45ff44f3
fix(android): persist startup and runtime exit diagnostics
edde746
2026-07-23 22:43:07 +02:00
-
9f2e050797
fix(native): bound cross-platform lifecycle ownership
edde746
2026-07-23 02:18:05 +02:00
-
09656fa4d3
fix(supply-chain): verify CI and production inputs
edde746
2026-07-23 02:18:05 +02:00
-
b41fb4fe75
fix(ui): harden settings focus and semantics
edde746
2026-07-23 02:18:04 +02:00
-
f8bfecf57d
fix(media): serialize browsing and metadata mutations
edde746
2026-07-23 02:18:04 +02:00
-
43a8fe020d
fix(relay): secure reconnect and room ownership
edde746
2026-07-23 02:18:03 +02:00
-
e0bf66eea8
fix(runtime): harden application service boundaries
edde746
2026-07-23 02:18:03 +02:00
-
658da37b48
build: make toolchain inputs reproducible
edde746
2026-07-23 02:18:02 +02:00
-
1d1c301f61
test: stabilize deterministic integration coverage
edde746
2026-07-23 02:18:01 +02:00
-
d98e85614a
fix(settings): match services-page compact row style on desktop
edde746
2026-07-20 10:47:25 +02:00
-
5fb167898e
fix(tv): play episodes from detail rails
edde746
2026-07-19 20:29:59 +02:00
-
0283c3bfff
fix(plex): skip malformed subtitle streams
edde746
2026-07-19 20:29:59 +02:00
-
e32fcc2190
feat(explore): add AniList, Simkl, and Plex catalogs
edde746
2026-07-19 19:13:16 +02:00
-
f8cb550be7
feat(tv): add corner spotlight backdrop option (#1628)

AlbertandClaude Fable 5
2026-07-20 10:06:25 +02:00
-
0707d4d9b1
fix(live-tv): stabilize HLS playback
edde746
2026-07-18 20:04:09 +02:00