syncthing/syncthing-macos

Make the auto-updater more user friendly so people don't brick their installation with the latest incompatible version

jarofgreen opened this issue · 4 comments

I have MacOS 10.12

I just updated the app to v1.20.3-1 as prompted to by the app.

It's now broken - it won't start.

I see in the readme - https://github.com/syncthing/syncthing-macos#macos-version-support - that the latest version now needs 10.13.

Can the app not upgrade on older MacOS? Or can the app check if the version is to old and pop up a user friendly message if so?

ps. Also this section - https://github.com/syncthing/syncthing-macos#installation - still says 10.12 and so is out of date.

I've downgraded to 1.19.2-1 from https://github.com/syncthing/syncthing-macos/releases and it works fine, for anyone else reading. Just uninstall and reinstall the old version. Your config should still be there.

Hi @jarofgreen, yes I'm aware of this. And have thought multiple times for a solution people don't brick their installation. From a user perspective it should be nice to have a notice things are incompatible and the update will not pop-up. Sorry for this!

I'm not a MacOS programmer so I can't help with details and forgive me if I'm being obvious, but it seems to me a 2 step fix would be best here:

  1. Have a file on-line with details of version required, and don't prompt people to upgrade if it would break. Ideally, maybe add a message to the menu saying "this version is now unsupported"? However, that won't do anything for old installs already out there, so -
  2. Write in a check on app start-up - if the version of MacOS is too old put a message in the menu. This would catch the user story we are talking about here. I don't know MacOS details, but would it also catch the user story that someone just downloads the latest binary and installs it on an old mac? People's installs will still be broken, but at least they will know why straight away and what to do to fix them. (I only noticed the version requirements by chance because I was looking at the readme to see if it said anything about where to find logs.)

In both cases, I'm saying "put in menu" not "just pop up a message" because some people have the app set to start automatically and this could end up annoying them.

And thanks for your work on this app generally! 😄

The update mechanism of the tray icon uses a opensource library. And I would rather not touch old releases and add something to the menu. I know the Sparkle Update library has a mechanism to check for macOS versions and compatibility but I never had to dig into the workings of that until this incompatibility showed up some time ago. It is realistic to say incompatibility will happen again in the future, like the upcoming macOS Ventura (v13) will drop support for a whole range of devices. I will rename this issue as this has been reported for a few times now with people breaking their installations with incompatible versions which is not nice. We should look into this if we can make it more user friendly. Last but not least, it is documented in the FAQ of the README so people can help themselves.

To be specific about the details. The tray application polls (or on user request) the XML appcast file on the update server where all releases are described. It now always tries to update to the latest release and "the latest" always shifts of course, so if we add a notice for every release on compatibility would be odd.