music-assistant-server.git
4 months agoChore(deps-dev): Bump ruff from 0.14.4 to 0.14.6 (#2672)
dependabot[bot] [Tue, 25 Nov 2025 08:23:50 +0000 (09:23 +0100)]
Chore(deps-dev): Bump ruff from 0.14.4 to 0.14.6 (#2672)

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.4 to 0.14.6.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.4...0.14.6)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.14.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4 months agoChore(deps): Bump mashumaro from 3.16 to 3.17 (#2673)
dependabot[bot] [Tue, 25 Nov 2025 08:23:10 +0000 (09:23 +0100)]
Chore(deps): Bump mashumaro from 3.16 to 3.17 (#2673)

Bumps [mashumaro](https://github.com/Fatal1ty/mashumaro) from 3.16 to 3.17.
- [Release notes](https://github.com/Fatal1ty/mashumaro/releases)
- [Commits](https://github.com/Fatal1ty/mashumaro/compare/v3.16...v3.17)

---
updated-dependencies:
- dependency-name: mashumaro
  dependency-version: '3.17'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4 months agoPlex: added remote control feature (#2608)
anatosun [Tue, 25 Nov 2025 08:20:07 +0000 (09:20 +0100)]
Plex: added remote control feature (#2608)

* Plex: moved scrobbling and playback reporting logic to plugin

* Plex connect: introducing new plugin

* Plex Connect: implemented copilot's suggestions

* Plex connect: corrected link to documentation

Co-authored-by: OzGav <gavnosp@hotmail.com>
---------

Co-authored-by: OzGav <gavnosp@hotmail.com>
4 months agoFix handler type of register_api_command
Marvin Schenkel [Tue, 25 Nov 2025 08:10:18 +0000 (09:10 +0100)]
Fix handler type of register_api_command

4 months agoTyping fixes for the player queues controller (#2611)
OzGav [Tue, 25 Nov 2025 07:40:15 +0000 (17:40 +1000)]
Typing fixes for the player queues controller (#2611)

* Initial drafting

* Fix pyproject.toml

* Formatting

* Filter for track items

* Replace assert with error checks

* Fix grammar typo

* Lint

* Lint

* Revert assert

* Revert logic change

* Revert logic change

* add return type hints

* PR review fixes

* Fix play_media

* Remove some asserts

* Apply feedback

---------

Co-authored-by: Marvin Schenkel <marvinschenkel@gmail.com>
4 months ago⬆️ Update music-assistant-frontend to 2.17.9 (#2674)
music-assistant-machine [Tue, 25 Nov 2025 02:49:29 +0000 (03:49 +0100)]
⬆️ Update music-assistant-frontend to 2.17.9 (#2674)

Co-authored-by: marcelveldt <6389780+marcelveldt@users.noreply.github.com>
4 months agoSubsonic: Add ProviderFeature for Favorites (#2667)
Eric Munson [Mon, 24 Nov 2025 15:47:04 +0000 (10:47 -0500)]
Subsonic: Add ProviderFeature for Favorites (#2667)

These features were missing from
f2c30347988e5c31799a9ef9efa4f19e5eff1e60
Add the features we now provide.

Signed-off-by: Eric B Munson <eric@munsonfam.org>
4 months ago⬆️ Update music-assistant-models to 1.1.70 (#2666)
music-assistant-machine [Sun, 23 Nov 2025 22:01:04 +0000 (23:01 +0100)]
⬆️ Update music-assistant-models to 1.1.70 (#2666)

Co-authored-by: marcelveldt <6389780+marcelveldt@users.noreply.github.com>
4 months agoDisallow malicious playlist updates (#2661)
Marvin Schenkel [Sun, 23 Nov 2025 18:58:30 +0000 (19:58 +0100)]
Disallow malicious playlist updates (#2661)

4 months agoChore(deps): Bump actions/checkout from 5 to 6 (#2659)
dependabot[bot] [Sun, 23 Nov 2025 17:07:49 +0000 (18:07 +0100)]
Chore(deps): Bump actions/checkout from 5 to 6 (#2659)

Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4 months agoSubsonic: Support syncing favorites to subsonic server (#2663)
Eric Munson [Sun, 23 Nov 2025 16:34:47 +0000 (11:34 -0500)]
Subsonic: Support syncing favorites to subsonic server (#2663)

4 months ago⬆️ Update music-assistant-models to 1.1.69 (#2664)
music-assistant-machine [Sat, 22 Nov 2025 21:11:27 +0000 (22:11 +0100)]
⬆️ Update music-assistant-models to 1.1.69 (#2664)

Co-authored-by: marcelveldt <6389780+marcelveldt@users.noreply.github.com>
4 months agoTypes fixes for the Albums Controller (#2632)
OzGav [Fri, 21 Nov 2025 17:35:08 +0000 (03:35 +1000)]
Types fixes for the Albums Controller (#2632)

* Typing fixes for the albums controller

* Revert instance check

* Fix type annotations and mypy compliance

* Remove db asserts

* Switch uniquelist to list

* typo

4 months agoChore(deps): Bump pywidevine from 1.8.0 to 1.9.0 (#2590)
dependabot[bot] [Fri, 21 Nov 2025 15:43:20 +0000 (15:43 +0000)]
Chore(deps): Bump pywidevine from 1.8.0 to 1.9.0 (#2590)

* Chore(deps): Bump pywidevine from 1.8.0 to 1.9.0

Bumps [pywidevine](https://github.com/devine-dl/pywidevine) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/devine-dl/pywidevine/releases)
- [Changelog](https://github.com/devine-dl/pywidevine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/devine-dl/pywidevine/compare/v1.8.0...v1.9.0)

---
updated-dependencies:
- dependency-name: pywidevine
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
* Also bump deps in the provider

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marvin Schenkel <marvinschenkel@gmail.com>
4 months agoChore(deps): Bump liblistenbrainz from 0.6.0 to 0.6.1 (#2592)
dependabot[bot] [Fri, 21 Nov 2025 15:29:30 +0000 (15:29 +0000)]
Chore(deps): Bump liblistenbrainz from 0.6.0 to 0.6.1 (#2592)

* Chore(deps): Bump liblistenbrainz from 0.6.0 to 0.6.1

Bumps [liblistenbrainz](https://github.com/metabrainz/liblistenbrainz) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/metabrainz/liblistenbrainz/releases)
- [Commits](https://github.com/metabrainz/liblistenbrainz/compare/v0.6.0...v0.6.1)

---
updated-dependencies:
- dependency-name: liblistenbrainz
  dependency-version: 0.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
* Also bump deps in the provider

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marvin Schenkel <marvinschenkel@gmail.com>
4 months agoFix Chromecast volume rounding bug (#2656)
OzGav [Fri, 21 Nov 2025 15:26:29 +0000 (01:26 +1000)]
Fix Chromecast volume rounding bug (#2656)

* Fix Chromecast volume rounding bug for values 8% and below

Changed volume level conversion from int() to round() to fix floating-point
precision issues. Chromecast reports volume as float (0.0-1.0) which can have
slight imprecision (e.g., 4% = 0.03999999910593033). Using int() truncated
these values, causing displayed volume to be 1% less than actual for values
8% and below.

Fixes the issue where setting volume to 5% would display as 4%, etc.

* Fix Chromecast volume rounding bug for values 8% and below

Changed volume level conversion to use round() instead of int() in both
directions to fix floating-point precision issues:

1. When setting volume: round to 2 decimal places before sending to device
2. When reading volume: round to nearest integer when converting to percentage

This fixes the issue where Chromecast reports volume as float (0.0-1.0) with
slight imprecision (e.g., 4% = 0.03999999910593033). Using int() truncated
these values, causing displayed volume to be 1% less than actual for values
8% and below.

Fixes the issue where setting volume to 5% would display as 4%, etc.

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Marvin Schenkel <marvinschenkel@gmail.com>
4 months agoChore(deps): Bump aiohttp from 3.13.1 to 3.13.2 (#2620)
dependabot[bot] [Fri, 21 Nov 2025 14:40:08 +0000 (15:40 +0100)]
Chore(deps): Bump aiohttp from 3.13.1 to 3.13.2 (#2620)

---
updated-dependencies:
- dependency-name: aiohttp
  dependency-version: 3.13.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4 months agoTyping fixes for the audiobooks controller (#2626)
OzGav [Fri, 21 Nov 2025 14:22:41 +0000 (00:22 +1000)]
Typing fixes for the audiobooks controller (#2626)

* Typing fixes for the audiobooks controller

* Remove duplicate code

* Remove db asserts

4 months agofix(tidal): auth refresh time diff (#2653)
Jozef Kruszynski [Fri, 21 Nov 2025 14:12:30 +0000 (15:12 +0100)]
fix(tidal): auth refresh time diff (#2653)

* fix(tidal): auth refresh time diff

Auth expiration check was using only 60 seconds rather than the intended
60 minutes. Using timedelta to show full intention

Closes #4425

* fix(tidal): invert current logic, and use constant for buffer

4 months agoDisable Zone Handling if needed for MusicCast players (#2650)
Fabian Munkes [Fri, 21 Nov 2025 14:10:51 +0000 (15:10 +0100)]
Disable Zone Handling if needed for MusicCast players (#2650)

* disable zone handling if desired

* bump lib

* wording

---------

Co-authored-by: OzGav <gavnosp@hotmail.com>
4 months agoTyping fixes for artists controller (#2625)
OzGav [Fri, 21 Nov 2025 14:05:56 +0000 (00:05 +1000)]
Typing fixes for artists controller (#2625)

* Typing fixes for artists controller

* Fix circular import

* Minor type change

* Switch tracks method return type to list

* Remove db asserts

* fix albums() return type

4 months agoAdd TLS options with fingerprint support to Fully Kiosk provider (#2649)
Miguel Angel Nubla [Fri, 21 Nov 2025 12:52:52 +0000 (13:52 +0100)]
Add TLS options with fingerprint support to Fully Kiosk provider (#2649)

* feat(fully-kiosk): add TLS options with fingerprint support

* fix(fully_kiosk): satisfy linters

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
4 months agoSome typing fixes for the music controller (#2629)
OzGav [Fri, 21 Nov 2025 10:38:20 +0000 (20:38 +1000)]
Some typing fixes for the music controller (#2629)

* Some typing fixes for the music controller

* Make self.database a property

* Restore comment

4 months agoUpdate alexapy requirement to version 1.29.9 (#2647)
Michael Ansel [Thu, 20 Nov 2025 18:24:05 +0000 (13:24 -0500)]
Update alexapy requirement to version 1.29.9 (#2647)

* Update alexapy requirement to version 1.29.9

Fix for login issues with Alexa Player Provider.

Changelog: https://gitlab.com/keatontaylor/alexapy/-/blob/dev/CHANGELOG.md#v1299-2025-11-08

Motivating discussion: https://github.com/orgs/music-assistant/discussions/431#discussioncomment-14954976

* Update requirements_all.txt for alexapy 1.29.9

Generated using scripts/gen_requirements_all.py

---------

Co-authored-by: Marvin Schenkel <marvinschenkel@gmail.com>
4 months agoAdd VBAN Receiver plugin provider (#2498)
sprocket-9 [Thu, 20 Nov 2025 13:06:19 +0000 (13:06 +0000)]
Add VBAN Receiver plugin provider (#2498)

4 months agoEnable disabled lint rules (#2658)
OzGav [Thu, 20 Nov 2025 13:04:47 +0000 (23:04 +1000)]
Enable disabled lint rules (#2658)

4 months agoUndo yield to event loop
Marvin Schenkel [Wed, 19 Nov 2025 08:27:01 +0000 (09:27 +0100)]
Undo yield to event loop

4 months ago⬆️ Update music-assistant-frontend to 2.17.8 (#2655)
music-assistant-machine [Wed, 19 Nov 2025 02:46:23 +0000 (03:46 +0100)]
⬆️ Update music-assistant-frontend to 2.17.8 (#2655)

Co-authored-by: marcelveldt <6389780+marcelveldt@users.noreply.github.com>
4 months agoChore(deps-dev): Bump ruff from 0.14.3 to 0.14.4 (#2621)
dependabot[bot] [Tue, 18 Nov 2025 13:48:01 +0000 (14:48 +0100)]
Chore(deps-dev): Bump ruff from 0.14.3 to 0.14.4 (#2621)

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.3 to 0.14.4.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.3...0.14.4)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.14.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4 months agoYTM: Yield control to event loop during stream url resolution to prevent blocking...
Marvin Schenkel [Tue, 18 Nov 2025 13:43:31 +0000 (14:43 +0100)]
YTM: Yield control to event loop during stream url resolution to prevent blocking the main thread.

4 months agoRefactor streams controller + smart fades (#2613)
Marvin Schenkel [Tue, 18 Nov 2025 13:42:01 +0000 (14:42 +0100)]
Refactor streams controller + smart fades  (#2613)

* Refactor streamscontroller + smartfades

* Adjust log levels and add mixer property

* Define separate smart fades logger in the streamcontroller

* Define separate smart fades logger in the streamcontroller

* Remove leftover

* Rewrite loggers as instance attributes

4 months agoFix DLNA player showing external source instead of MA queue (#2648)
OzGav [Tue, 18 Nov 2025 11:54:47 +0000 (21:54 +1000)]
Fix DLNA player showing external source instead of MA queue (#2648)

4 months agoFix Spotify audiobook instance routing (#2502)
OzGav [Tue, 18 Nov 2025 11:27:42 +0000 (21:27 +1000)]
Fix Spotify audiobook instance routing (#2502)

4 months agoTyping fixes for snapcast (#2624)
OzGav [Tue, 18 Nov 2025 11:08:34 +0000 (21:08 +1000)]
Typing fixes for snapcast (#2624)

* Typing fix for SiriusXM

* Typing fixes for snapcast

* fix return types

* Remove erroneous commit

* Revert erroneous commit

* Fix minor errors

4 months agoTyping fixes for the stream controller (#2540)
OzGav [Tue, 18 Nov 2025 09:53:26 +0000 (19:53 +1000)]
Typing fixes for the stream controller (#2540)

* work in progress

* mypy fixes for streams.py

* Fix typos

* Another typo

* PR review changes

* Fixes after merge conflicts

* Revert unnecessary change

* Remove unnecessary comments

* More changes post conflict resolve

* Remove exclude

* organise imports

* Updates post other commits

* Catch possible no stream details

* Updates for new commits

* Fix type error post conflict merge

* Simplify

* Simplify with type hints to config controller

* Typing adjustments

* Fix missing return type

* improve code clarity

* switch to assert for none check

* Fix return type mypy error

* Revert unnecessary bracket

* Use default parameter

4 months agoImprove lyrics lookup failure visibility (#2651)
OzGav [Tue, 18 Nov 2025 08:58:48 +0000 (18:58 +1000)]
Improve lyrics lookup failure visibility (#2651)

4 months agoTyping fix for SiriusXM (#2623)
OzGav [Tue, 18 Nov 2025 08:52:28 +0000 (18:52 +1000)]
Typing fix for SiriusXM (#2623)

4 months agoTyping fixes for the Cache controller (#2569)
OzGav [Tue, 18 Nov 2025 07:37:55 +0000 (17:37 +1000)]
Typing fixes for the Cache controller (#2569)

* mypy fixes for cache.py

* Fix  __init__ signature to match CoreController

* Adjust checksum typing

* Guarantee checksum is a str

* Apply suggestion from @marcelveldt

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
4 months agoAdd default value argument to get_*_config_value
Marcel van der Veldt [Mon, 17 Nov 2025 22:25:55 +0000 (23:25 +0100)]
Add default value argument to get_*_config_value

4 months agoMinor AirPlay tweaks (#2646)
OzGav [Mon, 17 Nov 2025 14:05:38 +0000 (00:05 +1000)]
Minor AirPlay tweaks (#2646)

4 months agoAdd type hints to config controller functions (#2639)
Marcel van der Veldt [Mon, 17 Nov 2025 11:20:30 +0000 (12:20 +0100)]
Add type hints to config controller functions (#2639)

4 months agoAdd (initial) support for AirPlay 2 (#2571)
Brad Keifer [Sun, 16 Nov 2025 19:26:09 +0000 (06:26 +1100)]
Add (initial) support for AirPlay 2 (#2571)

4 months agoHandle non-UTF8 .lrc files gracefully to prevent playback blocking (#2640)
OzGav [Sun, 16 Nov 2025 19:15:09 +0000 (05:15 +1000)]
Handle non-UTF8 .lrc files gracefully to prevent playback blocking (#2640)

4 months agoFix squeezelite sync group source selection (#2642)
OzGav [Sun, 16 Nov 2025 19:13:40 +0000 (05:13 +1000)]
Fix squeezelite sync group source selection (#2642)

Fix squeezelite group playback

4 months agofix: tracks tab not being populated (#2637)
anatosun [Sun, 16 Nov 2025 09:16:15 +0000 (10:16 +0100)]
fix: tracks tab not being populated (#2637)

4 months agofix: abs progress (again!) (#2641)
Fabian Munkes [Sun, 16 Nov 2025 08:46:28 +0000 (09:46 +0100)]
fix: abs progress (again!) (#2641)

* fix: another progress fix

* fix: forgot a not

4 months agoUpdate Resonate provider with `MULTI_DEVICE_DSP` support and other improvements ...
Maxim Raznatovski [Fri, 14 Nov 2025 15:02:16 +0000 (16:02 +0100)]
Update Resonate provider with `MULTI_DEVICE_DSP` support and other improvements (#2616)

* Update `MediaStream` usage

* Support `MULTI_DEVICE_DSP` for resonate

* Rename `stream` to `channel` in `MediaStream`

* Initial working implementation for per player DSP support

* Refactors, fixes, and comments

* Rename `shared_buffer` to `chunk_buffer`

* Use `UUID` instead of `str`

* Use seconds in `multi_client_stream`

* Move attribute definitions to class level

* Remove dead code

* Refactor `_cleanup_old_chunks`

* Rename `MultiClientStream` to `TimedClientStream`

* Refactor `_read_chunk_from`

* Convert main channel to 16-bit PCM for aioresonate compatibility

* Use separate host and advertise_host

Pass bind_ip for socket binding and publish_ip for mDNS advertising to
correctly handle scenarios where the server binds to all interfaces
(0.0.0.0) but advertises a specific IP address to clients.

* Bump `aioresonate`

* Add safety check to `TimedClientStream` to avoid memory leaks

* Update `MIN_BUFFER_DURATION` comment with findings

* Update music_assistant/providers/resonate/timed_client_stream.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Clean up `timed_client_stream` reference after playback

* Bump `aioresonate`

* Update call to the now async friendly `set_media_art`

* Update `playback_state` when joining a new group

* Update `group_members` based on `aioresonate` events

Instead of optimistically setting them.

* Move `MusicAssistantMediaStream` outside a method

* Run audio cleanup immediately

* Remove redundant type annotation

* Use `anext()`

* Remove unused async from `_cleanup_old_chunks`

* Simplify method name and clarify lock requirement

* Move `_generate` to class-level method

* Refactor `MusicAssistantMediaStream` parameters

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
4 months agoDelete and ignore uv.lock file
Marvin Schenkel [Fri, 14 Nov 2025 14:04:30 +0000 (15:04 +0100)]
Delete and ignore uv.lock file

4 months agoFix CI by installing all provider's dependencies when linting (#2619)
Maxim Raznatovski [Fri, 14 Nov 2025 13:32:45 +0000 (14:32 +0100)]
Fix CI by installing all provider's dependencies when linting (#2619)

Fix CI lint job by installing all provider dependencies

4 months agoAdded deno for YTMusic Provider (#2636)
Dnny44 [Thu, 13 Nov 2025 17:35:14 +0000 (11:35 -0600)]
Added deno for YTMusic Provider (#2636)

* Added deno for YTMusic Provider

* Commiting uv lock

4 months agoFix UGP member detection in `get_stream` (#2617)
Maxim Raznatovski [Mon, 10 Nov 2025 13:39:59 +0000 (14:39 +0100)]
Fix UGP member detection in `get_stream` (#2617)

4 months agoUse `get_stream` helper in builtin player (#2618)
Maxim Raznatovski [Mon, 10 Nov 2025 13:38:57 +0000 (14:38 +0100)]
Use `get_stream` helper in builtin player (#2618)

4 months agoTyping fixes for the Qobuz provider (#2610)
OzGav [Mon, 10 Nov 2025 09:43:22 +0000 (19:43 +1000)]
Typing fixes for the Qobuz provider (#2610)

5 months agoUse secure connection to MusicBrainz API (#2615)
mtdcr [Sun, 9 Nov 2025 23:01:10 +0000 (00:01 +0100)]
Use secure connection to MusicBrainz API (#2615)

5 months agoUpdate base image versions to 1.4.8
Marcel van der Veldt [Sun, 9 Nov 2025 08:34:19 +0000 (09:34 +0100)]
Update base image versions to 1.4.8

5 months agoRemove explicit lvvmlite and numpy dependencies now that we are using debian.
Marvin Schenkel [Sat, 8 Nov 2025 15:59:59 +0000 (16:59 +0100)]
Remove explicit lvvmlite and numpy dependencies now that we are using debian.

5 months agoApple Music: Add remaining favourite parsing + custom music token config (#2609)
Marvin Schenkel [Sat, 8 Nov 2025 11:49:19 +0000 (12:49 +0100)]
Apple Music: Add remaining favourite parsing + custom music token config (#2609)

5 months agoAdd logging filter
Marcel van der Veldt [Sat, 8 Nov 2025 11:39:37 +0000 (12:39 +0100)]
Add logging filter

5 months agoFix bugs in webserver
Marcel van der Veldt [Fri, 7 Nov 2025 17:43:11 +0000 (18:43 +0100)]
Fix bugs in webserver

5 months agoTyping fixes for the config controller (#2570)
OzGav [Fri, 7 Nov 2025 16:18:39 +0000 (02:18 +1000)]
Typing fixes for the config controller (#2570)

5 months agoRefactor Smart fades (#2582)
Marvin Schenkel [Fri, 7 Nov 2025 16:16:53 +0000 (17:16 +0100)]
Refactor Smart fades (#2582)

5 months agoTyping fixes for the squeezelite provider (#2589)
OzGav [Fri, 7 Nov 2025 16:16:21 +0000 (02:16 +1000)]
Typing fixes for the squeezelite provider (#2589)

5 months agofix macos librespot binary
Marcel van der Veldt [Fri, 7 Nov 2025 16:12:35 +0000 (17:12 +0100)]
fix macos librespot binary

5 months agoApple music improvements (#2607)
Marvin Schenkel [Fri, 7 Nov 2025 15:51:42 +0000 (16:51 +0100)]
Apple music improvements (#2607)

5 months agoRemove sonos workaround
Marcel van der Veldt [Fri, 7 Nov 2025 14:47:30 +0000 (15:47 +0100)]
Remove sonos workaround

5 months agoMore crossfade tweaks
Marcel van der Veldt [Fri, 7 Nov 2025 14:47:18 +0000 (15:47 +0100)]
More crossfade tweaks

5 months agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Fri, 7 Nov 2025 11:48:43 +0000 (12:48 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev

5 months agoAdd more debugging of stopped streams
Marcel van der Veldt [Fri, 7 Nov 2025 11:48:38 +0000 (12:48 +0100)]
Add more debugging of stopped streams

5 months agofix: abs: another in progress fix (#2605)
Fabian Munkes [Fri, 7 Nov 2025 10:47:01 +0000 (11:47 +0100)]
fix: abs: another in progress fix (#2605)

5 months agofix: MusicCast - non-existing player in zone handling (#2606)
Fabian Munkes [Fri, 7 Nov 2025 10:46:01 +0000 (11:46 +0100)]
fix: MusicCast - non-existing player in zone handling (#2606)

5 months agoyield to loop tweaks
Marcel van der Veldt [Fri, 7 Nov 2025 10:38:49 +0000 (11:38 +0100)]
yield to loop tweaks

5 months agoTyping fixes for the Webserver controller (#2586)
OzGav [Fri, 7 Nov 2025 08:06:25 +0000 (18:06 +1000)]
Typing fixes for the Webserver controller (#2586)

* Fix merge conflicts

* more mypy fixes

* Drafting post upstream changes

* fix run_handler

* PR review comment

* Merge conflict fixes

* Fix WebserverController __init__ signature to match CoreController

5 months agoEnsure Spotify Connect is passive
Marcel van der Veldt [Fri, 7 Nov 2025 00:54:55 +0000 (01:54 +0100)]
Ensure Spotify Connect is passive

5 months agoAdd some temporary debug info to stream controller
Marcel van der Veldt [Fri, 7 Nov 2025 00:49:11 +0000 (01:49 +0100)]
Add some temporary debug info to stream controller

5 months agoAdd Airport Receiver Plugin provider (#2604)
Marcel van der Veldt [Fri, 7 Nov 2025 00:04:14 +0000 (01:04 +0100)]
Add Airport Receiver Plugin provider (#2604)

5 months agoAdd logging to Spotify streaming
Marcel van der Veldt [Thu, 6 Nov 2025 21:19:58 +0000 (22:19 +0100)]
Add logging to Spotify streaming

5 months agoFix Spotify streaming (#2603)
Marcel van der Veldt [Thu, 6 Nov 2025 20:33:51 +0000 (21:33 +0100)]
Fix Spotify streaming (#2603)

5 months agoFix deadlock when trying to join a paused Airplay player to a group (#2602)
Marvin Schenkel [Thu, 6 Nov 2025 20:25:56 +0000 (21:25 +0100)]
Fix deadlock when trying to join a paused Airplay player to a group (#2602)

5 months agoAdd more error handling and logging to (different sample rate) crossfade actions
Marcel van der Veldt [Thu, 6 Nov 2025 13:06:40 +0000 (14:06 +0100)]
Add more error handling and logging to (different sample rate) crossfade actions

5 months agoFix: start stream as fast as possible
Marcel van der Veldt [Thu, 6 Nov 2025 11:44:27 +0000 (12:44 +0100)]
Fix: start stream as fast as possible

Dont wait until the buffer has the crossfade duration if we just started playback

5 months agotry other values for readrate
Marcel van der Veldt [Thu, 6 Nov 2025 03:06:21 +0000 (04:06 +0100)]
try other values for readrate

5 months agoSmall fix for source switching
Marcel van der Veldt [Thu, 6 Nov 2025 00:22:17 +0000 (01:22 +0100)]
Small fix for source switching

5 months agodebug log check_binary returncode and output
Brad Keifer [Wed, 5 Nov 2025 04:57:49 +0000 (15:57 +1100)]
debug log check_binary returncode and output

5 months agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Wed, 5 Nov 2025 20:37:38 +0000 (21:37 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev

5 months agoFix AirPlay late join sync
Marcel van der Veldt [Wed, 5 Nov 2025 20:37:34 +0000 (21:37 +0100)]
Fix AirPlay late join sync

5 months agoFix typo in active source property
Marcel van der Veldt [Wed, 5 Nov 2025 20:36:56 +0000 (21:36 +0100)]
Fix typo in active source property

5 months agoAllow buffered named pipe writing
Marcel van der Veldt [Wed, 5 Nov 2025 20:36:35 +0000 (21:36 +0100)]
Allow buffered named pipe writing

5 months agoChore(deps-dev): Bump ruff from 0.13.2 to 0.14.3 (#2591)
dependabot[bot] [Wed, 5 Nov 2025 15:27:44 +0000 (16:27 +0100)]
Chore(deps-dev): Bump ruff from 0.13.2 to 0.14.3 (#2591)

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.13.2 to 0.14.3.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.13.2...0.14.3)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.14.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5 months agoFix CoreController init signature to match model (#2594)
OzGav [Wed, 5 Nov 2025 15:27:17 +0000 (01:27 +1000)]
Fix CoreController init signature to match model (#2594)

5 months agoSpotify: Refactor search method to reduce complexity (#2601)
OzGav [Wed, 5 Nov 2025 15:26:20 +0000 (01:26 +1000)]
Spotify: Refactor search method to reduce complexity (#2601)

Refactor search method to reduce complexity by extracting helper methods

5 months agoDon't stop the music improvements (#2597)
Marvin Schenkel [Wed, 5 Nov 2025 15:23:33 +0000 (16:23 +0100)]
Don't stop the music improvements (#2597)

5 months agoFixed various issues with (plugin)sources (#2600)
Marcel van der Veldt [Wed, 5 Nov 2025 01:52:45 +0000 (02:52 +0100)]
Fixed various issues with (plugin)sources (#2600)

5 months agoEnforce flow mode when player does not support enqueueing (#2595)
Marvin Schenkel [Tue, 4 Nov 2025 22:21:18 +0000 (23:21 +0100)]
Enforce flow mode when player does not support enqueueing (#2595)

5 months agoPhish.in Remove erroneous provider feature (#2596)
OzGav [Tue, 4 Nov 2025 22:18:47 +0000 (08:18 +1000)]
Phish.in Remove erroneous provider feature (#2596)

5 months agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Tue, 4 Nov 2025 22:14:08 +0000 (23:14 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev

5 months agoAirPlay: Issue the extra volume command on RAOP only
Marcel van der Veldt [Tue, 4 Nov 2025 22:14:04 +0000 (23:14 +0100)]
AirPlay: Issue the extra volume command on RAOP only

5 months agofix: abs - discarded progress (#2598)
Fabian Munkes [Tue, 4 Nov 2025 22:07:39 +0000 (23:07 +0100)]
fix: abs - discarded progress (#2598)

5 months agoFix japanese language code (#2599)
Marvin Schenkel [Tue, 4 Nov 2025 22:03:47 +0000 (23:03 +0100)]
Fix japanese language code (#2599)

Fix japanese language code.

5 months agoPrevent old streamdetails being reused when buffer still present
Marcel van der Veldt [Tue, 4 Nov 2025 18:48:59 +0000 (19:48 +0100)]
Prevent old streamdetails being reused when buffer still present

5 months agoFix AirPlay discovery info
Marcel van der Veldt [Tue, 4 Nov 2025 18:37:54 +0000 (19:37 +0100)]
Fix AirPlay discovery info