Contributor
AliceHincu

Seamless Updates for Joplin Desktop Application


Mentors
Laurent, JackGruber
Organization
Joplin
Technologies
react, typescript, electron, electron-builder, electron-updater
Topics
web, Cross-platform Compatibility, automation of updates
To improve user experience and remove the need for manual downloads and installations, this proposal aims to automate the Joplin desktop application's update process. The main objective is to make sure that, for users of Windows, Linux, and macOS, the app updates without any problems in the background, downloading and installing the updates automatically when the program restarts. Investigating real-time updates and creating plans for updating files that are already in use are secondary objectives. For application updates, the project will make use of Electron and electron-builder together with TypeScript and React. Using Electron's autoUpdater module to manage downloads and updates, setting up a background service for silent updates, constructing a non-intrusive user notification system, and ensuring flawless application restarts for updates are important tasks. There will be testing and documentation at every stage of the development process. The timeline spans 14 weeks, starting with initial setup and planning, followed by developing the background update service, implementing the automatic installer and notification system, integrating and testing the updates across all supported platforms, and addressing any unforeseen challenges. The final stages will focus on finalizing documentation, polishing the update mechanism for deployment, exploring live updates, and project wrap-up with mentor review and project submission to Joplin and GSOC.