Seamless desktop application updates - Working Example

Hi all! Amresh this side!
I was very much interested with 2nd Idea of GSOC '22: Seamless Desktop Application Updates of Joplin.

I have tried implementing this with an example electron-quick-start project. (Most stuff is from electron-builder docs and examples)

Also added some workflows to make release drafts with AppImage in assets automatically.

Repo: https://github.com/AmreshSinha/electron-quick-start

Usage (Linux)

  1. In your fork first of all delete all the tags and releases if there is any. (git tag --delete tag-name)
  2. Edit the repository field in package.json and replace it with your own fork url.
  3. Make sure package.json has the version id as v1.0.0 . Build the app with yarn dist.
  4. git commit -am v1.0.0
    git tag v1.0.0
    git push && git push --tags
    
  5. Publish the draft release on github
  6. Now edit the version id to v1.1.0 in package.json.
  7. git commit -am v1.1.0
    git tag v1.1.0
    git push && git push --tags
    
  8. Again Release the Draft on github
  9. Run the AppImage which we made in step 2. It will update it and as soon as you quit, it will replace the old AppImage with New AppImage.

or

Downlod the v1.0.0 release AppImage from the repo link and run it. It will update to v1.1.0 and replace the old AppImage file.

This whole thing is also valid for Windows and Mac distributions too.


Waiting for your feedbacks! :raised_hands:
Also wanted to ask if there is any Gitter channel, Slack, IRC or Discord server for quick contact to mentors and maintainers?

3 Likes

Thanks for the effort but the first problem for me is Electron - I'll never choose it willingly, sorry. :slight_smile:

Copying and pasting the electron-builder doc we can do as well. The difficult part is in the integration with the app and CI.

The GSoC doc explains quite well what needs to be done to participate in GSoC, such as submitting a pull request, participating in the forum, etc. It doesn't say anywhere that you should directly contact mentors, in fact there's no need for it initially.

Also GSoC is not started.