SubmarinerApp / Submariner

A Subsonic client for macOS
https://submarinerapp.com
BSD 3-Clause "New" or "Revised" License
123 stars 3 forks source link

Subsonic Error (code 70) / Requested action getNowPlaying is not supported #148

Closed dawe-rgb closed 10 months ago

dawe-rgb commented 11 months ago

Describe the bug When I click on an artist and the albums of that artist are displayed, the error message is displayed for each album:

Subsonic Error (code 70) Requested action getNowPlaying is not supported

To Reproduce Steps to reproduce the behavior:

  1. Go to 'Added Subsonic Server'
  2. Click on 'Artists'
  3. See the error message per album

Expected behavior No Error PopUp-Message

Screenshots

Bildschirmfoto 2023-07-27 um 16 11 44

Versions:

Additional context Add any other context about the problem here.

NattyNarwhal commented 11 months ago

Looks like Nextcloud Music doesn't support the "now playing" functionality (that shows what other users are listening to). It's not a big deal since it should only be touching that endpoint if the now playing sidebar is activated (even if hidden) though. However, there is an auto-refresh timer for it. Disabling that timer in the settings might help with this.

Unfortunately, there is no way to check for featureset beyond Subsonic API version numbers. It's a bit annoying to support multiple servers as a result.

Screenshot 2023-07-27 at 3 37 37 PM
dawe-rgb commented 11 months ago

Thanks for your reply. I see, unfortunately it doesn't help to disable the Auto Refresh from Now Playing. The now playing sidebar is closed. Is there any way not to display the error message in this case? Or e.g. display "not availible with the curret server" in the sidebar? Submariner is really a great app and I use it despite the error message, although it is annoying. :-)

NattyNarwhal commented 11 months ago

Looking at the callsites, it does call now playing on each refresh (i.e. via Cmd+R).

Annoyingly, code 70 is also used for when the API exists but the requested object wasn't found. We'd have to keep track of what APIs returned code 70, and check what didn't work at each part that calls it, basically. This is more annoying than being able to just check if it wouldn't work from the beginning, but it'd work.

dawe-rgb commented 11 months ago

When I press Cmd+R, the error message 70 appears.

sbkg0002 commented 10 months ago

On a newly installed submariner + clean subsonic installation, I have the same issue.

NattyNarwhal commented 10 months ago

I just got back from vacation, so I can take a look at this again.

dawe-rgb commented 10 months ago

I have just tried a few old versions. The problem appears from version 2.2 onwards. Version 2.1.1 runs without the error message code "Subsonic Error (code 70) / Requested action getNowPlaying is not supported". Might this help?

NattyNarwhal commented 10 months ago

2.2 introduced refreshing the now playing view as part of refreshing normally.

FWIW, I've filed owncloud/music#1079 as a server-side solution for OC Music at least. On the Submariner side, it's a little bit annoying because servers can return different things for unimplemented routes - i.e. OC Music returns code 70 Subsonic responses, whereas Navidrome returns HTTP 404s.

NattyNarwhal commented 10 months ago

Fixed this, will be available in the next release

dawe-rgb commented 10 months ago

Thanks for the fix! I'm already looking forward to the new release :)