Disable automatic updates in Linux desktop client

Since I started using Joplin on Linux (Ubuntu 20.04, Joplin 2.3.3 at this point), I've been experiencing weird issues with Joplin wanting to update itself. For a while I was getting stuck in a loop, getting a message that "Joplin has updated while running and needs to restart". I would restart but just keep getting that same message. Eventually I turned off the Joplin system tray application and that problem seemed to go away.

Today I am told by Joplin that it updated and needs to update my sync target! This really surprised me, that my client can force my remote sync target to download updates. Really what I want is to disable all of this automatic updating. If I find a need to update, I will do it. I am unsettled by the idea of software updating itself, both on my client and on my server, with no input from me and no apparent way to disable it. Please advise.

Under Tools -> Options -> Application you can toggle "Automatically update the application".

Just FYI, the recent sync target update was not applying an update to the server. The Joplin Desktop application does not have that kind of access to your server. This update was in regards to how Joplin stores files on the sync server.

1 Like

I'm not seeing it...

Huh, i do recall that the menu item was disabled on Linux because the auto update didn't work. What do you see when it updates?

Is it possible that you've actually set up the install script as a Cron job?

Running crontab -l either as my desktop user or root, I don't see any jobs. I've seen the message "Joplin has updated while running and needs to restart" in the past and I don't recall exactly what the message was today. Is there any way to explicitly disable auto updates in settings.json?

That's a good idea. You can add "autoUpdateEnabled": false to your settings.json.

Did you install from a package manager maybe? There exists third party snap and flatpack packages (among others).

Yes, I installed it from snap (via the "Ubuntu Software" app)

That's probably it then, changing your Joplin settings won't help I'm afraid. I did a quick search and it doesn't look it's very easy to disable automatic updates.
@james-carroll is the maintainer of the snap package, he might be able to help you out here.

For what it's worth, the recommended method of installing Joplin is to run the following script from the terminal.

wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash

I've put this in a .desktop file and invoke it whenever I feel like updating.

1 Like

I see, thanks for the tip!

So I can confirm the message that the "please restart" notification seems to act up if the system tray is enabled and I'll look into it, but generally that notification is a short term solution while snapd will have an update soon that improves how it handles upgrades so that people would never see that notification again. You can enable it experimentally with

sudo snap set core experimental.refresh-app-awareness=true

And snap should actively wait for you to stop using an application before updating it. I think it's currently being held in experimental while decisions are made regarding how to give user feedback on what's going on regarding notifications from the system about updates being available.

If you wanted to disable automatic updates entirely, it is doable but at the same time there's a point where I'd also just recommend the AppImage official release if that's the case. You'd need to install the snap without accepting the assertation that verifies it as originating from the Snap Store (which indirectly means it abides with the Snap Store policies), which would look something like

snap download joplin-desktop
sudo snap install joplin-desktop.snap --dangerous

Specifically, ignore the advice it gives about running snap ack. Because of the dangerous flag, it would then never update since from your clients perspective, it isn't actually on the snap store.

Ultimately the lack of control here around snaps is a pretty common criticism of snaps in general, and while there's options like limiting how often updates can be done and putting up specific versions on the store (e.g, I could put 2.2 up alongside 2.3, both with the same package name and offering the choice to the user which they'd like), in general I'd say you probably want the AppImage or the Flatpak which is less aggressive with the updates.

With the sync-target upgrade for example, I'm personally happy the automatic updates existed because it ensures the rollout of 2.3 happened as fast as possible for as many users as possible, and if someone really did want to temporarily go back to 2.2 because they had other clients they couldn't upgrade, there's a sudo snap revert joplin-desktop for that!

So while people who'd prefer updates never happened will probably always disagree with the philosophy snap essentially enforces, I do think it's nearly at a point where the experience would be frictionless, going forward, people might not even realise they've been updated at all! (Cue horror music or dance music depending on which side you'd prefer here)

3 Likes

So regarding the aspect where the system tray icon interferes with the updating process, it's now fixed, but unfortunately it's actually part of the application itself, so it's fixed in 2.3.5 upgrading to future releases, but not 2.3.3 upgrading to 2.3.5 (which I'll be pushing later today).

Incase the rest of the Joplin devs want to see what the UI actually looks like, it's just this, where clicking "ok" closes the application, and the previous behaviour was that if the system tray icon was enabled, it'd close the main window but not actually the Joplin process in full, causing this notification to appear multiple times as they re-open the same instance.

And again, it's a short term solution while a better fix is about to land on the package manager side soon™

2 Likes

Thank you @james-carroll for looking into this! I really appreciate your detailed response. I'm going to try and live with the Snap install for the moment but the next time things get dicey I'll try switching over to a standalone install.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.