InvalidFieldValue: Field "supported_commands"

Aperta Adatta ai principianti
#278 2 commenti 5 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
74/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python

Direzione di ricerca

Inizia controllando la versione dichiarata della dipendenza aiosendspin, quindi esamina aiosendspin/client/client.py in _handle_json_message, dove viene analizzato il messaggio del server. Conferma il supporto per i comandi seek e seek_relative aggiunti in aiosendspin 6.1.0 e verifica che il messaggio server/state segnalato non produca più errori InvalidFieldValue.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Just installed this as a daemon to give it a go and saw this in the logs, it does seem to work still but thought I should flag it.

After having a bit of a dig in the code, looks like this is happening because the aiosendspin dependency is out of date, we're on 6.0.5 and the seek and seek_relative types being sent by Music Assistant 2.10.1 were added in 6.1.0.

Sep 03 21:34:19 pi3 sendspin[687461]: ERROR:aiosendspin.client.client:Failed to parse server message: {"payload":{"controller":{"supported_commands":["unshuffle","repeat_all","seek_relative","repeat_off","volume","next","previous","mute","repeat_one","pause","stop","switch","play","shuffle"],"volume":86,"muted":false,"repeat":"off","shuffle":false}},"type":"server/state"}
Sep 03 21:34:19 pi3 sendspin[687461]: Traceback (most recent call last):
Sep 03 21:34:19 pi3 sendspin[687461]:   File "<string>", line 9, in __mashumaro_from_dict_json__
Sep 03 21:34:19 pi3 sendspin[687461]:   File "/home/sendspin/.local/share/uv/python/cpython-3.12.14-linux-aarch64-gnu/lib/python3.12/enum.py", line 751, in __call__
Sep 03 21:34:19 pi3 sendspin[687461]:     return cls.__new__(cls, value)
Sep 03 21:34:19 pi3 sendspin[687461]:            ^^^^^^^^^^^^^^^^^^^^^^^
Sep 03 21:34:19 pi3 sendspin[687461]:   File "/home/sendspin/.local/share/uv/python/cpython-3.12.14-linux-aarch64-gnu/lib/python3.12/enum.py", line 1170, in __new__
Sep 03 21:34:19 pi3 sendspin[687461]:     raise ve_exc
Sep 03 21:34:19 pi3 sendspin[687461]: ValueError: 'seek_relative' is not a valid MediaCommand
Sep 03 21:34:19 pi3 sendspin[687461]: During handling of the above exception, another exception occurred:
Sep 03 21:34:19 pi3 sendspin[687461]: Traceback (most recent call last):
Sep 03 21:34:19 pi3 sendspin[687461]:   File "<string>", line 16, in __mashumaro_from_dict_json__
Sep 03 21:34:19 pi3 sendspin[687461]:   File "<string>", line 11, in __mashumaro_from_dict_json__
Sep 03 21:34:19 pi3 sendspin[687461]: mashumaro.exceptions.InvalidFieldValue: Field "supported_commands" of type list[MediaCommand] in ControllerStatePayload has invalid value ['unshuffle', 'repeat_all', 'seek_relative', 'repeat_off', 'volume', 'next', 'previous', 'mute', 'repeat_one', 'pause', 'stop', 'switch', 'play', 'shuffle']
Sep 03 21:34:19 pi3 sendspin[687461]: During handling of the above exception, another exception occurred:
Sep 03 21:34:19 pi3 sendspin[687461]: Traceback (most recent call last):
Sep 03 21:34:19 pi3 sendspin[687461]:   File "<string>", line 9, in __mashumaro_from_dict_json__
Sep 03 21:34:19 pi3 sendspin[687461]:   File "<string>", line 18, in __mashumaro_from_dict_json__
Sep 03 21:34:19 pi3 sendspin[687461]: mashumaro.exceptions.InvalidFieldValue: Field "controller" of type Optional[ControllerStatePayload] in ServerStatePayload has invalid value {'supported_commands': ['unshuffle', 'repeat_all', 'seek_relative', 'repeat_off', 'volume', 'next', 'previous', 'mute', 'repeat_one', 'pause', 'stop', 'switch', 'play', 'shuffle'], 'volume': 86, 'muted': False, 'repeat': 'off', 'shuffle': False}
Sep 03 21:34:19 pi3 sendspin[687461]: During handling of the above exception, another exception occurred:
Sep 03 21:34:19 pi3 sendspin[687461]: Traceback (most recent call last):
Sep 03 21:34:19 pi3 sendspin[687461]:   File "/home/sendspin/.local/share/uv/tools/sendspin/lib/python3.12/site-packages/aiosendspin/client/client.py", line 823, in _handle_json_message
Sep 03 21:34:19 pi3 sendspin[687461]:     message = ServerMessage.from_json(data)
Sep 03 21:34:19 pi3 sendspin[687461]:               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sep 03 21:34:19 pi3 sendspin[687461]:   File "<string>", line 4, in __mashumaro_from_json__
Sep 03 21:34:19 pi3 sendspin[687461]:   File "<string>", line 8, in __unpack_ServerMessage__dfdf45fabe2d4dfaaa6a72d5101d132d
Sep 03 21:34:19 pi3 sendspin[687461]:   File "<string>", line 11, in __mashumaro_from_dict_json__
Sep 03 21:34:19 pi3 sendspin[687461]: mashumaro.exceptions.InvalidFieldValue: Field "payload" of type ServerStatePayload in ServerStateMessage has invalid value {'controller': {'supported_commands': ['unshuffle', 'repeat_all', 'seek_relative', 'repeat_off', 'volume', 'next', 'previous', 'mute', 'repeat_one', 'pause', 'stop', 'switch', 'play', 'shuffle'], 'volume': 86, 'muted': False, 'repeat': 'off', 'shuffle': False}}
Lingua principale
Python
Stelle
190
Fork
36
Merge medio
11g 19h
PR unite (30g)
2

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Sendspin/sendspin-python-cli

Tutte le issue di Sendspin/sendspin-python-cli

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.