edde746
e9f1979e6c
refactor: remove dead getters from model classes
2026-03-15 22:55:18 +01:00
edde746
551be5bbef
feat: dynamic library tabs and shared library navigation
...
- Replace hardcoded 4-tab system with data-driven visible tab list
- Shared libraries show only Browse + Playlists tabs
- Fix dpad navigation for shared libraries (no hidden tab targets)
- Switch to TickerProviderStateMixin to support tab controller recreation
- Navigate to library screen when tapping shared library sections
- Persist tab selection by name instead of index
2026-03-15 21:36:17 +01:00
edde746
5f18efcfb3
feat: live TV channel favorites
...
close #663
2026-03-15 07:44:44 +01:00
edde746
4f736c555b
fix: make PlexMetadata type/key/title nullable for folder items
...
Plex API returns Directory entries without type field, causing
TypeError crash in fromJson. Made fields nullable and migrated
callers to use mediaType enum and displayTitle getter instead
of raw string access.
2026-03-14 05:40:14 +01:00
edde746
1f7fb2201c
fix: handle null ratingKey in folder browsing
2026-03-11 22:08:11 +01:00
edde746
d1bb99635a
feat: configurable intro/credits marker regex patterns
...
Add settings to customize regex patterns for matching intro and credits
markers in chapter titles, with the current hardcoded values as defaults.
Also reclassifies real markers with non-standard type strings against the
configured patterns.
2026-03-11 15:00:24 +01:00
edde746
8f1b40d143
fix: handle string childCount in collections
2026-03-11 05:08:43 +01:00
edde746
82b0de9223
feat: display movie edition titles across all views
2026-03-09 16:16:37 +01:00
edde746
a6852d716f
fix: handle null fields in PlexHome deserialization
2026-03-09 15:42:33 +01:00
edde746
16e96cdde0
fix: handle null fields in folder metadata deserialization
2026-03-09 14:10:37 +01:00
edde746
b05d69b10f
fix: filter hub detail view by library section
...
close #638
2026-03-06 18:36:45 +01:00
edde746
9730ffd541
fix: coerce subtitleMode string from Plex API to num
2026-03-05 21:53:52 +01:00
edde746
232f018ae7
fix: report JSON deserialization errors
2026-03-05 21:00:52 +01:00
edde746
863f90f65d
fix: respect series-level subtitle mode for episodes
2026-03-05 18:55:44 +01:00
edde746
3a76754af9
feat: custom GLSL shader import
...
close #624
2026-03-04 08:47:40 +01:00
edde746
cd2ab9d9cd
refactor: deduplicate shared patterns, replace hardcoded colors
2026-03-03 22:43:00 +01:00
edde746
a00e2b78d6
feat: replace mpv config UI with raw text editor
2026-03-02 23:06:05 +01:00
edde746
03d62d2e2b
fix: handle corrupted download paths missing leading slash
2026-02-27 19:05:05 +01:00
edde746
1cdf1890cf
fix: download playback issues (doubled path, audio language, spinner)
2026-02-27 15:26:49 +01:00
edde746
4588457319
refactor: consolidate files
2026-02-26 13:41:51 +01:00
edde746
2b5923d80b
feat: square art in hero sections
2026-02-26 13:00:55 +01:00
edde746
659b59d450
fix: remove companion remote connection history
2026-02-26 01:08:46 +01:00
edde746
acf91107ad
fix: split combined recently added hubs by library
...
closes #552
2026-02-26 00:30:23 +01:00
edde746
bf3f5282f2
fix: skip intro button staying on screen
...
close #550
2026-02-25 23:03:07 +01:00
edde746
af41d937c3
fix: remove DVR recording features (plex pass)
...
close #530
2026-02-24 23:13:38 +01:00
edde746
9528b8f61a
feat: multi-IP QR code for companion remote
2026-02-24 02:31:24 +01:00
edde746
e23f472d78
refactor: centralize globalKey construction via buildGlobalKey()
2026-02-23 17:53:20 +01:00
edde746
4eb55885f7
feat: metadata editing
...
close #338
2026-02-22 17:56:13 +01:00
edde746
3289ce0fbc
feat: fallback skip markers from chapter titles
2026-02-22 04:34:36 +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
bfe7d54dcf
feat: add kBlurArtwork mode for store screenshots
...
Blurs all artwork and rotates vowels in metadata when enabled.
2026-02-19 05:45:46 +01:00
Amy Jeanes
56b7cb842e
show mark as unwatched for mid progress items
2026-02-17 01:24:07 +00:00
edde746
90a40d034f
refactor: reuse MediaCard for extras
2026-02-15 22:59:43 +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
04438c8e45
refactor: code quality & format
2026-02-15 04:07:09 +01:00
edde746
fa06f23b42
fix(tv): guide UX fixes
2026-02-13 18:21:05 +01:00
edde746
fd53acbb92
fix(tv): use channel key for tuning and EPG matching
2026-02-13 17:23:02 +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
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
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
Matt Vogel
e30c0b4370
Migrate companion remote to WebSocket
2026-02-09 18:45:10 -05:00
Matt Vogel
199d634cb2
Migrate companion remote models to @JsonSerializable
2026-02-09 14:26:51 -05:00
Matt Vogel
372767b142
Add Companion Remote for mobile-to-desktop control
2026-02-09 14:19:54 -05:00
edde746
8aa7d15dca
chore: upgrade dependencies and fix new lint warnings
2026-02-09 09:06:31 +01:00
edde746
a5a72147c7
feat: show ratings
...
close #410
2026-02-08 16:03:23 +01:00
edde746
5c225bb89e
feat: alpha jump bar
...
close #349
2026-02-05 10:15:59 +01:00