Commit Graph
100 Commits
Author SHA1 Message Date
joshpatra 556e6323ae test(jellyfin): use modern live authorization 2026-09-09 10:05:25 -04:00
joshpatra c25c5d6d29 fix(storage): retain playlist import migrations 2026-09-09 09:59:44 -04:00
joshpatra 1d11bcd35c fix(jellyfin): support modern server authorization 2026-09-09 07:14:03 -04:00
joshpatra 8781bd56ff fix(matching): prefer qualified local candidates 2026-08-20 16:21:32 -04:00
joshpatra 794ce03283 fix(webui): tighten mobile history rows
CI / build-and-test (push) Canceled after 0s
CI / release-critical-tests (push) Canceled after 0s
CI / csharp-format (push) Canceled after 0s
CI / webui (push) Canceled after 0s
CI / apple-contracts (push) Canceled after 0s
CI / compose-contracts (push) Canceled after 0s
CI / release-manifest (push) Canceled after 0s
2026-08-20 15:12:41 -04:00
joshpatra 2cdba2385a fix(intelligence): show artwork in compact history rows 2026-08-20 15:07:33 -04:00
joshpatra 541154c639 fix(intelligence): clarify AudioMuse-AI connection state 2026-08-20 14:34:59 -04:00
joshpatra e160a98fc0 chore(webui): allow Impeccable live mode in development 2026-08-20 14:08:45 -04:00
joshpatra b6e9d0e7fc test(storage): track latest repair migration 2026-08-20 13:22:58 -04:00
joshpatra 86ebf700bb fix(storage): repair provider account creator type 2026-08-20 13:17:08 -04:00
joshpatra 073705ce72 fix(ci): align notice and AudioMuse contracts
CI / build-and-test (push) Canceled after 0s
CI / release-critical-tests (push) Canceled after 0s
CI / csharp-format (push) Canceled after 0s
CI / webui (push) Canceled after 0s
CI / release-manifest (push) Canceled after 0s
CI / apple-contracts (push) Canceled after 0s
CI / compose-contracts (push) Canceled after 0s
2026-08-20 11:36:03 -04:00
joshpatra 37437e80e4 chore(repo): consolidate documentation and structure 2026-08-20 11:29:28 -04:00
joshpatra dc34a368ad docs: record built-in AudioMuse deployment 2026-08-20 10:51:55 -04:00
joshpatra 1edd625e6a feat(intelligence): add built-in AudioMuse connection 2026-08-20 10:42:32 -04:00
joshpatra 5bb159b7b4 docs: record Intelligence deployment 2026-08-20 10:13:27 -04:00
joshpatra 218a703fe7 fix(intelligence): default history to all time 2026-08-20 10:09:06 -04:00
joshpatra 18c8403735 feat(intelligence): configure AudioMuse in context 2026-08-20 10:04:27 -04:00
joshpatra 9d71474233 docs: record history import undo deployment
CI / build-and-test (push) Canceled after 0s
CI / release-critical-tests (push) Canceled after 0s
CI / csharp-format (push) Canceled after 0s
CI / webui (push) Canceled after 0s
CI / release-manifest (push) Canceled after 0s
CI / apple-contracts (push) Canceled after 0s
CI / compose-contracts (push) Canceled after 0s
2026-08-20 01:52:36 -04:00
joshpatra e6e7a2dc59 fix(intelligence): undo imports and reject video history 2026-08-20 00:47:38 -04:00
joshpatra ab9cd6633f test(webui): align mapping disclosure label 2026-08-19 23:10:04 -04:00
joshpatra a946f27f03 docs: record unlimited history deployment [skip ci] 2026-08-19 23:09:08 -04:00
joshpatra 9336e6c7c9 fix(intelligence): preserve unlimited imported history 2026-08-19 23:04:33 -04:00
joshpatra a50c669b56 docs: record final dashboard deployment [skip ci] 2026-08-19 22:08:41 -04:00
joshpatra f951adef2d fix(admin): ignore missing managed audio files 2026-08-19 22:01:26 -04:00
joshpatra e4c3b2872a docs: record pending webui delivery 2026-08-19 21:47:59 -04:00
joshpatra c8c57ea909 fix(webui): preserve route position when tabs activate 2026-08-19 21:34:51 -04:00
joshpatra b5113d4735 fix(webui): clarify imports and storage tables 2026-08-19 21:25:41 -04:00
joshpatra bbce7f685c feat(webui): streamline home and mobile review flows 2026-08-19 21:13:55 -04:00
joshpatra 43a00e4219 feat(webui): adopt Material control room design system 2026-08-19 20:33:45 -04:00
joshpatra 5e7b6401be fix(webui): clarify intelligence imports and controls 2026-08-19 16:04:04 -04:00
joshpatra f475d15804 docs: record final deployment evidence [skip ci] 2026-08-19 14:28:21 -04:00
joshpatra e42f38deaa fix(protocols): hide non-playable provider tracks 2026-08-19 14:15:03 -04:00
joshpatra b9c962e036 fix(ci): forward postgres connection environment 2026-08-19 13:15:01 -04:00
joshpatra 5616aaa036 fix(ci): project runner identity into postgres client 2026-08-19 13:08:03 -04:00
joshpatra c4af6a1f27 fix(ci): use pinned postgres client image 2026-08-19 13:00:20 -04:00
joshpatra 72ebd02608 fix(release): complete candidate and parity evidence 2026-08-19 12:44:57 -04:00
joshpatra 26f9786a00 fix(protocols): unify external lyrics and artist routing 2026-08-19 12:08:35 -04:00
joshpatra c614ea004a feat(matching): expose scored candidates and cache lifecycle 2026-08-19 11:55:35 -04:00
joshpatra d459da5a99 feat(dashboard): surface live playback and durable activity 2026-08-19 11:32:09 -04:00
joshpatra e9dbafe20d feat(intelligence): unify history discovery and automation 2026-08-19 11:15:24 -04:00
joshpatra e5d82ce5a5 feat(webui): unify integration management 2026-08-19 10:58:40 -04:00
joshpatra e4c699e870 feat(webui): restore signal boot and align data rows 2026-08-19 10:41:19 -04:00
joshpatra 07bc3c4512 fix(jellyfin): preserve library root user scope
CI / build-and-test (push) Canceled after 0s
CI / release-critical-tests (push) Canceled after 0s
CI / csharp-format (push) Canceled after 0s
CI / webui (push) Canceled after 0s
CI / apple-contracts (push) Canceled after 0s
CI / compose-contracts (push) Canceled after 0s
CI / release-manifest (push) Canceled after 0s
2026-08-17 16:16:58 -04:00
joshpatra 5c4f11463d fix(webui): contain route overflow 2026-08-17 15:26:00 -04:00
joshpatra d53f7f1934 fix(webui): constrain intelligence grid 2026-08-17 15:18:46 -04:00
joshpatra 94c2fbf5b6 test(webui): expose overflow diagnostics 2026-08-17 14:55:13 -04:00
joshpatra 09f63d2167 fix(webui): contain segmented navigation 2026-08-17 14:49:48 -04:00
joshpatra af89bfd0b1 fix(playback): preserve Apple stream quality on startup 2026-08-17 14:08:41 -04:00
joshpatra 3d077409be fix(playback): reduce Apple Music cold-start skips 2026-08-17 13:37:40 -04:00
joshpatra 7583ccf924 fix(webui): contain select labels on mobile 2026-08-16 10:20:02 -04:00
joshpatra 62f5f6c785 test(webui): scope intelligence overflow checks
CI / build-and-test (push) Canceled after 0s
CI / release-critical-tests (push) Canceled after 0s
CI / csharp-format (push) Canceled after 0s
CI / webui (push) Canceled after 0s
CI / apple-contracts (push) Canceled after 0s
CI / compose-contracts (push) Canceled after 0s
CI / release-manifest (push) Canceled after 0s
2026-08-16 09:31:13 -04:00
joshpatra 9e52edf584 fix(webui): stabilize mobile browser checks 2026-08-16 09:14:00 -04:00
joshpatra b5936d996d fix(ci): resolve release and browser regressions 2026-08-16 08:51:03 -04:00
joshpatra 01c4105978 fix(webui): stabilize responsive browser flows
CI / build-and-test (push) Canceled after 0s
CI / release-critical-tests (push) Canceled after 0s
CI / csharp-format (push) Canceled after 0s
CI / webui (push) Canceled after 0s
CI / release-manifest (push) Canceled after 0s
CI / apple-contracts (push) Canceled after 0s
CI / compose-contracts (push) Canceled after 0s
2026-08-15 19:45:07 -04:00
joshpatra 0d635b04dd chore(webui): update safe UI dependencies 2026-08-15 19:15:24 -04:00
joshpatra 61d97d451d test(ci): isolate portable import safety contract 2026-08-15 18:58:27 -04:00
joshpatra 8fd3655558 test(ci): isolate slow PostgreSQL safety contracts 2026-08-15 18:55:31 -04:00
joshpatra 63c5b0d706 refactor(jellyfin): use native JSON deserialization 2026-08-15 18:38:46 -04:00
joshpatra 927c7b1def test(jellyfin): qualify live websocket sessions
CI / build-and-test (push) Canceled after 0s
CI / release-critical-tests (push) Canceled after 0s
CI / csharp-format (push) Canceled after 0s
CI / webui (push) Canceled after 0s
CI / release-manifest (push) Canceled after 0s
CI / apple-contracts (push) Canceled after 0s
CI / compose-contracts (push) Canceled after 0s
2026-08-15 18:31:57 -04:00
joshpatra d54109c581 fix(subsonic): preserve native music detail parity 2026-08-15 18:22:50 -04:00
joshpatra 2ce5149848 docs: record guarded playlist cleanup blocker 2026-08-15 16:31:00 -04:00
joshpatra a5c7334da3 fix(test): bind playlist smoke to authenticated user 2026-08-15 16:26:01 -04:00
joshpatra 31c6768a12 test(jellyfin): harden live parity cleanup 2026-08-15 16:00:32 -04:00
joshpatra 2428223fed fix(jellyfin): preserve native playlist totals 2026-08-15 15:47:34 -04:00
joshpatra 58c9e285d8 fix(jellyfin): preserve native root and HEAD parity 2026-08-15 15:38:18 -04:00
joshpatra e76de8beea fix: preserve valid provider pages in live parity 2026-08-15 15:08:11 -04:00
joshpatra 73ce04a18b refactor: consolidate providers, cache, and dashboard UI 2026-08-15 13:58:24 -04:00
joshpatra d365d0551d docs: record client parity deployment
CI / build-and-test (push) Canceled after 0s
CI / state-transfer-tests (push) Canceled after 0s
CI / csharp-format (push) Canceled after 0s
CI / webui (push) Canceled after 0s
CI / apple-contracts (push) Canceled after 0s
CI / compose-contracts (push) Canceled after 0s
CI / release-manifest (push) Canceled after 0s
2026-08-10 22:50:11 -04:00
joshpatra c6893cd82e feat(jellyfin): add remote control and live playback parity 2026-08-10 22:14:18 -04:00
joshpatra 90578906b8 fix(extensions): upgrade installed download providers
CI / build-and-test (push) Canceled after 0s
CI / state-transfer-tests (push) Canceled after 0s
CI / csharp-format (push) Canceled after 0s
CI / webui (push) Canceled after 0s
CI / apple-contracts (push) Canceled after 0s
CI / compose-contracts (push) Canceled after 0s
CI / release-manifest (push) Canceled after 0s
2026-08-07 07:32:15 -04:00
joshpatra 8aa036175c feat(providers): add extension stream readiness and preference 2026-08-07 07:25:44 -04:00
joshpatra 2a7689438c test(extensions): cover Apple token forwarding
CI / build-and-test (push) Canceled after 0s
CI / state-transfer-tests (push) Canceled after 0s
CI / csharp-format (push) Canceled after 0s
CI / webui (push) Canceled after 0s
CI / release-manifest (push) Canceled after 0s
CI / apple-contracts (push) Canceled after 0s
CI / compose-contracts (push) Canceled after 0s
2026-08-06 22:31:25 -04:00
joshpatra dbea0cfe9a fix(extensions): forward provider request headers 2026-08-06 22:22:22 -04:00
joshpatra 4409fb7bc8 fix(extensions): restore Apple metadata and lyrics 2026-08-06 22:12:29 -04:00
joshpatra 6eafc96d9b fix(sources): show saved account configuration 2026-08-06 21:10:50 -04:00
joshpatra e265f25fcf fix(providers): retire SquidWTF and clarify playback sources 2026-08-06 20:44:53 -04:00
joshpatra b8061b19cd docs: close extension cleanup checklist 2026-08-06 19:21:22 -04:00
joshpatra b231769ddd fix(sources): preserve deep-linked provider selection 2026-08-06 19:12:52 -04:00
joshpatra d39ede8e32 feat(extensions): unify source configuration and health 2026-08-06 19:02:54 -04:00
joshpatra 6a7680aae6 fix(matching): resolve pinned routes for legacy snapshots
CI / build-and-test (push) Canceled after 0s
CI / state-transfer-tests (push) Canceled after 0s
CI / csharp-format (push) Canceled after 0s
CI / webui (push) Canceled after 0s
CI / release-manifest (push) Canceled after 0s
CI / apple-contracts (push) Canceled after 0s
CI / compose-contracts (push) Canceled after 0s
2026-08-06 01:48:51 -04:00
joshpatra fe0aca7394 fix(matching): remove accepted provider routes from review 2026-08-06 01:44:20 -04:00
joshpatra 667acc134c fix(sources): clarify latency states and align tables 2026-08-06 01:38:31 -04:00
joshpatra 752804848a fix(intelligence): clarify history imports and controls 2026-08-06 01:30:56 -04:00
joshpatra 613e94dc71 fix(jellyfin): populate external collection totals 2026-08-06 00:51:25 -04:00
joshpatra 0a4685ee55 fix(jellyfin): preserve artist array response shape 2026-08-06 00:37:15 -04:00
joshpatra 5f05d48cb2 style: format rematch confirmation hash 2026-08-05 22:29:16 -04:00
joshpatra ff4875fecb fix(playlists): publish rematched decisions 2026-08-05 22:06:45 -04:00
joshpatra cb81b0fd3f fix(jellyfin): tolerate stale playlist matches 2026-08-05 20:26:30 -04:00
joshpatra 119b8d7ef4 fix(jellyfin): preserve routed provider identities 2026-08-05 19:55:09 -04:00
joshpatra 3969ead693 fix(jellyfin): preserve virtual playlist context 2026-08-05 19:20:55 -04:00
joshpatra e3c89569ef test(jellyfin): assert related provider identity 2026-08-05 06:09:14 -04:00
joshpatra d1b3edf4f2 fix(jellyfin): keep related tracks on chosen provider 2026-08-05 05:54:01 -04:00
joshpatra ac0a18f847 fix(matching): retry PostgreSQL rematch deadlocks 2026-08-05 05:34:40 -04:00
joshpatra dfeceac3d8 fix(jellyfin): preserve local artist search objects 2026-08-05 05:34:10 -04:00
joshpatra 27f4de9822 fix(jellyfin): preserve local artist objects 2026-08-05 05:13:30 -04:00
joshpatra 25d41ec874 fix(jellyfin): preserve provider bitrates 2026-08-05 04:41:55 -04:00
joshpatra f7cb957791 fix(auth): allow scoped playlist self-service 2026-08-05 03:42:02 -04:00
joshpatra 2e89d02a1b fix(smoke): accept honest empty provider collections 2026-08-05 03:23:31 -04:00
joshpatra 59d498d7a1 fix(metadata): enrich external relationship ids 2026-08-05 03:11:10 -04:00
joshpatra 5fa130a5d9 test(smoke): qualify concurrent stream behavior 2026-08-05 02:44:42 -04:00