edde746
964b89aa67
fix(windows): release gamepad handles on window blur
2026-02-23 08:05:55 +01:00
edde746
26ff55e005
fix(android): auto buffer size to prevent OOM
2026-02-23 05:42:04 +01:00
edde746
7802beb41b
feat: play/shuffle folder contents
...
close #514
2026-02-23 02:19:57 +01:00
edde746
4eb55885f7
feat: metadata editing
...
close #338
2026-02-22 17:56:13 +01:00
edde746
83c0cce7f3
fix: ignore gamepad input when window is unfocused
...
close #509
2026-02-22 10:29:52 +01:00
edde746
3289ce0fbc
feat: fallback skip markers from chapter titles
2026-02-22 04:34:36 +01:00
edde746
9819c4f495
fix: move hub/onDeck API processing to isolates
2026-02-21 05:34:06 +01:00
edde746
1ebc2a85d1
fix: move cache JSON ops to isolates
2026-02-21 05:00:14 +01:00
edde746
3bfc24bf9b
feat: persist ambient lighting and make it mutually exclusive with shaders
...
close #499
2026-02-20 22:33:00 +01:00
edde746
1e6a1af1cf
feat: add user star ratings
...
close #411
2026-02-20 09:57:44 +01:00
edde746
89c7b79867
fix: use identifier as fallback key for EPG channels
2026-02-19 09:13:00 +01:00
edde746
8d5b5d2e0c
fix: guard against post-disposal stream controller access
2026-02-18 09:20:48 +01:00
edde746
756eb8d6f0
feat: add ambient lighting effect
...
close #477
2026-02-18 06:51:20 +01:00
edde746
53c94b14cc
feat: add back button exit confirmation on Android TV
...
close #467
2026-02-16 01:22:48 +01:00
edde746
7d29d7ba45
chore: format
2026-02-15 23:13:33 +01:00
edde746
77c124b528
Merge branch 'trailers-extras'
2026-02-15 23:11:30 +01:00
Matt Vogel
0bbcd854e4
feat: add trailers and extras support
...
Adds support for viewing and playing trailers and bonus content from Plex.
- Add getExtras() API method to fetch extras from Plex
- Add trailer/extras metadata fields (subtype, extraType, primaryExtraKey)
- Add play trailer button with film reel icon on media detail screen
- Add "Trailers & Extras" section below cast with horizontal scroll
- Support offline mode via cache fallback
- Preserve serverId/serverName for multi-server setups
2026-02-15 15:09:45 -05:00
edde746
eaad505d96
fix: reduce main-thread pressure during playback
2026-02-15 18:35:51 +01:00
edde746
292c4b5d82
fix: reduce main-thread DB I/O blocking in downloads
2026-02-15 17:55:02 +01:00
edde746
04438c8e45
refactor: code quality & format
2026-02-15 04:07:09 +01:00
edde746
9184bb8d40
Merge branch 'live-tv'
...
# Conflicts:
# lib/i18n/strings.g.dart
# lib/i18n/strings_de.g.dart
# lib/i18n/strings_en.g.dart
# lib/i18n/strings_es.g.dart
# lib/i18n/strings_fr.g.dart
# lib/i18n/strings_it.g.dart
# lib/i18n/strings_ko.g.dart
# lib/i18n/strings_nl.g.dart
# lib/i18n/strings_sv.g.dart
# lib/i18n/strings_zh.g.dart
# lib/screens/main_screen.dart
# lib/services/plex_client.dart
# lib/widgets/video_controls/desktop_video_controls.dart
2026-02-14 22:29:16 +01:00
edde746
4fc98426ff
feat: connection recovery on mobile resume and endpoint exhaustion
2026-02-14 22:11:00 +01:00
edde746
0d72c6c1a4
fix: external player on Android 11+
2026-02-14 20:19:27 +01:00
edde746
fb9a1cd77e
fix: downloaded media detail screen clear logo
2026-02-14 19:28:43 +01:00
edde746
86a989a2f2
fix: open downloaded videos in external player on Android
2026-02-14 18:26:05 +01:00
edde746
d986f0d2ea
feat: migrate downloads to background_downloader
...
close #454
2026-02-14 18:02:49 +01:00
edde746
2278af8d83
fix: exit video player when sleep timer completes
...
close #456
2026-02-14 11:58:16 +01:00
edde746
b3ff48feca
fix(tv): live playback and timeline keepalive
...
Disable MKV Cues seeking for live streams, fix timeline params.
2026-02-14 03:33:58 +01:00
edde746
f4d940af10
fix(tv): add diagnostic logging for multi-DVR issues
...
Also remove suspicious Uri.decodeComponent on lineup parameter.
2026-02-13 16:29:33 +01:00
edde746
a4d4e2e1f8
fix(tv): query all EPG providers for multi-DVR support
2026-02-13 14:16:44 +01:00
edde746
426f6ab6ba
fix(tv): misc improvements
2026-02-13 00:01:54 +01:00
edde746
ac1dae25b8
feat(tv): add What's On tab with API-driven hubs and show schedule
2026-02-12 16:46:15 +01:00
edde746
80f26b07c0
feat(tv): inline EPG guide grid with provider endpoint discovery
2026-02-12 14:16:10 +01:00
edde746
2ae6385913
fix(tv): playback stopping
2026-02-12 11:21:00 +01:00
edde746
a1d78562d6
fix(tv): playback
2026-02-12 03:52:51 +01:00
edde746
cc15e964d0
fix: remove unused import
2026-02-11 18:03:25 +01:00
edde746
c651fe08f4
fix: re-probe offline servers on connectivity recovery
2026-02-11 18:02:22 +01:00
edde746
403b1f6776
feat: live tv
2026-02-11 16:27:49 +01:00
edde746
03907db6c4
feat: external player support
...
close #388
2026-02-11 14:59:52 +01:00
edde746
45e72e0ad9
fix: unmaximize window before entering fullscreen on Windows
2026-02-11 09:29:15 +01:00
edde746
f33f58339d
fix: watch together bugs, TV focus issues, system locale default
...
- Fix guest controls locked on join (use reactive context.select)
- Fix Google TV back button when controls hidden (focus recovery + global fallback)
- Fix profile switch screen focus lost on TV (explicit focus request)
- Add 15s host reconnect grace period with reconnecting overlay
- Add participant join/leave notification toasts
- Default to system language on first launch via findDeviceLocale()
2026-02-11 00:04:09 +01:00
edde746
6e9b78e5b5
fix: missing translations, simplify translations
2026-02-10 21:37:27 +01:00
edde746
68c169891c
feat: mouse wheel volume control on video player
2026-02-10 18:34:47 +01:00
edde746
7234da5b64
feat: skip intro/credits keyboard shortcut
...
close #419
2026-02-10 18:11:32 +01:00
edde746
e80d1f7132
Merge branch 'companion-remote'
...
# Conflicts:
# lib/i18n/strings.g.dart
2026-02-10 12:47:41 +01:00
edde746
d1af24e0a7
feat: player-aware companion remote with syncState, track cycling
2026-02-10 12:32:00 +01:00
edde746
5c3fbfdff8
fix: remote dialog issues and optimize command protocol
2026-02-10 09:17:55 +01:00
edde746
660267b504
fix: companion remote discovery leak, reconnect, and auth hardening
...
- Dispose old discovery service before creating new one in loadRecentSessions()
- Host waits for client reconnect instead of calling joinSession
- Clear stale error messages on successful reconnect
- Rate limit auth attempts (5 tries, 30s lockout)
- Use Random.secure() for peer ID
- Extract shared ACK helper methods
2026-02-10 09:02:22 +01:00
Matt Vogel
e30c0b4370
Migrate companion remote to WebSocket
2026-02-09 18:45:10 -05:00
edde746
2de92e660d
feat: adjustable subtitle position
...
close #426
2026-02-09 21:22:19 +01:00