Commit graph

  • 81cb803980 refactor(scanner): query column nullability with a single-row pragma_table_info select fix/media-file-bpm-not-null Deluan 2026-07-09 13:07:15 -04:00
  • 5377c2b2b3 fix(scanner): repair NOT NULL bpm/bit_depth columns left by out-of-order migration Deluan 2026-07-09 12:56:54 -04:00
  • 2cbd34f376
    chore(deps): bump ws from 8.20.0 to 8.21.0 in /ui dependabot/npm_and_yarn/ui/ws-8.21.0 dependabot[bot] 2026-07-09 10:32:08 +00:00
  • 052f10fd68
    fix(build): prevent 32-bit startup crash (segfault/SIGILL) in downloads binaries (#5739) master v0.63.1 Deluan Quintão 2026-07-09 06:30:44 -04:00
  • e84378099f refactor: apply cleanup review findings perf/db-planner-stats Deluan 2026-07-08 17:47:49 -04:00
  • 2e730ad1f6 fix(scanner): honor promoted full scans in the optimize gate Deluan 2026-07-08 17:35:29 -04:00
  • 573bc36b21 fix(scanner): run the post-scan ANALYZE in the server process Deluan 2026-07-08 17:18:19 -04:00
  • 88dffdfc16 chore(persistence): drop the no-op PRAGMA optimize from ScanEnd Deluan 2026-07-08 15:14:54 -04:00
  • ef58e48ede style(scanner): drop redundant comment in runOptimize Deluan 2026-07-08 15:07:19 -04:00
  • d3c2a040fc chore(db): remove the DevOptimizeDB flag and skip Optimize on quick scans Deluan 2026-07-08 14:50:49 -04:00
  • 1bc22ee428 perf(db): drop startup PRAGMA optimize that re-poisons planner stats Deluan 2026-07-08 14:34:20 -04:00
  • ad566d0cb6 perf(db): add covering index for title-sorted song listings perf/title-sort-covering-index Deluan 2026-07-06 21:39:09 -04:00
  • 42d4363f61
    fix(service): rewrite systemd service template for kardianos/service v1.3.0 (#5743) Deluan Quintão 2026-07-08 16:40:07 -04:00
  • 07f1ecfbe0 perf(db): keep query planner statistics trustworthy with full ANALYZE Deluan 2026-07-06 21:39:08 -04:00
  • 4652b46602
    fix(plugins): populate username for buffered plugin scrobbles (#5736) Deluan Quintão 2026-07-08 12:37:42 -04:00
  • f48943c058
    fix(plugins): discard buffered scrobbles when a plugin is removed (#5737) Deluan Quintão 2026-07-08 12:37:17 -04:00
  • f68d1e0f62 fix(jellyfin): require the MediaBrowser scheme when parsing auth headers feat/jellyfin-api Deluan 2026-07-08 12:11:18 -04:00
  • a1c1f0dc98 fix(jellyfin): prefer the Authorization header over X-Emby-Authorization Deluan 2026-07-08 12:06:08 -04:00
  • 00453f345d refactor(jellyfin): rename parseEmbyAuth to parseMediaBrowserAuth Deluan 2026-07-08 12:03:15 -04:00
  • e04e21b6ad fix(jellyfin): prefer the recommended Authorization scheme when picking a token Deluan 2026-07-08 11:59:32 -04:00
  • c7a3d409e1 fix(jellyfin): never drop the instant mix seed on a slow provider Deluan 2026-07-07 18:26:40 -04:00
  • cb7afb86f8 refactor(jellyfin): apply cleanup review findings Deluan 2026-07-07 18:07:22 -04:00
  • 6c5b105c49 style(jellyfin): trim wordy comments Deluan 2026-07-07 17:30:37 -04:00
  • 99a41cfe80 feat(jellyfin): implement Items/{id}/InstantMix Deluan 2026-07-07 17:19:44 -04:00
  • 20b7f6822a feat(jellyfin): resolve Finamp-truncated item ids (saved queue restore) Deluan 2026-07-07 16:48:45 -04:00
  • b75f5ec298 feat(jellyfin): expose PremiereDate on tracks and albums Deluan 2026-07-07 16:01:58 -04:00
  • 9c5a79d256 fix(jellyfin): sort tracks by release year for SortBy=PremiereDate Deluan 2026-07-07 15:05:37 -04:00
  • 9c2b553197 fix(jellyfin): optimize SongsByArtistID filter to improve performance at library scale Deluan 2026-07-07 14:25:51 -04:00
  • c9e0a296ad fix(jellyfin): align cover upload limit and validation with the native endpoint Deluan 2026-07-07 13:26:26 -04:00
  • 2c1b2a2c6a fix(jellyfin): version playlist image tag so clients refresh uploaded covers Deluan 2026-07-07 11:53:20 -04:00
  • 495928df0a
    Merge branch 'master' into feat/jellyfin-api Deluan Quintão 2026-07-07 10:57:06 -04:00
  • 21e78e5d03 feat(jellyfin): filter album artists by GenreIds Deluan 2026-07-07 10:54:03 -04:00
  • f95a17dd1a fix(jellyfin): honor GenreIds when browsing genre albums and tracks Deluan 2026-07-07 10:26:05 -04:00
  • 45304c549a feat(jellyfin): support transcoding via HLS playlist and server-forced player format Deluan 2026-07-07 09:10:46 -04:00
  • 6c95a66ad6 chore(deps): update Go dependencies to latest versions v0.63.0 Deluan 2026-07-06 22:34:46 -04:00
  • b2b4fc1943
    fix(ui): update Turkish translations from POEditor (#5685) Deluan Quintão 2026-07-06 22:32:43 -04:00
  • 9805139bc1 perf(db): add covering index for title-sorted song listings Deluan 2026-07-06 21:39:09 -04:00
  • 118563e10b perf(db): keep query planner statistics trustworthy with full ANALYZE Deluan 2026-07-06 21:39:08 -04:00
  • ad617c1be6 style(jellyfin): trim redundant comments Deluan 2026-07-06 19:53:35 -04:00
  • 1f8cbd0705 feat(jellyfin): expose configured users on the login user-picker Deluan 2026-07-06 19:43:47 -04:00
  • 57b362e4f4 docs(jellyfin): document player registration, playlist and image behavior Deluan 2026-07-06 19:10:59 -04:00
  • 387c77f37b refactor(jellyfin): move case-insensitive routing into the jellyfin package Deluan 2026-07-06 18:57:58 -04:00
  • 36f5211da4 fix(jellyfin): register clients as players on any authenticated request Deluan 2026-07-06 18:55:24 -04:00
  • a007a33b85 fix(jellyfin): correct playlist track browsing and multi-id edits Deluan 2026-07-06 18:21:16 -04:00
  • ae29211de9 fix(jellyfin): address code review security and correctness findings Deluan 2026-07-06 18:20:57 -04:00
  • c27db6c7ba feat(jellyfin): honor Fields on /Items and add missing conformance fields Deluan 2026-07-06 16:01:04 -04:00
  • c42fdace6f fix(jellyfin): route the current /UserFavoriteItems favorite endpoint Deluan 2026-07-06 15:28:07 -04:00
  • dca8764a0c fix(tests): silence gosec taint false-positive in harness snapshot write Deluan 2026-07-06 15:06:35 -04:00
  • eb2bd621f8 docs(jellyfin): make comments concise Deluan 2026-07-06 15:05:09 -04:00
  • 4b81528653 refactor(tests): extract the shared e2e harness into tests/harness Deluan 2026-07-06 14:54:28 -04:00
  • ca930b4322 fix(jellyfin): wait for the real Similar result instead of answering a cacheable empty list Deluan 2026-07-06 14:47:48 -04:00
  • 48a86d0f39 perf(jellyfin): batch song resolution in /Items?ids= and playlist expansion Deluan 2026-07-06 14:44:40 -04:00
  • b408c55603 fix(jellyfin): record LastLoginAt on Jellyfin logins Deluan 2026-07-06 14:33:17 -04:00
  • 1db3d030ef fix(log): redact full api_key values, including JWTs Deluan 2026-07-06 14:32:28 -04:00
  • 48e9fcee08 fix(jellyfin): gate private playlist covers on the public image route Deluan 2026-07-06 14:31:16 -04:00
  • 2da43bf043 fix(jellyfin): dedupe and bound the background Similar fetches Deluan 2026-07-06 14:28:11 -04:00
  • c03b97f67b perf(jellyfin): cap per-type queries in multi-type /Items requests Deluan 2026-07-06 14:25:58 -04:00
  • c1e050f816 fix(jellyfin): browse playlists via the generic /Items path and resolve the playlists folder by id Deluan 2026-07-06 14:24:56 -04:00
  • b86b54b4fd fix(jellyfin): report real search totals instead of page length or unfiltered counts Deluan 2026-07-06 14:23:54 -04:00
  • c9d7d06227 fix(jellyfin): don't rotate the stored server id on transient DB errors Deluan 2026-07-06 14:19:58 -04:00
  • b4d324e18d fix(jellyfin): apply Name/IsPublic sent together with a track replacement Deluan 2026-07-06 14:18:20 -04:00
  • c49b44799d fix(jellyfin): round ratings to the nearest star instead of truncating Deluan 2026-07-06 14:17:19 -04:00
  • b34da4017f fix(jellyfin): genre paging params and same-key casing collisions Deluan 2026-07-06 14:15:59 -04:00
  • 1b0214303d docs(jellyfin): note lyrics and InstantMix/sonic-similarity as follow-ups Deluan 2026-07-06 13:48:16 -04:00
  • acaa109353 fix(jellyfin): answer ManualPlaylistsFolder so the home stops stalling Deluan 2026-07-06 13:09:08 -04:00
  • 32898c34a6 perf(jellyfin): make Similar endpoints non-blocking (bounded quick wait) Deluan 2026-07-06 12:54:51 -04:00
  • b8a30284c9 feat(jellyfin): implement Similar endpoints via the external provider Deluan 2026-07-06 12:38:53 -04:00
  • 397305de4c refactor(jellyfin): drop unused bare-Authorization token support Deluan 2026-07-06 12:23:59 -04:00
  • f618f4d496 feat(jellyfin): serve per-item UserData (GET /UserItems/{id}/UserData) Deluan 2026-07-06 12:12:08 -04:00
  • c84212d09e fix(jellyfin): embed a self-authenticating stream URL in PlaybackInfo Deluan 2026-07-06 11:57:10 -04:00
  • 4f8ac1e01f fix(jellyfin): accept a bare Authorization token for audio streaming Deluan 2026-07-06 11:42:14 -04:00
  • 263eeda6fb fix(jellyfin): separate "Featured On" from an artist's own discography Deluan 2026-07-06 11:23:17 -04:00
  • ac21c4e19c fix(jellyfin): advertise LocalAddress in the public system info handshake Deluan 2026-07-06 11:13:28 -04:00
  • 24344bff55 fix(jellyfin): read query params case-insensitively (Jellify support) Deluan 2026-07-06 10:47:04 -04:00
  • f98f9380c4 fix(jellyfin): sort playlists by name (missing Playlist sort mapping) Deluan 2026-07-06 10:00:11 -04:00
  • 0fb520f3d3 fix(jellyfin): filter the Artists page by role (album artist vs performer) Deluan 2026-07-06 09:55:54 -04:00
  • 58cc14b0fa docs(jellyfin): note WebSocket events and favourited playlists as follow-ups Deluan 2026-07-06 09:32:43 -04:00
  • f81ec26e93 docs(jellyfin): note synthetic blurhash as a follow-up Deluan 2026-07-06 09:28:50 -04:00
  • 1fda149e4e fix(jellyfin): set ArtistItems/AlbumArtists on songs (Now Playing artist) Deluan 2026-07-06 09:18:22 -04:00
  • 81e6dc88b0 feat(jellyfin): emit DateCreated (Date Added) on items Deluan 2026-07-06 09:04:14 -04:00
  • 4341b025ff fix(jellyfin): honor the isFavorite query param for favorites filtering Deluan 2026-07-06 08:57:40 -04:00
  • adf943fc87 fix(jellyfin): sort album tracks by track number when client sends IndexNumber SortBy Deluan 2026-07-06 08:52:14 -04:00
  • cd18a6fa77 fix(jellyfin): only count a play past the scrobble threshold Deluan 2026-07-06 08:37:44 -04:00
  • c3f1e29e71 fix(jellyfin): filter items by AlbumArtistIds/ArtistIds Deluan 2026-07-06 08:28:24 -04:00
  • 90e28148db fix(jellyfin): default album track listing to track order Deluan 2026-07-06 08:12:53 -04:00
  • a786f8a60e docs(jellyfin): update README for playlists, images, id encoding, and e2e Deluan 2026-07-06 08:07:44 -04:00
  • 6386df4c22 Merge remote-tracking branch 'origin/master' into feat/jellyfin-api Deluan 2026-07-06 08:03:18 -04:00
  • 13fc4bc9cf feat(jellyfin): implement POST /Playlists/{id} to update name, visibility, tracks Deluan 2026-07-06 07:55:18 -04:00
  • a2b8d8c0d0 fix(jellyfin): artist search 500 (library filter leaked into FTS query) Deluan 2026-07-06 07:45:25 -04:00
  • b10ec9e9c9 test(jellyfin): e2e for streaming, sessions, and multi-user access control Deluan 2026-07-06 00:44:51 -04:00
  • 6aa0d6a2aa test(jellyfin): e2e for playlists (CRUD, expansion, cover) and item images Deluan 2026-07-06 00:36:04 -04:00
  • 121dd71ea1 test(jellyfin): e2e for system, auth, routing, browsing, annotations Deluan 2026-07-06 00:33:24 -04:00
  • 8ce3f0e9ef test(jellyfin): add e2e suite harness + smoke tests Deluan 2026-07-06 00:18:27 -04:00
  • 03d5ff12e5 fix(jellyfin): support playlist deletion via DELETE /Items/{id} Deluan 2026-07-06 00:03:35 -04:00
  • 00b9e26d36 fix(jellyfin): expand album/artist/playlist ids when building playlists Deluan 2026-07-05 23:58:43 -04:00
  • d24ba9b5ea fix(jellyfin): display playlist cover art Deluan 2026-07-05 23:22:37 -04:00
  • ead911a9e1 feat(jellyfin): implement GET /Playlists/{id} for playlist visibility Deluan 2026-07-05 23:22:37 -04:00
  • b3247591cc fix(jellyfin): support playlist cover upload/delete and display via item image endpoints Deluan 2026-07-05 22:44:45 -04:00
  • f80ee0e41b fix(jellyfin): emit per-image ImageBlurHashes so clients de-dupe images and stop warning Deluan 2026-07-05 22:35:01 -04:00
  • cb7b938fe6 fix(jellyfin): do not disable Jellyfin server when disabling external services Deluan 2026-07-05 22:30:55 -04:00