Shabinder / SpotiFlyer

Kotlin Multiplatform Music Downloader, Supports Spotify / Gaana / Youtube Music / Jio Saavn / SoundCloud.
https://soundbound.app
GNU General Public License v3.0
10.28k stars 769 forks source link

[BUG] : Single from Spotify fails to download #1562

Closed ghost closed 1 year ago

ghost commented 2 years ago

Describe the bug: App is able to download all other songs from artist ZOË, except one single.

Media Links Used: https://open.spotify.com/album/6L6X8b5FSPaMsrNv9qEHbq?si=LbuPZGuWR0qKkD3be2A56w&utm_source=copy-link

Expected behavior I click the 3 dots to share on spotify and then i click more, to share to SpotiFlyer.

StackTrace:

Paste Stacktrace here if available:

java.lang.Exception: Client request(https://rr5---sn-5hne6n6l.googlevideo.com/videoplayback?expire=1658338376&ei=6OfXYsnCE-eHp-oPosykmA4&ip=194.104.145.80&id=o-AFQ54vRz1wSrMXljncC-KO7eHKstswZQJ14wqK1H56dc&itag=140&source=youtube&requiressl=yes&mh=56&mm=31%2C26&mn=sn-5hne6n6l%2Csn-5goeenes&ms=au%2Conr&mv=u&mvi=5&pl=24&gcr=ng&spc=lT-KhjA5oDS0KXG7joXmq3-RLiVqj9c&vprv=1&mime=audio%2Fmp4&ns=fdXwot0r3R3wI3ifBlihAE4H&gir=yes&clen=2843307&dur=175.526&lmt=1570376956438257&mt=1658315034&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=WEB&txp=5431432&n=OBF4AJTvCyyZ8Q&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cgcr%2Cspc%2Cvprv%2Cmime%2Cns%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl&lsig=AG3C_xAwRAIgEKrsuvH3uJdgiz4irnjZ3FhFOI33WgsXtcc9w4m3YWMCIAbPoFtZA5UFJd3Qvzj5Z2pPLNQxOqel3l8X25_XOPy-&sig=AOq0QJ8wRAIgKOskV0J5f6JyGpFlISkiXfrF-Y1c_mWUU2TAjNbn5_UCIDDCv8gG5PUCFjffYfrPNVA3z-3AqDRmK6Zp6N2VGfhU&title=Dangerous+Affair+%28Radio+Edit%29) invalid: 403 Forbidden. Text: ""
    at com.shabinder.spotiflyer.service.ForegroundService$enqueueDownload$2.emit(ForegroundService.kt:6)
    at com.shabinder.spotiflyer.service.ForegroundService$enqueueDownload$2.emit(ForegroundService.kt:1)
    at com.shabinder.common.core_components.file_manager.FileManagerKt$downloadFile$4.invokeSuspend(FileManager.kt:5)
    at com.shabinder.common.core_components.file_manager.FileManagerKt$downloadFile$4.invoke(Unknown Source:11)
    at com.shabinder.common.core_components.file_manager.FileManagerKt$downloadFile$4.invoke(Unknown Source:6)
    at kotlinx.coroutines.flow.FlowKt__ErrorsKt$catch$$inlined$unsafeFlow$1.collect(SafeCollector.common.kt:6)
    at kotlinx.coroutines.flow.FlowKt__ErrorsKt$catch$$inlined$unsafeFlow$1$1.invokeSuspend(Unknown Source:12)
    at h.w.j.a.a.resumeWith(ContinuationImpl.kt:4)
    at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:12)
    at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:1)
    at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:2)
    at h.w.j.a.a.resumeWith(ContinuationImpl.kt:9)
    at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:12)
    at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:1)
    at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:2)
    at h.w.j.a.a.resumeWith(ContinuationImpl.kt:9)
    at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:12)
    at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:1)
    at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:2)
    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:

App Info

Shabinder commented 1 year ago

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