Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Warn unofficial packages #1580

Closed
mirkobrombin opened this issue Jun 5, 2022 · 12 comments
Closed

Warn unofficial packages #1580

mirkobrombin opened this issue Jun 5, 2022 · 12 comments

Comments

@mirkobrombin
Copy link
Member

mirkobrombin commented Jun 5, 2022

Bottles is a complex software that receives frequent updates and requires several dependencies at a minimum specific version to properly work.

Some packages are not maintained properly, sometimes dependencies are out of date or missing, causing abnormal behavior.

For a long time we have included workarounds in the code to disable features or changed their behavior when dependencies are missing or incorrect. This requires double work at our end that we cannot sustain forever and forces us to slow down the development. An example is the gtk4 + libadwaita upgrade which has been postponed for months due to packages not present in distribution repositories.

For more than a year now Bottles has been supplied mainly as Flatpak, giving us the flexibility and freedom to proceed with development. In recent days we have been working on porting to GTK4 and libadwaita, this has been done without too much care of the versions of the packages provided by the distribution repositories, this care will no longer be considered in the future.

Unofficial packages provide Bottles with the same RDNN used by flatpak (com.usebottles.bottles), hinting to the inexperienced user that this is an official version. With this issue I propose to show an alert when Bottles starts alerting the users that they are running an unofficial package. Check can be done by looking for the FLATPAK_ID environment variable.

In the near future we will again support both appimage and snap, these will be recognized as official packages by looking for other environment variables.

The AUR is currently official and should have no problems upgrading to gtk4.

Checking should be done at the module initialization, before the effective application, avoiding incurring in namespace problems (e.g. gtk).

@TheEvilSkeleton
Copy link
Member

TheEvilSkeleton commented Jun 5, 2022

I have one problem with this approach. Typically a user doesn't want any interruption or weird colors popping up. This is distracting and prevents users from doing what they wanted to do.

What are your thoughts on asking distro maintainers to drop those unofficial packages altogether? I know that it sounds a bit aggressive, but I prefer providing no support than bad support. At least the user won't have a subpar experience if they ever try out an unofficial version.

@mirkobrombin
Copy link
Member Author

mirkobrombin commented Jun 5, 2022

I plan to write an article, an appeal to maintainers asking to align with needs or give up. Unfortunately, however, we must be realistic and expect silence or denial.

@TheEvilSkeleton
Copy link
Member

TheEvilSkeleton commented Jun 5, 2022

I don't expect much either, but we shouldn't assume the worst. I'm glad we are taking one step at a time.

@Dansito
Copy link
Contributor

Dansito commented Jun 5, 2022

This is completely necessary, there were too many unofficial version reports, @TheEvilSkeleton You are right, the user should not be bothered with a warning, the best thing would be that when starting the application the title of the upper window will show the following Bottles (Unofficial) in case it does not match the environment variable, when trying to see the health control you will get a warning saying the following: "An unofficial version of bottles has been detected, we advise you to use our official version to guarantee the best experience, if you continue using an unofficial version we appreciate you reporting errors with the package maintainer and not in our repository.

I think this would be easy for everyone to accept and easy to implement

@jannuary
Copy link
Member

jannuary commented Jun 6, 2022

I think the best going forward is just to ask to drop the unofficial packages.

@mirkobrombin
Copy link
Member Author

mirkobrombin commented Jun 6, 2022

This is completely necessary, there were too many unofficial version reports, @TheEvilSkeleton You are right, the user should not be bothered with a warning, the best thing would be that when starting the application the title of the upper window will show the following Bottles (Unofficial) in case it does not match the environment variable, when trying to see the health control you will get a warning saying the following: "An unofficial version of bottles has been detected, we advise you to use our official version to guarantee the best experience, if you continue using an unofficial version we appreciate you reporting errors with the package maintainer and not in our repository.

I think this would be easy for everyone to accept and easy to implement

I support this, plus asking to drop unofficial packages or keep them updated.

@TheEvilSkeleton
Copy link
Member

TheEvilSkeleton commented Jun 6, 2022

What if distributions actually drop packaging Bottles, how will we handle that? The user should know how to get supported versions of Bottles.

@mirkobrombin
Copy link
Member Author

mirkobrombin commented Jun 6, 2022

On our website there is the Download section and we are also on Flathub. Flatpak is available straight away on many distributions by now.

@TheEvilSkeleton
Copy link
Member

TheEvilSkeleton commented Jun 6, 2022

Yeah that's one way, however this assumes the user will know that the version they are using is dropped.

Basically, what I'm saying is: how will the user know if what they're using is unsupported and doesn't receive any updates anymore?

@mirkobrombin
Copy link
Member Author

mirkobrombin commented Jun 6, 2022

We can notify all older versions that still provide the notification manager. For the most recent there is no way other than by making changes to the code and waiting for the maintainers to provide it but it seems like a bad practice.

@mirkobrombin
Copy link
Member Author

mirkobrombin commented Jun 7, 2022

Closed in favor of website#20

@Docop2
Copy link

Docop2 commented Jun 13, 2022

Very great to read the support of Appimage. It's quite the only proper way to install in full. 1 file to run, all included, nothing to download and it always work. And then we can run offline. Looking forward to it. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants