DJDoubleD / QobuzDownloaderX-MOD

Downloads streams directly from Qobuz. Experimental refactoring of QobuzDownloaderX by AiiR
GNU General Public License v3.0
406 stars 14 forks source link

[Bug] Communication problem with Qobuz API #91

Open jasonwilliam12580 opened 3 days ago

jasonwilliam12580 commented 3 days ago

🐞 Bug Report

Describe the bug

*bug occured in the middle of using artist link to download all albums yesterday everything is fine until this morning,especially happens when I download albums of taylor swift. No bug happens when I download single album or other artist's albums by artist link.


Is this a regression?

nope

To Reproduce

1.paste taylor swift' artist link in the text box 2.press download button 3.feedback Error 4.


Expected behaviour

*


Screenshots

屏幕截图 2024-06-28 143601


Additional context

* error report: Failed API request: Method: GET, RequestUri: 'https://www.qobuz.com/api.json/0.2/album/get?album_id=x1l9ir9a5o0xc&limit=0&offset=0', Version: 1.1, Content: , Headers: { X-User-Auth-Token: bPiRayC0sNEkqL_gGOiQa9ayI1bXfOtPQASCUrtwqfHNCzxX_B4ZPwaMN3Fh6G76Mu4Xqk4srfTTREiAJAkq9w User-Agent: Mozilla/5.0 User-Agent: (Windows NT 10.0; Win64; x64; rv:109.0) User-Agent: Gecko/20100101 User-Agent: Firefox/110.0 X-App-Id: 950096963 } Api response code: 404 Api response status: error Api response reason: No result matching given argument Artist Download Task ERROR. System.NullReferenceException: Object reference not set to an instance of an object. at QobuzDownloaderX.Shared.DownloadManager.d33.MoveNext() in D:\a\QobuzDownloaderX-MOD\QobuzDownloaderX-MOD\QobuzDownloaderX\Shared\DownloadManager.cs:line 486 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at QobuzDownloaderX.Shared.DownloadManager.d34.MoveNext() in D:\a\QobuzDownloaderX-MOD\QobuzDownloaderX-MOD\QobuzDownloaderX\Shared\DownloadManager.cs:line 526 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at QobuzDownloaderX.Shared.DownloadManager.d__38.MoveNext() in D:\a\QobuzDownloaderX-MOD\QobuzDownloaderX-MOD\QobuzDownloaderX\Shared\DownloadManager.cs:line 733

jasonwilliam12580 commented 3 days ago

ps: change account makes no difference

jasonwilliam12580 commented 3 days ago

now it's OK……I did nothing……

orbittwz commented 2 days ago

by the looks of the url you tried to download, you cannot get entire artist's discography using this program. nor you should, because it's not what you want trust me.

jasonwilliam12580 commented 2 days ago

by the looks of the url you tried to download, you cannot get entire artist's discography using this program. nor you should, because it's not what you want trust me.

Nope,just happened yesterday,the program has the function of downloading whole albums by artist's link.Maybe just network error,occasionally. 屏幕截图 2024-06-29 212256

jasonwilliam12580 commented 2 days ago

by the looks of the url you tried to download, you cannot get entire artist's discography using this program. nor you should, because it's not what you want trust me.

Now it works as usual,I don't know why,I make nothing changed.

DJDoubleD commented 2 days ago

Just to be clear: yes, downloading artist links is supported as documented in the wiki. The current implementation of downloading artist links simply gets all releases which the selected artist is involved in. This is the default set of results that the Qobuz API returns.

In the example given here, the problematic album is https://play.qobuz.com/album/x1l9ir9a5o0xc => Lyssa Coulter - Red (Swemo's Version). In this album, Taylor Swift is the composer: image

As is shown in the image above, this album is not released yet at the time of this message. My guess is that when @jasonwilliam12580 encountered the error, the album link was already listed in the Qobuz catalogue, but the page itself wasn't live yet (hence the API error stating No result matching given argument).

At the current moment, however, the page is live and a 30 second preview of the album is online and this means the API can find the page just fine. However, I expect that there still is a error logged indicating that the track isn't available for streaming.

@jasonwilliam12580 When you encountered the API error, did the entire Artist download job end, or did it just log the error for that album and continued on? If the job stopped, that's a bug and I'll need to investigate further (although it will be hard to find an example to reproduce). If the job continued past the error, this is expected behavior and there isn't a bug, just an unreleased album where the Qobuz catalogue was "out of sync" for a period of time as the upcoming release was being added...