edde746
3da51f9d64
chore: pre-commit ci hook, dart format
2026-04-18 12:40:35 +02:00
edde746
6c61e0e4c9
feat: namedTimeout for Sentry context
2026-04-16 07:27:05 +02:00
edde746
3c59452782
fix: subtitle track matching (forced flag parsing, title scoring)
2026-04-03 23:53:37 +02:00
edde746
ef96ccb623
fix: ordinal tiebreaker for identical track matching
2026-04-03 00:46:01 +02:00
edde746
fb275ea242
refactor: replace iso 639 json asset with const dart map
2026-04-02 17:07:45 +02:00
edde746
2d37d37596
refactor: extract TrackManager, fix subtitle bugs
...
- Extract track lifecycle logic from VideoPlayerScreen (3248→2928 lines) into TrackManager
- Parse isDefault/isForced for subtitle tracks in parseTrackList
- Emit forced flag from ExoPlayer's emitTrackList
- Fix detectSubtitleMimeType failing on URLs with query params
- Add missing external_ ID prefix in ExoPlayer addSubtitleTrack
- Replace polling loop with stream in selectAndApplyTracks
- Handle play() failure in resumeAfterSubtitleLoad
- Handle addExternalSubtitles failure in onBackendSwitched
2026-03-20 03:32:32 +01:00
edde746
5f597ef567
fix: prefer exact language code match in track selection
...
Fixes #703
2026-03-15 11:40:45 +01:00
edde746
72aed76a1c
fix: remove unused _applyFilterWithFallback
2026-03-06 07:55:59 +01:00
edde746
7ae293631a
fix: trust server-computed subtitle selection flags
...
The Plex server already applies all preference levels (account,
show/season, per-item) into stream `selected` flags. Remove redundant
client-side subtitleMode/account prefs logic and show/season metadata
fetching (2 fewer API calls per episode).
2026-03-06 04:25:47 +01:00
edde746
f3d24866b7
fix: trust Plex stream selection for subtitle defaults
2026-03-06 03:43:10 +01:00
edde746
863f90f65d
fix: respect series-level subtitle mode for episodes
2026-03-05 18:55:44 +01:00
edde746
551bd83ffe
fix: player disposed race condition
2026-03-04 14:37:51 +01:00
edde746
13b5d7bae8
feat: secondary subtitle tracks
...
close #625
2026-03-04 09:35:36 +01:00
edde746
04438c8e45
refactor: code quality & format
2026-02-15 04:07:09 +01:00
edde746
cb5949fb5b
fix: track matching by properties instead of index
...
close #313
2026-01-24 19:00:22 +01:00
edde746
045502405d
feat: persist playback speed
...
close #237
2026-01-15 00:16:17 +01:00
edde746
84c255b917
refactor: deduplicate logic
2025-12-21 13:19:21 +01:00
edde746
2dfebf32b6
fix: respect Plex track selection preferences
...
close #181
2025-12-21 10:51:32 +01:00
edde746
3c89d0eba8
refactor: update formatting
2025-12-15 02:29:03 +01:00
edde746
18c322f66a
refactor: navigation/offline handling
...
and other improvments
2025-12-13 00:16:50 +01:00
edde746
6d9a56fa73
refactor: fix naming
2025-12-02 16:53:54 +01:00
edde746
d9cdde66d8
macos
2025-12-02 15:46:19 +01:00
edde746
01bb1126ef
feat: keyboard navigation
2025-11-26 13:51:25 +01:00
Doezer
3b51249341
bug: fix user preference for subtitle
2025-11-24 12:17:58 +01:00
edde746
38a447f57a
refactor: format & split video controls
2025-11-22 05:58:08 +01:00
edde746
a618218828
feat: respect per media language preference
2025-11-14 22:27:12 +01:00
Doezer
3366ed02f5
Ran dart format using this pwsh command
...
$FILES = Get-ChildItem -Path lib, test -Recurse -Filter "*.dart" -File -ErrorAction SilentlyContinue | Where-Object { $_.Name -notmatch '\.(g|freezed)\.dart$' } | Select-Object -ExpandProperty FullName; if (-not $FILES) { Write-Host "No Dart files found to format"; exit 0 } else { dart format --output=write --set-exit-if-changed $FILES }
2025-11-13 22:53:31 +01:00
edde746
deadbd1be7
fix: improve subtitle selection
2025-11-04 14:51:58 +01:00