Improved Update Process for MacOS

Hello,
I have looked both in the forum and in the issues on Github. I am surprised that I seem to be the first one to wish for a smoother upgrade experience.

Honestly, I love Joplin. But very often, when I open it on my Mac, it tells me that an update is available. Installing it involves downloading the DMG, opening it, and dragging the new bundle to my applications.

Though not too much of an effort, it does feel like a waste of time for every update. So, have there been considerations to improve this?

Best regards, Arne

This came actually up a few times already. It's an Electron app. We don't know how to do an "auto" update. If you can find a solution on how to do that, we'll certainly think about it.

1 Like

I'm not sure if Mac OS is special, but you can consider the automatic update of electron builder. I used it in a production environment, at least it performed well on the customer's Windows

1 Like

Best way on mac is to use homebrew. Then you can just do brew upgrade and it takes care of all the steps for you.

I guess the issue is not so much how to do it, but to actually do it. If someone has some spare time and feel like working on this, pull requests are welcome.

1 Like

Hello Laurent,

thank you for sharing your opinion - I took a quick scan across the link rxliuli posted above.
I am not sure how I could contribute. Of course, I could include the auto updater in the code and make a pull request. But I don't see how I could easily set up the infrastructure (code signing, building, providing releases on GitHub) to test it.

So please, let me know how I could help in this regard, as someone not fluent in JS or Electron.

What I already did, regardless of my feature request, is set up a GitHub sponsorship, because I really appreciate Joplin.

I think a first step would simply be to auto-download the package and open it, which would make the update process a bit more automated. Implementing a complete infrastructure for that not only would be quite a bit of work, but also harder to maintain.

Hello Laurent,
have you read the description of https://www.electron.build/auto-update? To me, it reads like all it needs is GitHub-Releases and signed code, which as far as I can see is already in place.

In fact, it is quite troublesome to configure them correctly. . .

Yes, that's what I was using before but as with many things with Electron Builder, it's buggy and unsupported so it's better not to rely on it.

Thank you all for the responses - if the electron-builder is not useful, I can understand that you do not want to use it. At least now it is documented why it is not being used.

laurent Have you tried it recently? I've had no issues using it personally. It's a single line of code - autoUpdater.checkForUpdatesAndNotify(). And changing joplin/package.json at dev · laurent22/joplin · GitHub to 'default' (dmg + zip)