SpotiFlyer icon indicating copy to clipboard operation
SpotiFlyer copied to clipboard

[BUG] : <DownloadLinkFetchFailed>

Open NaoARam opened this issue 3 years ago • 1 comments

Describe the bug: I submitted a link to a song I wanted to download from Spotify, as instructed, and clicked the download button expecting it to start downloading. Instead the icon buffered for a couple of seconds then stopped. At first I assumed the sing had downloaded, however, when I checked my media player it was nowhere to be found. I decided to change the download location in case that was the issue and gave another attempt at downloading the song. At the end I just got the same result. When I checked the notification banner, it said that there were 2 Fails (basically the 2 attempts at downloading the song).

Media Links Used: https://open.spotify.com/track/0EfsDEYaSjGYd66Pr881nq?si=bxPCLnzTRDqwEg68rWQRvQ&utm_source=copy-link

Expectation: I expected the song to download, instead the entire process failed.

Screenshots:

StackTrace:

DownloadLinkFetchFailed(errorTrace=Find Link for Cry Baby 

Fetching From Saavn Failed:DownloadLinkFetchFailed(errorTrace=No SAAVN Match Found for Cry Baby)
	at com.shabinder.common.providers.saavn.requests.JioSaavnRequests$DefaultImpls.findBestSongDownloadURL(JioSaavnRequests.kt:19)
	at com.shabinder.common.providers.saavn.requests.JioSaavnRequests$findBestSongDownloadURL$1.invokeSuspend(Unknown Source:10)
	at h.w.j.a.a.resumeWith(ContinuationImpl.kt:4)
	at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3)
	at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1)
	at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3)
	at h.w.j.a.a.resumeWith(ContinuationImpl.kt:9)
	at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3)
	at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1)
	at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3)
	at h.w.j.a.a.resumeWith(ContinuationImpl.kt:9)
	at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3)
	at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1)
	at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3)
	at h.w.j.a.a.resumeWith(ContinuationImpl.kt:9)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18)
	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:2)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:1)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:4)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:4)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:1)



Fetching From YT Failed:NoMatchFound(trackName=Cry Baby, message=Cry Baby : NO Match Found!)
	at com.shabinder.common.providers.youtube_music.YoutubeMusic.getYTIDBestMatch(YoutubeMusic.kt:13)
	at com.shabinder.common.providers.youtube_music.YoutubeMusic.access$getYTIDBestMatch(YoutubeMusic.kt:1)
	at com.shabinder.common.providers.youtube_music.YoutubeMusic$getYTIDBestMatch$1.invokeSuspend(Unknown Source:12)
	at h.w.j.a.a.resumeWith(ContinuationImpl.kt:4)
	at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3)
	at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1)
	at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3)
	at h.w.j.a.a.resumeWith(ContinuationImpl.kt:9)
	at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3)
	at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1)
	at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3)
	at h.w.j.a.a.resumeWith(ContinuationImpl.kt:9)
	at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3)
	at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1)
	at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3)
	at h.w.j.a.a.resumeWith(ContinuationImpl.kt:9)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18)
	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:2)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:1)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:4)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:4)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:1)


)
	at com.shabinder.common.providers.FetchPlatformQueryResult.findBestDownloadLink(FetchPlatformQueryResult.kt:84)
	at com.shabinder.common.providers.FetchPlatformQueryResult$findBestDownloadLink$1.invokeSuspend(Unknown Source:12)
	at h.w.j.a.a.resumeWith(ContinuationImpl.kt:4)
	at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3)
	at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1)
	at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3)
	at h.w.j.a.a.resumeWith(ContinuationImpl.kt:9)
	at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3)
	at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1)
	at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3)
	at h.w.j.a.a.resumeWith(ContinuationImpl.kt:9)
	at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3)
	at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1)
	at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3)
	at h.w.j.a.a.resumeWith(ContinuationImpl.kt:9)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18)
	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:2)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:1)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:4)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:4)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:1)

Device Info (please complete the following information):

  • Device: Samsung Galaxy A02s
  • OS: Android 12
  • Version: 3.6.1
  • Country: Trinidad & Tobago

Additional context:

NaoARam avatar Aug 22 '22 14:08 NaoARam

I am also getting this error when trying to download this playlist: https://open.spotify.com/playlist/2ufJZ2TdQ7m50LJfmldKFA

While some songs seem to download with no issue, more than 200 don't succeed and spit out a DownloadLinkFetchFailed error.

Edit: After a bit of back and forth, I apparently fixed it. I reinstalled it and it somehow now works, I also restarted my wifi.

And btw op, try using a VPN.

SpaghettDev avatar Aug 22 '22 16:08 SpaghettDev

Spotiflyer is discontinued, please install Soundbound with our new plugins.

  • For reporting Issues or Requesting Features in Soundbound, you can visit its helpdesk.
  • Also you can join our Telegram Community to stay up to date.

Shabinder avatar May 20 '23 13:05 Shabinder