elementary / appcenter

Pay-what-you-can app store for elementary OS
https://elementary.io
GNU General Public License v3.0
541 stars 100 forks source link

Doesn't respect flatpak's enumerate/don't enumerate settings #2113

Open robog-two opened 5 months ago

robog-two commented 5 months ago

What Happened?

Flatpak has the ability to mark certain repositories as "no-enumerate." Here is the setup on my machine:

$ flatpak remotes
Name        Options
appcenter   system
flathub     system
freedesktop system,no-enumerate,filtered
appcenter   user
flathub     user,no-enumerate

Steps to Reproduce

To reproduce, install an app from FlatHub that requires dependencies. Flatpak will automatically add the flathub repository and therefore all of the apps from flathub will appear in AppCenter. This is something that most people sideloading flatpak apps probably want --- however, for users like me that are completely comfortable with manually sideloading flatpak apps, the settings of flatpak should be respected, so that the AppCenter only contains the elegant and curated apps from the elementary team.

Expected Behavior

From man 1 flatpak-remote-modify:

--no-enumerate Mark the remote as not enumerated. This means the remote will not be used to list applications, for instance in graphical installation tools. It will also not be used for runtime dependency resolution (as with --no-use-for-deps).

With this setting enabled, as described, AppCenter should not list from this repository in the search listing or in the different category lists

OS Version

7.x (Horus)

Software Version

Latest release (I have run all updates)

Log Output

No response

Hardware Info

No response

robog-two commented 5 months ago

@lenemter Could be something as simple as this: Third_party_apps_mockup

Though, I really think adding to the UI isn't necessary if it respects the already present flatpak settings, and maybe those should actually live in the settings GUI at some point, but for now I think appcenter should just respect the existing flatpak configuration if present.

seifeldinio commented 2 weeks ago

@lenemter

Here's a proposed solution for this, here's the prototype for it:

https://github.com/elementary/appcenter/assets/76487753/2f8da692-28dd-4211-8806-2898e3cea48e

And here's a quick breakdown and mockups:

Accessing Software Sources:

App Center Zoomed

Viewing and Adding Sources:

Idle

Adding a Source:

Add Zoomed

Editing a Source:

Edit Pressed Zoomed

Editing Source Modal:

Edit Zoomed

Deleting a Source:

By integrating these functionalities into the App Center, we ensure that users can easily control which repositories are enumerated and have control over the sources, enhancing their experience and maintaining the curated feel of the App Center.

I'd love to hear your thoughts or feedback on this!