🖥️ Desktop Applications

Auto-Updater

Desktop applications include automatic update functionality via electron-updater.

How It Works

Diagram; its source is available below
Diagram source
graph LR
    A["App Startup"] --> B["Check for Updates"]
    B --> C["Download Update"]
    C --> D["User Prompted"]
    C --> E["Background Download"]
    D --> F["Install & Restart"]
    E --> G["Install on Quit"]

Update Sources

SourceConfiguration
GitHub ReleasesDefault — checks repo releases
Custom ServerSelf-hosted update server
S3 BucketAWS S3 with update metadata

Configuration

GitHub Releases

// electron-builder.yml
publish:
  provider: github
  owner: ever-co
  repo: ever-gauzy

Custom Server

publish:
  provider: generic
  url: https://updates.yourdomain.com

Update Process

  1. Check — polls update server on startup and periodically
  2. Download — downloads update package in background
  3. Verify — validates checksum and signature
  4. Prompt — notifies user of available update
  5. Install — applies update (may require restart)

Code Signing

Updates require code-signed builds to pass OS security:

PlatformSigning
WindowsAuthenticode certificate (.pfx)
macOSApple Developer ID + notarization
LinuxNot required (AppImage)

Version Strategy

Semantic versioning: MAJOR.MINOR.PATCH

Pre-release channels:

  • latest — stable releases
  • alpha — pre-release builds

Edit this page

Copyright © 2023-Present Ever Co. LTD.Docs by Sourcey