Summary: | Discover Mislabels Apps that Are no Longer on Flathub as Not Installed when they are still Installed | ||
---|---|---|---|
Product: | [Applications] Discover | Reporter: | Dashon <dashonwwIII> |
Component: | Flatpak Backend | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | aleixpol, dashonwwIII, jgrulich, me, nate, travier |
Priority: | NOR | Keywords: | qt6 |
Version: | 6.0.0 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/discover/-/commit/7baeaeaa053e3be316c69662b95747698ae08d55 | Version Fixed In: | 6.1 |
Attachments: | Not installed, but it is. |
Description
Dashon
2024-03-06 05:24:17 UTC
Created attachment 166465 [details]
Not installed, but it is.
Can you port IDs of the removed apps? In case they are still available for installation via CLI it would be easier to test. I should check what flatpak API has to say about that, because Discover doesn't add much on top of that. (In reply to ratijas from comment #2) > Can you port IDs of the removed apps? In case they are still available for > installation via CLI it would be easier to test. I should check what flatpak > API has to say about that, because Discover doesn't add much on top of that. What do you mean port ids? Do you simply want me to list their application id's? They were still available to be downloaded from the cli the last time I checked. They were simply delisted from the store. I meant "post", but made a typo. I googled it and found some articles with `flatpak run org.yuzu_emu.yuzu` command, so there we have it. So I installed it, opened Discover, and the application page is there, the images are not, and the status (the button in the top right corner) is stuck at "Loading". I can't launch or delete it there. There is an End-of-Life flag on the package, which I've personally never seen before. This is gonna be interesting. ``` ❯ flatpak info org.yuzu_emu.yuzu yuzu Emulator Team - Nintendo Switch emulator ID: org.yuzu_emu.yuzu Ref: app/org.yuzu_emu.yuzu/x86_64/stable Arch: x86_64 Branch: stable Version: mainline-0-1734 License: GPL-3.0-or-later Origin: flathub Collection: org.flathub.Stable Installation: system Installed: 251.2 MB Runtime: org.kde.Platform/x86_64/5.15-23.08 Sdk: org.kde.Sdk/x86_64/5.15-23.08 Commit: cb48bfe2bb3ffcdc42c970d67aa2050a5e03c7da74ad45409ffd17dc1dd71fdb Parent: 810b9c3f6b2e4b0bd0eaa99a3d1a222c01b1a3813d4ecf4ce9193d686fb1ec07 Subject: Update yuzu-mainline.git to mainline-0-1734 (4abf1d23) Date: 2024-03-04 17:00:01 +0000 End-of-life: This application is no longer maintained. See https://yuzu-emu.org/ for details. ``` Yeah, I know about the EOL messages, but I figured that one of the points of flatpak is that stuff keeps working regardless of the base system as long as the runtimes remain available. Anyways, I agree this is an interesting problem. I don't think anyone has yet had to deal with this scenario in the case of flatpaks. Funny thing is, Discover has FlatpakEolReason.qml UI component. Yet, when it comes to finally using it, we are stuck at Loading presumably because FlatHub delisted it, so I don't even have AppStream metadata for FlatHub anymore — only the one from Arch Linux appstream-data package. I confirmed this because FlatpakResource object is never created for Flatpak version of Yuzu, and so eolReason() is never queried either. It seems we have slightly different failures (: I think I am dealing with some leaking abstractions on my end. The InstallApplicationButton.qml component has the following property: readonly property bool isStateAvailable: application.state !== Discover.AbstractResource.Broken and the button's text depend on it in a way that makes no sense: text: { if (!root.isStateAvailable) { return i18nc("State being fetched", "Loading…") } I managed to export Yuzu as a .flatpak bundle, and after importing it back (like, via double-clicking — Open with Discover) I got the same state as you did. The bug is fully confirmed at this point. What's even more interesting: the screenshots are gone with Arch appstream-data, but they still load fine with re-imported FlatHub package. $ flatpak build-bundle /var/lib/flatpak/repo yuzu.flatpak org.yuzu_emu.yuzu stable (In reply to ratijas from comment #8) > I managed to export Yuzu as a .flatpak bundle, and after importing it back > (like, via double-clicking — Open with Discover) I got the same state as you > did. The bug is fully confirmed at this point. > > What's even more interesting: the screenshots are gone with Arch > appstream-data, but they still load fine with re-imported FlatHub package. > > $ flatpak build-bundle /var/lib/flatpak/repo yuzu.flatpak org.yuzu_emu.yuzu > stable Cool. I also exported them as single bundle files as a backup, but haven't actually looked at them in discover. A possibly relevant merge request was started @ https://invent.kde.org/plasma/discover/-/merge_requests/784 Git commit 7baeaeaa053e3be316c69662b95747698ae08d55 by Aleix Pol Gonzalez, on behalf of Aleix Pol. Committed on 07/04/2024 at 17:57. Pushed by apol into branch 'master'. flatpak: Check specifically installed files when looking up installed ones M +53 -0 libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp M +1 -1 libdiscover/backends/FlatpakBackend/qml/FlatpakRemoveData.qml M +4 -1 libdiscover/backends/FlatpakBackend/tests/CMakeLists.txt M +15 -0 libdiscover/backends/FlatpakBackend/tests/FlatpakTest.cpp M +14 -0 libdiscover/utils.h https://invent.kde.org/plasma/discover/-/commit/7baeaeaa053e3be316c69662b95747698ae08d55 |