edde746
40833e65ec
fix(ci): align toolchains and isolate platform tests
2026-07-24 10:06:50 +02:00
edde746
6c03094ef1
fix(settings): label image-only cache clearing accurately
2026-07-24 08:09:14 +02:00
edde746
0c6dab01b3
build(deps): upgrade Flutter package dependencies
2026-07-24 03:56:40 +02:00
edde746
b41fb4fe75
fix(ui): harden settings focus and semantics
2026-07-24 03:46:50 +02:00
edde746
43a8fe020d
fix(relay): secure reconnect and room ownership
2026-07-24 03:46:50 +02:00
edde746
e0bf66eea8
fix(runtime): harden application service boundaries
2026-07-24 03:46:46 +02:00
edde746
1d1c301f61
test: stabilize deterministic integration coverage
2026-07-24 03:40:06 +02:00
edde746
991aee6c90
fix(ci): resolve analyzer and settings test failures
2026-07-14 01:21:38 +02:00
edde746
d5f3e581df
fix: eliminate cross-app consistency drift
2026-07-13 23:13:53 +02:00
edde746
40792e2779
fix: restore focus and interaction behavior
2026-07-13 17:00:50 +02:00
edde746
a9493f4f0e
fix(relay): harden lifecycle and protocol handling
2026-07-12 17:31:15 +02:00
edde746
f4ec6ccf20
fix(settings): guard Atmos diagnostics stop
2026-07-12 08:42:22 +02:00
edde746
242cc8616c
feat(settings): expose music quality preset
2026-07-12 08:42:22 +02:00
edde746
aee48f6956
feat: extend Force TV mode to desktop for home-theater setups
...
Initialize TvDetectionService on every platform so the existing
force_tv_mode setting drives the 10-foot TV interface on Windows,
macOS, and Linux, and surface the toggle in appearance settings there.
Desktop keeps real-mouse behavior in TV mode: InputModeTracker still
flips between pointer and keyboard modes (cursor hidden while
keyboard-driven), segmented controls keep their hover affordance, and
the settings backup section stays available (only Android TV lacks a
document picker).
Adds PlatformDetector.debugSetIsDesktopOSOverride so TV-device
simulations in widget tests don't inherit the desktop test host's
platform.
close #1409
2026-07-05 07:08:40 +02:00
edde746
d9b365b012
fix: failing tests
2026-07-04 23:09:41 +02:00
edde746
0de856e929
fix(settings): refuse overlapping runAsync at runtime
2026-06-12 17:12:03 +02:00
edde746
892dfee381
fix(tv): keyboard no longer opens over jellyfin quick connect screen
...
Auto-starting quick connect from inside the probe's runAsync let the
probe's finally clear busy mid-initiate; the re-enabled form then took
focus fallback on the URL field, auto-opening the TV keyboard. Sequence
the two busy scopes and debug-assert against overlapping runAsync.
2026-06-12 13:35:55 +02:00
edde746
62abd3c30a
feat(jellyfin): simpler, code-first Quick Connect screen
2026-06-12 03:16:58 +02:00
edde746
caf192fd78
fix(jellyfin): defer initial URL keyboard
...
close #1217
2026-06-01 11:49:21 +02:00
edde746
d5c8778074
fix: harden reconnect and playback regressions
2026-05-31 20:33:38 +02:00
edde746
c6c76d6828
fix(dialogs): own text input resources
2026-05-31 15:34:00 +02:00
edde746
2eae450aa0
fix(jellyfin): preserve add screen dpad focus
2026-05-31 15:00:35 +02:00
edde746
1b5334e72f
fix(jellyfin): harden local discovery flow
2026-05-31 14:33:31 +02:00
edde746
e3db54940d
feat(jellyfin): add local server discovery
...
close #1188
2026-05-31 10:51:08 +02:00
edde746
a931d5910b
fix(tv): let text fields fall back to directional traversal
...
close #1176
2026-05-29 03:30:54 +02:00
edde746
39709e5c42
test(tv): update keyboard focus expectations
2026-05-26 23:00:44 +02:00
edde746
ef4980db09
fix(tv): preserve native keyboard navigation
...
close #1051
2026-05-15 19:05:38 +02:00
edde746
d0bd919ff4
refactor: migrate models to freezed + json_serializable
2026-05-11 12:54:26 +02:00
edde746
7988c83bec
fix: improve d-pad focus navigation
2026-05-07 00:27:58 +02:00
edde746
ebec3ad20c
fix: autofocus jellyfin server url
2026-05-06 13:19:01 +02:00
edde746
31d2d9dc98
feat: jellyfin
2026-05-01 01:20:36 +02:00