SUMMARY Video playback doesn't seem to work with the flatpak package. STEPS TO REPRODUCE 1. flatpak run org.kde.plasmatube OBSERVED RESULT ``` qrc:/videoplayer/VideoControls.qml:237:5: QML Dialog: Binding loop detected for property "implicitHeight" qrc:/videoplayer/VideoControls.qml:237:5: QML Dialog: Binding loop detected for property "implicitHeight" qrc:/components/Sidebar.qml:9:1: QML Sidebar: Binding loop detected for property "contentHeight" file:///usr/lib/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML MouseArea: Binding loop detected for property "implicitHeight" file:///usr/lib/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML MouseArea: Binding loop detected for property "implicitHeight" file:///usr/lib/qml/org/kde/kirigami.2/ContextDrawer.qml:135:9: QML ListView: Binding loop detected for property "topMargin" Cannot load libcuda.so.1 file:///usr/lib/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML MouseArea: Binding loop detected for property "implicitHeight" file:///usr/lib/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML MouseArea: Binding loop detected for property "implicitHeight" [ffmpeg] https: HTTP error 403 Forbidden Failed to open https://rr1---sn-h0jeened.googlevideo.com/videoplayback?expire=1697768291&ei=A48xZYawCarA6dsPxpSLiA4&ip=2003%3Ad3%3A8707%3A8d00%3Ada09%3A449b%3Af0f5%3Af44a&id=o-AMsBeWhw8GNf7Vf9AfKZa8-fiszcpaFgbX6iqjSE5SbE&itag=22&source=youtube&requiressl=yes&mh=Xp&mm=31%2C26&mn=sn-h0jeened%2Csn-4g5edndz&ms=au%2Conr&mv=m&mvi=1&pl=43&gcr=de&initcwndbps=1452500&spc=UWF9fwP2hOGM6KMqeeDZP2f71cMrF4Asn_dUsPCosg&vprv=1&svpuc=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=501.643&lmt=1592541062827497&mt=1697746390&fvip=3&fexp=24007246&beids=24350018&c=ANDROID&txp=2316222&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=AGM4YrMwRQIgPaPMBHnS5cx-qtYTRzPP--3imwGpwfzyvHRdZyZUn9sCIQDH3BaBMySTiCYPVgjjd5pjqUsJ2u9Vv6yqOssRgo1DlQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AK1ks_kwRgIhAKJka4U50q4PR4bury-4nwBc6OZM4VN4Oml5HAwMNUabAiEAoccVz8MPnNVJ3H8GLcfS9k-U_sdgO4Wc5Gxpu95Yw9k%3D. [ytdl_hook] ERROR: [generic] None: Unable to download webpage: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U [ytdl_hook] youtube-dl failed: unexpected error occurred [ffmpeg] https: HTTP error 403 Forbidden Failed to open https://rr1---sn-h0jeened.googlevideo.com/videoplayback?expire=1697768291&ei=A48xZYawCarA6dsPxpSLiA4&ip=2003%3Ad3%3A8707%3A8d00%3Ada09%3A449b%3Af0f5%3Af44a&id=o-AMsBeWhw8GNf7Vf9AfKZa8-fiszcpaFgbX6iqjSE5SbE&itag=22&source=youtube&requiressl=yes&mh=Xp&mm=31%2C26&mn=sn-h0jeened%2Csn-4g5edndz&ms=au%2Conr&mv=m&mvi=1&pl=43&gcr=de&initcwndbps=1452500&spc=UWF9fwP2hOGM6KMqeeDZP2f71cMrF4Asn_dUsPCosg&vprv=1&svpuc=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=501.643&lmt=1592541062827497&mt=1697746390&fvip=3&fexp=24007246&beids=24350018&c=ANDROID&txp=2316222&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=AGM4YrMwRQIgPaPMBHnS5cx-qtYTRzPP--3imwGpwfzyvHRdZyZUn9sCIQDH3BaBMySTiCYPVgjjd5pjqUsJ2u9Vv6yqOssRgo1DlQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AK1ks_kwRgIhAKJka4U50q4PR4bury-4nwBc6OZM4VN4Oml5HAwMNUabAiEAoccVz8MPnNVJ3H8GLcfS9k-U_sdgO4Wc5Gxpu95Yw9k%3D. ``` EXPECTED RESULT Working playback SOFTWARE/OS VERSIONS Flatpak ADDITIONAL INFORMATION Used instance: https://yt.artemislena.eu/
Thanks, can confirm this happens and it looks like an easy fix.
Fixed as of https://github.com/flathub/org.kde.plasmatube/commit/ceb0099faf0ad3004ff40092164f349e25eea00e and the flatpak should update whenever flathub triggers a new build.
Thanks! However, since the issue seems to have been outdated yt-dlp, how can we prevent this from reoccurring? Is there any chance of auto-updating the bundled yt-dlp and releasing a new flatpak whenever a new version is available? My understanding is that one should always use the latest available version of yt-dlp. Also, while the PR has produced a new test build, it looks like the actual release flatpak might only be updated whenever there's a new KDE apps batch release? But yt-dlp might have to be updated independently if we want to avoid gaps of breakage.
I'm not the Flatpak KDE expert unfortunately, but from my limited knowledge I think what you're asking for doesn't exist yet. Ideally yes, yt-dlp would be packaged separately and automatically updated but that's kind against what Flatpak tries to do :D If you want the latest yt-dlp, that would be a distribution packaged plasmatube + mpv + yt-dlp. As for the releases I'm not sure, I was under the impression that apps get "refreshes" without a version bump. I'll ask the Flatpak guy I know and see if I can pry more details from him. What *I* can do to help mend the issue though is make sure it's properly indicated in the UI in the future. Ideally users wouldn't have to print out their logs to find out yt-dlp failed for some reason. I'm also thinking of a fallback (using the HLS URLs invidious already provides) in case you're unable to update yt-dlp, like in a Flatpak package.
> As for the releases I'm not sure, I was under the impression that apps get "refreshes" without a version bump. I'll ask the Flatpak guy I know and see if I can pry more details from him. Indeed, `flatpak update` revealed that a new build was available, even though https://flathub.org/apps/org.kde.plasmatube still says "23.08.2 - 11 days ago". Kind of confusing, but I can confirm the new build does fix the issue. Thanks! > If you want the latest yt-dlp, that would be a distribution packaged plasmatube + mpv + yt-dlp. I tried the Fedora 37 distro package first, but it is unable to display channel content, which fails with `qrc:/VideoGridItem.qml:58:9: QML Image: Error decoding: https://yt.artemislena.eu/: Unsupported image format` I can file a separate issue about that if desired. The problem with distro packages is, they're often a bit outdated, while flatpak is a convenient way to get latest releases. However, that's kind of outweighed if bundled deps fall outdated in return, but I understand this might just be an intentional flatpak limitation. If there were actual build instructions, I could perhaps build from source, but I'm not used to kdesrc-build yet.
> > If you want the latest yt-dlp, that would be a distribution packaged plasmatube + mpv + yt-dlp. > I tried the Fedora 37 distro package first, but it is unable to display > channel content, which fails with > `qrc:/VideoGridItem.qml:58:9: QML Image: Error decoding: > https://yt.artemislena.eu/: Unsupported image format` I suspect that the package is simply outdated, because I believe in a certain version of PlasmaTube (I forget which, at the moment) channel content wouldn't display to due it being unimplemented. > I can file a separate issue about that if desired. In this case, don't file a bug as F37 is using 23.04 and we're no longer tagging releases for that version. However, if you can recreate it in 23.08 (like on Flatpak) then do please file a bug! > The problem with distro packages is, they're often a bit outdated, while > flatpak is a convenient way to get latest releases. > However, that's kind of outweighed if bundled deps fall outdated in return, > but I understand this might just be an intentional flatpak limitation. > If there were actual build instructions, I could perhaps build from source, > but I'm not used to kdesrc-build yet. Yeah that's kind of the crux of it, and a much bigger issue than PlasmaTube :D There's even applications can only be reasonably distributed via Flatpak due to their complex dependency chain (Bottles and Anki come to mind) which complicate the situation even further. Don't feel pressured to have to build the package from kdesrc-build as it's quite involved - especially with our Qt6 transition making it more complicated - but testing from source is always appreciated. Ideally, Flatpak and distribution packages should be par-on-par. One of the least argued aspects of Flatpak is that it's fortunately quickly to distribute bugfixes like this! :)