Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic self-update #34

Open
bb1950328 opened this issue Mar 10, 2021 · 3 comments
Open

Automatic self-update #34

bb1950328 opened this issue Mar 10, 2021 · 3 comments
Labels
💡 new feature A new feature or idea
Milestone

Comments

@bb1950328
Copy link
Owner

  • Check if there's a new release on GitHub at startup
  • Add a config variable to control check frequency
  • Add a cache variable to save last check
  • If a new release is found, show it to the user with the release notes and the following options:
    • Install now
    • Ask on next startup
    • Ask on exit
    • Skip this version
  • If the user chooses to install the new version, download it and somehow replace the executable or run the installer
@bb1950328 bb1950328 added this to the First release milestone Mar 10, 2021
@bb1950328 bb1950328 added the 💡 new feature A new feature or idea label Mar 10, 2021
@bb1950328
Copy link
Owner Author

bb1950328 commented Mar 23, 2021

how to replace running executable: https://stackoverflow.com/questions/9162969/how-can-a-c-binary-replace-itself
N old versions should be kept so the user can quickly downgrade if needed. If the user wants to downgrade to a version which isn't downloaded it has to be downloaded from GitHub.
Config and cache databases should either be backwards-compatible or downgraded too if the version of the database is newer than the current version.

@bb1950328
Copy link
Owner Author

Running the installer is better than replacing the executable directly because the installer will do things like writing the current version into the registry. Unfortunately the user has to click through the installer for every update.

@bb1950328
Copy link
Owner Author

do #62 before implementing this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💡 new feature A new feature or idea
Projects
None yet
Development

No branches or pull requests

1 participant