Change update button behavior to download current installer

Use case or problem

Because Electron can’t currently update itself, the update button in the settings is frequently insufficient to, well, update Obsidian to the latest version. It also provides no in-app notification when this is the case or what to do instead. Worse, it seems to fully update Obsidian even when it doesn’t.

Proposed solution

Change the behavior of the update button in Obsidian settings to download the latest installer, and add brief OS-specific instructions on how to install the new version from the downloads folder, along with a few words reassuring the user that this will not overwrite the user’s settings or data.

Sooner or later everyone is going to have to do that anyway, so it would be a lot less confusing over time. And it would be a lot more realistic than expecting that every user will find and read the release announcement every time there’s a new version.

NOTE:

The button can still be called “update” and as now only notify the user when an updated version is available. What is important is changing what happens when the button is clicked. The proposed change described above would ensure that the user always receives and installs the complete update, including the latest version of Electron.

2 Likes

I’d go so far to remove that update section altogether so that we have to download a new version of Obsidian from their homepage. Admittedly, this patching feature is used friendly and nice but i don’t see much value in it so i go always for a new download if i effectively see a need to update, not just by habit.

Things get complicated because of all this framework dependencies, like Electron, Chrome, ect.
Other frameworks have their own bugs and development rhythms.

Would be nice if at some point Obsidian had their own framework to simplify development and improve performance but this won’t ever happen, i think.

I’m doing the same thing. It’s not a big deal for those of us who know enough to just download the latest installer every time, but as long as the update button’s behavior remains unchanged, there will be users asking on the Discord why Obsidian isn’t behaving properly, and the issue and workaround will have to be explained to them yet again.

I would agree with this. If the updater is not updating everything that the app should need, it is not a proper update. Off to download the new installer and and update to the latest Electron version

1 Like

It is not necessary to update the installer everytime. If we deem necessary to update the installer we show an in app notification.

@WhiteNoise I’ve never gotten an in-app notification over the years I’ve been using Obsidian, including with the new update that was released yesterday. It just says “Relaunch the app to update.” Alongside it, the button label says “Relaunch,” which appears to indicate that clicking the button will, indeed, update the app. And it will, but it leaves unwitting users with the wrong Electron version, which then leads to issues they bring up again and again on the Discord and on Reddit.

Few people seem to click the link to the change log and read it all the way to the bottom, which is necessary because the notification that a new installer download is required is usually the last thing mentioned.

Imo, every time an update requires a new Electron version, the button ought to download the new installer instead of giving the user a borked update.

You never got the notification because evidently it wasn’t needed. Almost everytime we make a public build, we use an updated version of electron. Sometimes minor some times major. But in any case, that doesn’t mean that it’s necessary to update.

If we deem the version you are rubbing too old, we’ll tell you in the app to update.

@WhiteNoise I’ve never gotten the notification and have always had to rely on the release notes, which unlike a lot of users I know enough to do.

I guess I don’t see the practical disadvantage of using a new installer every time; even if it isn’t always technically necessary, the advantages seem worth the tradeoff of sometimes downloading a few extra megabytes. As I mentioned, other Electron apps like Logseq and Zettlr do it that way, and the benefit is that they don’t have users asking on the Discord and Reddit about buggy behavior caused by running outdated versions of Electron.

If the current way of handling Obsidian updates were adequate, that wouldn’t be happening.

Again, You have never got the notification because you have always updated manually. We do not force update electron because new versions of electron itself sometimes introduce new bugs (has happened multiple times, including this time 1.4.5) and we do not want to push these bugs to all our users who are otherwise having a fine experience.
There is no need to obsess over the electron version.

I haven’t always downloaded the installer. I usually only do so when the release notes call for it. But are you saying that you don’t get the notifications unless you set Obsidian to download and install updates automatically, rather than setting it to just tell you when there’s an update while letting you decide whether or not to install it immediately?

The release notes never calls for it. The release note informs you that the new installer has been packaged with x.y.z version of electron.

Go and download and install a very old version of obsidian see what happens, like this one
https://github.com/obsidianmd/obsidian-releases/releases/download/v1.0.0/Obsidian.1.0.0.exe

@WhiteNoise Okay, the latest update was released today. The release notes say:

The installer has been updated to Electron v25.8.1 to address several vulnerabilities. To update, you must manually get the latest installer from Download - Obsidian.

But in the desktop app, all I’m getting is a notification that says, “A new version is ready to be installed. Read the change log. Relaunch the app to update.” There’s no download link—just a button that says “Relaunch.”

So unless someone reads the change log—which they should do, but many, many people don’t—they’re going to assume that all they need to do is push the relaunch button.

2 Likes