-
ca490c34ec
docs(traceability): regenerate matrix for the native-video requirements

dtourolleandClaude Opus 5
2026-08-11 20:39:44 +02:00
-
e144e62b31
feat(player): render Android video natively behind a transparent webview (DR-150, DR-151, DR-152)

dtourolleandClaude Opus 5
2026-08-11 20:34:24 +02:00
-
-
07d10dfed7
docs(traceability): land the DR-149 requirement rows and settle a UT collision
v0.4.8
dtourolle
2026-08-11 20:11:22 +02:00
-
acddcdd6fa
fix(playback): force a transcode when the webview cannot decode the audio (DR-149, 0.4.8)
dtourolle
2026-08-11 20:07:11 +02:00
-
6a712c46cb
fix(player): send subtitle tracks to ExoPlayer on Android (UR-020)
dtourolle
2026-08-11 20:03:19 +02:00
-
211792947d
fix(player): render subtitle tracks on the Linux HTML5 path (UR-020)
dtourolle
2026-08-11 19:25:39 +02:00
-
2c3955914e
fix(playback): advertise only webview-decodable audio for video (DR-148, 0.4.7)
dtourolle
2026-08-11 19:13:46 +02:00
-
1b70926c36
feat(offline): play downloaded video, and drain the offline sync queue (0.4.6)
v0.4.6
dtourolle
2026-08-09 16:38:07 +02:00
-
7b531a40be
fix(player): pick a decodable track in the no-audio fallback (DR-146)
dtourolle
2026-08-09 15:07:18 +02:00
-
19bc265a8d
fix(player): do not start a video before audio focus is granted (DR-145)
dtourolle
2026-08-09 15:06:49 +02:00
-
cc7f1cece0
fix(player): play downloaded video offline (DR-133, DR-134)
dtourolle
2026-08-09 15:05:16 +02:00
-
a53042fe80
fix(playback): bound the device profile by the audio route's channels (DR-141)
dtourolle
2026-08-09 15:01:57 +02:00
-
db520c6551
fix(playback): stop pinning the video stream as the audio track (DR-140)
dtourolle
2026-08-09 14:47:03 +02:00
-
1ef6180776
chore(release): bump to 0.4.1
v0.4.1
dtourolle
2026-08-05 12:31:16 +02:00
-
878ac5fa59
fix(player): make lockscreen transport reach background audio (DR-097)
dtourolle
2026-08-05 12:26:25 +02:00
-
6aaa80ff92
chore(release): bump to 0.4.0
v0.4.0
dtourolle
2026-08-04 20:22:01 +02:00
-
f7bcfe521d
fix(favorites): save server favourites through to the cache (DR-115)
dtourolle
2026-08-04 20:20:36 +02:00
-
30dc3ba7f6
fix(player): recover a failed stream on Linux instead of stopping (DR-130)
dtourolle
2026-08-04 20:15:28 +02:00
-
32f8de5c91
fix(player): survive a flaky stream, and don't read 0:00 at EOF
dtourolle
2026-08-04 19:39:14 +02:00
-
62873cab3d
feat(search): answer search from a local index; tier downloads by lifetime
dtourolle
2026-08-04 17:35:17 +02:00
-
c55ff45692
fix(android): clear the system bars and display cutout (UR-066)
dtourolle
2026-08-04 14:45:10 +02:00
-
58f2506966
feat(series): land on the current episode, not season 1 (UR-062, UR-063, UR-064)
v0.3.0
dtourolle
2026-08-03 20:37:43 +02:00
-
a818fee297
fix(player): re-entering a video no longer opens the audio player (DR-100)
dtourolle
2026-08-03 18:12:37 +02:00
-
a26a853f01
fix(player): advance background audio-only episodes in the backend (UR-040)
v0.2.9
dtourolle
2026-08-02 18:10:18 +02:00
-
9d099268b9
fix(player): make the video seek bar work by touch (DR-099)
v0.2.8
dtourolle
2026-08-01 10:41:23 +02:00
-
e381d626c1
docs(requirements): UR-061/DR-092 no longer describe the removed deferral
v0.2.7
dtourolle
2026-07-30 16:13:29 +02:00
-
b12e99b7e1
fix(player): keep double-tap seek working over the play overlay (DR-098)
dtourolle
2026-07-30 15:44:38 +02:00
-
dc8b732465
fix(player): controls bar taps are not player gestures (DR-098)
dtourolle
2026-07-30 15:27:01 +02:00
-
b98a530f48
fix(player): guard the play overlay against the synthesized touch click
dtourolle
2026-07-30 15:10:59 +02:00
-
b565c4ae6f
fix(player): tap gestures act immediately, no deferral timer (DR-098)
dtourolle
2026-07-30 14:53:20 +02:00
-
79e10d7485
chore(release): bump to 0.2.3
dtourolle
2026-07-30 13:56:04 +02:00
-
a2dbde5492
debug(player): log pause reason and flatten the debug tick
dtourolle
2026-07-30 13:55:06 +02:00
-
75cd07a5c0
fix(player): decide transport in Rust for webview media (DR-097)
dtourolle
2026-07-30 13:54:41 +02:00
-
64d07b8940
chore(release): bump to 0.2.2
dtourolle
2026-07-30 13:17:29 +02:00
-
5b810f7fc3
build(android): add --device/--abi to build only the needed architecture
dtourolle
2026-07-30 13:16:52 +02:00
-
1ae213ff39
fix(player): stop AbortError storm from HLS stall recovery (DR-096)
dtourolle
2026-07-30 12:55:49 +02:00
-
98a6bca645
fix(player): clamp seeks inside media to stop end-of-stream pause loop (DR-095)
dtourolle
2026-07-30 12:52:03 +02:00
-
984e594006
chore(release): bump to 0.2.1
v0.2.1
dtourolle
2026-07-30 10:39:07 +02:00
-
f49e6e4648
fix(boundary): detect item-type arrays anywhere in src/ (DR-094)
dtourolle
2026-07-30 10:30:55 +02:00
-
105cc082ea
fix(search): move scope→item-type taxonomy into Rust (UR-049, DR-063)
dtourolle
2026-07-30 10:30:38 +02:00
-
0a3ee0791f
chore(scripts): remove three broken, orphaned traceability scripts
dtourolle
2026-07-30 10:30:20 +02:00
-
0da0a9f16c
fix(ci): derive traceability denominators from requirements.md (DR-093)
dtourolle
2026-07-30 10:30:08 +02:00
-
75bae2556c
docs(specs): design-principles audit — five remediation specs
dtourolle
2026-07-30 10:29:54 +02:00
-
48f63dd763
docs(spec): build provenance — git describe + build profile
dtourolle
2026-07-28 23:19:34 +02:00
-
36ef231e2f
chore(release): bump to 0.2.0
v0.2.0
dtourolle
2026-07-28 23:08:05 +02:00
-
cb79a376b3
feat(android): implement audio settings (EQ, normalization, gapless)
dtourolle
2026-07-28 23:03:31 +02:00
-
b11188e9dd
docs(player): backend unification findings + correct false parity claims
dtourolle
2026-07-28 23:03:17 +02:00
-
f636b6b151
Merge: Android WebView bridge + audio-focus fixes, tap gestures, sleep timer (v0.1.5)
dtourolle
2026-07-28 01:33:58 +02:00
-
-
37ffabee06
chore(release): bump to 0.1.5; regenerate traceability matrix
v0.1.5
dtourolle
2026-07-28 01:33:20 +02:00
-
13e0860401
fix(player): expired sleep timer stops without triggering autoplay
dtourolle
2026-07-28 01:33:10 +02:00
-
d1c01a6bc3
feat(player): defer single tap so a double tap doesn't also toggle pause
dtourolle
2026-07-28 01:33:04 +02:00
-
e5d3cc06f2
fix(android): register WebView JS bridges once; stop audio-focus fight
dtourolle
2026-07-28 01:32:57 +02:00
-
-
5759a97289
chore: ignore Arch packaging build artifacts
v0.1.2
dtourolle
2026-07-25 15:53:10 +02:00
-
b9f026e215
chore(release): bump to 0.1.2
dtourolle
2026-07-25 15:21:51 +02:00
-
b7a7037194
docs: add UR-060 search relevance requirement; regenerate matrix
dtourolle
2026-07-25 15:13:52 +02:00
-
124da29fc7
fix(search): route the library header search to /search
dtourolle
2026-07-25 15:13:45 +02:00
-
5927299c0f
feat(search): rank results by match quality and split TV/People groups
dtourolle
2026-07-25 15:13:32 +02:00
-
7650efcb7f
fix(player): scale video to fill the player viewport
dtourolle
2026-07-25 15:12:53 +02:00
-
4b9350c949
chore(release): bump to 0.1.1
v0.1.1
dtourolle
2026-07-25 09:25:52 +02:00
-
d01c1216b8
docs: red-green rule for bug fixes; regenerate traceability matrix
dtourolle
2026-07-25 09:21:22 +02:00
-
fb967433f0
fix(library): populate "More Episodes" for series without season folders
dtourolle
2026-07-25 09:21:15 +02:00
-
ee584aced2
fix(autoplay): advance to the next episode in background audio mode
dtourolle
2026-07-25 09:21:08 +02:00
-
eb76c96e94
feat(player): skipping an episode marks it watched, not paused
dtourolle
2026-07-25 09:20:56 +02:00
-
c3ead64748
ci(release): build Windows NSIS installer on tag
v0.1.0
dtourolle
2026-07-25 00:02:33 +02:00
-
742ad88a29
feat(build): cross-platform desktop packaging; bump to 0.1.0
dtourolle
2026-07-24 23:49:50 +02:00
-
d4e2cd120c
feat(player): webview audio backend for platforms without a native one
dtourolle
2026-07-24 23:49:23 +02:00
-
c543f90ad3
feat(audio): graphic equalizer with presets and custom bands
dtourolle
2026-07-24 23:49:13 +02:00
-
589f08b873
feat(home): tap opens detail, long-press plays from home cards
dtourolle
2026-07-24 23:49:03 +02:00
-
e2c9d68311
docs(downloads): mark UR-055/056 Done; fix colliding UT ids
dtourolle
2026-07-24 22:22:43 +02:00
-
57b24f8c74
fix(offline): Downloaded browse groups by container and loads on large libraries
dtourolle
2026-07-24 21:42:12 +02:00
-
6391720d23
docs(offline): mark UR-052 offline-listing feature and its tests Done
dtourolle
2026-07-24 21:41:57 +02:00
-
90f03dd142
fix(player): show background-audio button on all Android video playback
v0.0.18
dtourolle
2026-07-24 20:32:08 +02:00
-
514e42fccb
Merge branch 'frontend-domain-model' into ci-docs-publish-fix
v0.0.17
dtourolle
2026-07-23 22:18:59 +02:00
-
-
9b1c9b3c91
feat(settings): rework settings page; remove unused SkeletonLoader/StorageManagement
dtourolle
2026-07-23 22:18:37 +02:00
-
1780109fb1
domain: flip last missed catalog .type reader (movies page) to .kind
dtourolle
2026-07-23 22:15:15 +02:00
-
3a18ad060b
domain: delete dead jellyfinFieldMapping; scope playbackUnits to session boundary (phase 4e)
dtourolle
2026-07-23 22:13:54 +02:00
-
1968c06172
domain: neutral StreamKind for media streams (phase 4d)
dtourolle
2026-07-23 22:11:31 +02:00
-
ec8a7610f5
domain: player/reporting ticks -> milliseconds (phase 4c)
dtourolle
2026-07-23 22:02:29 +02:00
-
93d198ce21
domain: primaryImageTag -> imageId end-to-end (phase 4a/4b)
dtourolle
2026-07-23 21:40:58 +02:00
-
2b42b74912
domain: replace user-facing Jellyfin type badge with kind label (phase 3b)
dtourolle
2026-07-23 21:31:51 +02:00
-
7660a33dfc
domain: catalog frontend off Jellyfin ticks -> milliseconds (phase 3a)
dtourolle
2026-07-23 21:30:04 +02:00
-
3e962a202c
test: update playerVisibility fixtures to .kind (phase 2a)
dtourolle
2026-07-23 21:16:42 +02:00
-
43ddc5a889
domain: flip isVideoItem in player store to .kind (phase 2a completion)
dtourolle
2026-07-23 21:14:45 +02:00
-
772e9ca6d5
domain: flip catalog frontend off Jellyfin item-type strings (phase 2a)
dtourolle
2026-07-23 21:12:20 +02:00
-
55fa26377a
domain: introduce provider-neutral media model (phase 1)
dtourolle
2026-07-23 20:53:47 +02:00
-
-
f89b241ad6
docs: document frontend/backend boundary rule and spec workflow
dtourolle
2026-07-23 20:04:54 +02:00
-
8b028b6b60
docs: specs, requirements, ux-flows and traceability for new features
dtourolle
2026-07-23 20:04:35 +02:00
-
dd9d4191f1
chore(ci): add frontend boundary tripwire script
dtourolle
2026-07-23 20:04:35 +02:00
-
bacb9ca0bb
docs(traces): tag episode focus view and library detail with TRACES
dtourolle
2026-07-23 20:03:16 +02:00
-
cf9472f04f
feat(chrome): shared account menu and global app header
dtourolle
2026-07-23 20:03:12 +02:00
-
f25deba824
feat(downloads): browsable downloaded library with on-disk usage
dtourolle
2026-07-23 20:02:55 +02:00
-
8f4f651bac
fix(offline): gate library listing to downloaded-only when offline (#10)
dtourolle
2026-07-23 20:02:33 +02:00
-
c175378f38
feat(search): context-scoped search with filter chips and group order
dtourolle
2026-07-23 20:02:15 +02:00
-
e083b53ee8
feat(downloads): WiFi-only network-type-aware download gating
dtourolle
2026-07-23 20:02:07 +02:00
-
8f8433eebe
ci: remove superseded traceability workflow
dtourolle
2026-07-23 19:17:40 +02:00
-
6f057ad14a
ci: fix Bad substitution in docs publish step
dtourolle
2026-07-23 19:13:29 +02:00
-
bebe13eb62
ci: drop redundant setup-bun step that stalls Gitea runner
v0.0.16
dtourolle
2026-07-23 09:45:07 +02:00
-
a8adbe25cc
Merge pull request 'android-picture-in-picture' (#12) from android-picture-in-picture into master
dtourolle
2026-07-22 20:29:04 +00:00
-
-
acf1bb200d
fix resuming video playback after background audio only mode.
dtourolle
2026-07-22 22:28:07 +02:00
-
3fbf6afdbc
Background-audio handoff for video + repository/player refactor
dtourolle
2026-07-22 21:52:07 +02:00