Commit Graph
88 Commits
Author SHA1 Message Date
edde746 23906dd65d refactor: remove dead code from provider files 2026-03-15 22:55:18 +01:00
edde746 59b3e6ce81 fix: eliminate duplicate API requests on startup
- Skip redundant notifyListeners in HiddenLibrariesProvider init when
  set is empty (empty→empty is a no-op for consumers)
- Track last-seen hidden keys in DiscoverScreen to avoid reloading
  content when the listener fires without an actual change
- Track previous online server set in MultiServerProvider; only re-check
  DVR availability when a new server comes online
- Remove dead content-loading pipeline from libraries_screen (sorts,
  pagination, filters, items) that was never rendered
- Move /media/providers fetch into PlexClient.create() init, replacing
  lazy EPG cache and providing libraries including shared items
2026-03-15 18:23:32 +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 a17458ff9b fix: handle DBusServiceUnknownException on Linux without NetworkManager 2026-03-12 02:24:00 +01:00
edde746 666b59c293 refactor(native-player): share player helpers 2026-03-11 01:30:11 +01:00
edde746 73fe9e054f fix: guard unsafe .first/.last calls to prevent StateError 2026-03-10 03:50:12 +01:00
edde746 c9a1bc97c4 fix: remove dead state paths and restore track hotkeys 2026-03-06 11:50:45 +01:00
edde746 db57fa73ce feat: add option to hide bottom navigation bar labels 2026-03-05 15:05:48 +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 174c78bf67 fix: handle connectivity_plus PlatformException on Windows 2026-03-03 20:13:17 +01:00
edde746 c6ace690cb refactor: clean up download code duplication 2026-03-03 16:31:02 +01:00
edde746 5f1c51ff6c fix: skip specials in playback order
close #601
2026-03-02 07:32:20 +01:00
edde746 732c09eec1 fix: cancel status stream subscription on dispose
Closes #571
2026-02-27 09:11:16 +01:00
edde746 4588457319 refactor: consolidate files 2026-02-26 13:41:51 +01:00
edde746 8eda892b68 feat: themed splash screen with status messages 2026-02-26 11:55:45 +01:00
edde746 414e5804eb feat: add hide spoilers setting for unwatched episodes 2026-02-26 11:55:45 +01:00
edde746 5740d93a35 fix: download from homepage failing 2026-02-26 03:41:27 +01:00
edde746 659b59d450 fix: remove companion remote connection history 2026-02-26 01:08:46 +01:00
edde746 383351d769 fix: detect invalid tokens and prevent startup hangs
close #553
2026-02-25 23:59:19 +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 4095cc27e1 perf: reduce redundant metadata API requests 2026-02-23 11:43:42 +01:00
edde746 edbe2a06be refactor: deduplicate sheet, key handler, and service patterns 2026-02-23 10:25:57 +01:00
edde746 0159c18497 feat: discontinuous buffer ranges on timeline 2026-02-21 04:50:10 +01:00
edde746 d307f8c99d fix: prompt PIN for current profile on app open
close #485
2026-02-20 22:28:11 +01:00
edde746 7d29d7ba45 chore: format 2026-02-15 23:13:33 +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 403b1f6776 feat: live tv 2026-02-11 16:27:49 +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
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 839c274e0d fix: resume interrupted downloads after force-kill 2026-02-09 09:04:44 +01:00
edde746 a004f7e398 fix: enforce profile picker on first login
close #302
2026-02-06 12:51:42 +01:00
edde746 a7ac681fdc refactor: extract shared mixins and helpers 2026-02-04 11:11:01 +01:00
Micah Morrison dcd97dda30 Add option to show/hide unwatched counts 2026-02-02 20:07:06 -05:00
edde746 77eef1ada7 feat: built-in shaders
close #341
2026-01-29 07:22:21 +01:00
edde746 4225618df7 fix: await download provider init before offline navigation 2026-01-29 05:43:48 +01:00
edde746 ef325cde29 feat: oled theme 2026-01-28 23:06:50 +01:00
edde746 d3c7b55213 refactor: simplify server connection logic 2026-01-28 04:23:27 +01:00
edde746 b7ec24c2c1 refactor: centralize library state in LibrariesProvider 2026-01-24 20:03:06 +01:00
edde746 54e8e0c621 refactor: abstract player & deduplicate 2026-01-24 04:06:58 +01:00
edde746 5e62be3741 feat: sidenav collapse toggle 2026-01-23 23:19:28 +01:00
edde746 5cb4f79476 feat: add server name display on hub titles 2026-01-14 14:17:56 +01:00
edde746 abe0919324 feat: episode thumbnail display mode 2026-01-08 15:08:50 +01:00