-
Notifications
You must be signed in to change notification settings - Fork 1k
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
fix: disable update on linux #1548
Conversation
LGTM. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think this is only the default that is changed and people can opt in later (on that case the wiki should have a note), so this is fine for me.
If they need to enable it by file, then it should be documented for the users - or, maybe better, be left as is and submitted as a patch to the distros (I think most would have disabled that already, no?).
Note: one thing that may be missing (or I've overlooked it) is a "complete" source package download (all source + patches applied). |
@daiyam Totally agree. Whether I'm using flatpak, deb or rpm, I get updates automatically from the appropriate repository, so there's no point in checking for updates, because in Linux checking and installing updates is a job of the package manager. |
Makes sense to me. My settings already have |
Is there a setting or some other way to get the old behavior back? |
That's only the default, therefore you should be able to opt in with the user settings (where you previously could have opted out).
|
No, the update process has been completely disabled on Linux. |
@mdickopp How to do you install VSCodium? |
@daiyam I just unpack the tar.gz file. Is there any chance that the update check will be restored? |
The current I could add another What do you think? |
I think that's not needed as the custom product.json, which overrides only the entries that are stored there, enables that for power-users (but that should be better documented). {
"updateUrl": "https://vscodium.now.sh",
"downloadUrl": "https://github.com/VSCodium/vscodium/releases",
} and everything should be like before this change. |
Thanks, this works perfectly for me! |
I use I was happy. But now, after this "fix" I can not find I am sad. Maybe if I did not investigate this I would be happy because I would live happily with outdated VSCodium version forever. This "fix" is misleading because it does not "disable update on linux" but it does "disable update system on linux". I would like to unfix this for |
To "unfix locally", please see the possible local workaround above. |
Thanks. I know this can be "unfixed" by learning about But why Linux users who rely on build-in system should unfix this by themselves? They knew that build-in update system could be conflicting with package manager (this is well known knowledge for Linux users and was not hot issue before) and they could just disable build-in update system or ignore alerts. I propose to enable build-in system ASAP to save many man-hours of investigating "why update alerts are not working". And then create more granular improvements of VSCodium. It should be ASAP because following days many Linux users will get into this trap. Also when more Linux users will install VSCodium for the first time without package manager, they would have no build-in update system out of the box just because of one config. |
This can be solved for first-time users by including instructions in every release notes in GitHub, like: "if you download these versions on Linux, you will need to modify product.json to get auto-updates - instructions on the wiki".
Even if this is done, I think it won't change installations which already auto-updated to the disabled auto-update version. So, these users will have to search for a solution anyways. :/ I agree however, that AppImage version and any other version that you'd never (?) install with a package manager should probably have updates enabled out-of-the-box. |
The last release was 6 days ago, 4 workdays ago. It is summer so many users will update in following weeks. So one solution is to fix this ASAP and another solution is to do nothing and get more users in this update trap.
This solution means that all existing Linux users who update by build-in system will get to the trap and some (most?) new Linux users will also will have no updates because how many of them want to learn about VSCodium specifics? Do they want to install coding tools and code, or play with VSCodium autoupdates?
The issue is not "auto updates". But the issue is that whole build-in update mechanism was disabled; update alerts, updates in menu. Linux users who install appimage or build and maintain VSCodium by themselves and also Linux users who use package managers know that two update mechanism should not be combined and probably do not do that. But they maybe want to be reminded by build-in update alert and then update system with |
My assumption (correct me if I'm wrong) is that any new user who won't get auto-updates will download the files through GH Releases page, and so be exposed to very visible instructions (maybe shouldn't be a link to wiki).
This seems like a power user who'd be easily able to find the instructions for re-enabling this. This doesn't affect me, so I dunno. Maybe it really would be better to revert this for now and go with suggestion above:
|
Yes, but when I am exposed to GH release instructions then I need to actually read it and then also learn about
Yes, it would better to disable build-in update alerts by default for installations by package managers. But not for the price of disabling it for all Linux users globally which really does not solve any real issue for package manager users. Because they know that build-in update is useless and also they can disable alerts. Yet it creates many problems for non-package manager users (no-update trap). |
I think there's no point in installing a deb, rpm or flatpak package without the repo, and packages released in GitHub releases are just meant to be easily available. But regarding AppImages, this is a valid issue. I think we should find a way to automatically update them so that people don't have to update them themselves. For packages hosted on GitHub, the solution could be either to make them install the appropriate repos with them, or to display a notification about an update which, when clicked, will automatically download and install the package from GitHub releases (I prefer the first option, of course). But this can be problematic for patching GitHub packages like this and keeping repo versions as they are, as differences between seemingly identical packages can be confusing. As for bringing back the update check, because it will make it easier for people to track updates and install them using the package manager, I don't agree. It's more of a nuisance than a help, as the message leads to the GitHub page, and an inattentive user might accidentally download and install the package from there, and only then remember that they have the repo. I had a similar situation once. Every distribution has automatic updates enabled by default, which makes these update notifications even less useful. In general, I don't think it's necessary to invent (or restore) an update mechanism for the packages in GitHub releases, since every Linux user will prefer to use the repo, but we really need to do something about AppImages, and since there is no repo for them, we can bring back the old update mechanism for them exclusively for the first time, until the new update system for AppImages would not be implemented. |
That is valid point, but there are people who prefer deb, rpm or flatpak without repo. Also there can be scripts and scrapers who just scrape releases section and distribute files in internal private repository systems (no open repositories).
This exists, for example project zap https://github.com/srevinsaju/zap
That is not concern of VSCodium. Who wants to use some custom linux update mechanism, could use linux update mechanism like zap. The concern is that Windows users and MACOS users have enable build-in update mechanism in VSCodium and Linux users do not. VSCodium should not assume if and what custom update mechanism (such as zap) is used by the user. On Windows, for example, there are custom paid update programs which auto-update various applications as well. Should VSCodium also disable build-in update system for Windows with alerts and menu items as well? Also users who use
No, every Linux user does not prefer public repos and package managers. What exactly disabling build-in update mechanism (alerts and menu items) solves for users using package manager with repository? Just the alerts? Was there any other issue for them? I suggest to revert this ASAP and do not trap users who do not use package managers into non-updatable state (no alerts and no menu items). Then solve it in such a way that detection of install method is applied (package manager vs no package manager) and leave update mechanism enabled (alerts and menu items) for all except package managers. |
A) There are four things which are concern of VSCodium:
B) And two concerns of user
The "fix" disabled A) (except Automatically updating the VSCodium by VSCodium which was not available) for every Linux user, hoping that users use some other update program (dnf, apt, zap) or hoping that user will remember to manually update VSCodium. |
When I say "everyone", I don't mean everyone, just most people. I'm aware of this, and I think that since there are only a few people who do this, and most of them are just very technical and privacy-conscious people who check the build's compliance with the source code, it might not be a problem for them to change a configuration slightly. So if we do decide whether to add update checks again for all packages, I'd prefer to keep the situation as it is (except for AppImages), but if we can only add them back for non-repo packages and leave repo packages without update checks, then of course we should do that and everyone will be happy.
Builds in any repository don't need update functionality, because that's what repositories do.
I know there are several similar projects, and even a way to make a package update itself. But I'm not a regular user of AppImages, so I'm just assuming that people who are better oriented in this area should come up with the best solution.
That's because of the way packages are distributed on different systems. In Windows or MacOS, it's normal to install a program from somewhere on the Internet, and then it will notify you when a new update is available, and update itself (this is a primary way to install programs in Windows (since the App Store and Winget appeared not long ago), and is widely used in MacOS, since much software is not available in the Mac App Store). In Linux, on the other hand, the use of package managers and repositories is a primary option for installing and updating programs, so that the system's package manager (or any other, just to emphasise that there is already a package manager in the system, which is usually used) checks the repo, looks for updates, notifies about them and installs them if the user wants. And because of this, there is no need for the program to check for updates, because that is the package manager's job.
There are no major problems with this. It's just that Linux applications don't usually check for updates and notify you of them, so this is a bit weird and might confuse someone. So now my point is: packages that are distributed via public repositories should not have update functionality, those that are not should have it, but if packages of both groups are meant to be identical I would prefer them not to have it, since package management in Linux is primarily done by the package manager and not by the application itself. |
Some users were getting confused, we did get issues about that.
As you said, most users use package manager. The update mechanism for Linux is bad compared to macOS or Windows. The PR would need to do at least:
Maybe I'm old school but I've never expected a But I should have put out a public announcement about this change. If you have spent times about that, I'm sorry. |
I guess it will be easier to use build system and add no-update patch to deb/rpm/snap/flatpak/archpkg/whatever. |
Not really, since we will need to go to each package manager which use the I'm starting to think that the update mechanism should have never been enabled for Linux. But we could provide a script that update the product.json to enabled the alerts. |
Yes, some of the most users were getting confused (user set A). Were those some users getting confused for months or years? I would have recommend them to learn Linux basics about package managers or a note in VSCodium documentation about updates and update alerts. Certainly I would not disable update notifications (alerts) for all of the remaining users if they expect it (user set B). So this "fix" is a functional bug by definition for them.
And this is not problem of missing notes. If it is a feature which disables such important functionality, it should be minor, not patch version change (or equivalent). |
@DanielProg39 Linux is different from Windows and MACOS in a way that one should not assume anything about conventions and usualities. Because your standard machine or a popular distro is NOT whole Linux world. The existing implemented capability of VSCodium software is to alert when new update is available and provide menu item for manual check. That's it. Now it is disabled for Linux because of some "confused" Linux users. |
By default, the update mechanism will stay disable on Linux. But, I think there are 3 ways to resolve the update issue for unmanaged package:
I would go for 2. It would a good way to test if we want to do 3. |
More packages isn't best option to solve this tho. |
Hi,
This PR is disabling the update check on linux.
Unlike macOS or Windows, there is no automatic update. When an update available, it's redirecting to the
.tar.gz
however it was installed.Most users would have installed VSCodium with a package manager. In that case, the update check isn't needed. And it will most likely be in conflict with the package manager. (download
.tar.gz
instead of showing the package manager)If the user have install it directly from the
.tar.gz
,.rpm
or.deb
, it will need to check manually for an update. I think it should be fine for any power user.@paulcarroty @GitMensch @geekley @DanielProg39 @mndscp @evur Could I have your opinion? Thx