musescore / musescore/MuseScore

One-click automatic updates / "update on next launch"

Open
#22,774 1 comment 0 reactions 1 assignee View on GitHub

@bkunda is already working on this.

Since May 13, 2024.

feature request updates
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Some apps, most notably ones using the Electron framework, provide very convenient ways of automatically installing updates. For example,

  • VSCode, GitHub Desktop and Discord download updates in the background, and then display a button that lets you install the update and relaunch the app, all with just one click.
  • Figma displays a popup message when there is an update, with the options to install it right now or the next time that you launch the app.

All of these apps make use of the Squirrel framework, which is built into Electron.

In MuseScore 3, the situation was similar to that: it made use of the Sparkle framework on macOS, and the WinSparkle port of that on Windows.

In MuseScore 4, we use our own solution, but unfortunately this doesn't go further than just downloading the update "in the foreground" and then letting the user install it manually. This has some disadvantages:

  • it takes time and is not very convenient, possibly resulting in users endlessly deferring the update
  • it's limiting us: for example, we didn't change the filename of the macOS app from "MuseScore 4" to "MuseScore Studio", because by keeping it unchanged, the OS will offer to overwrite the old version, and that is essential because many users won't be able to locate the old version themselves and delete it manually, so they would end up with two versions which would definitely cause confusion. An automatic update solution could take care of situations like that.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.