Skip to content

feat(desktop): auto update#3448

Merged
elijah-potter merged 13 commits into
masterfrom
feature/auto-update
May 21, 2026
Merged

feat(desktop): auto update#3448
elijah-potter merged 13 commits into
masterfrom
feature/auto-update

Conversation

@elijah-potter
Copy link
Copy Markdown
Collaborator

Issues

N/A

Description

This PR adds Harper Desktop update support and improves a few related desktop onboarding flows.

Harper Desktop Updates

  • Configures Tauri updater artifacts and the desktop updater endpoint in harper-desktop/src-tauri/tauri.conf.json.
  • Adds updater permissions/dependencies for the desktop app.
  • Adds DesktopUpdater, a centralized frontend update helper for:
    • Reading the current app version,
    • Reading the latest published version,
    • Running manual updates,
    • Running silent daily auto-update checks.
  • Persists auto-update settings in desktop config:
    • auto_update
    • last_update_check
  • Wires the General settings page to:
    • Toggle automatic updates,
    • Show current/latest versions,
    • Manually check for updates.
  • Replaces the hardcoded About-page version with the packaged Tauri app version.

Desktop Release Workflow

  • Updates .github/workflows/desktop.yml to build only macOS desktop artifacts for now.
  • Adds Tauri signing secrets only to tagged release builds.
  • Uploads macOS updater bundles and .sig files to both workflow artifacts and draft GitHub releases.

Web Updater Endpoint

  • Extends the GitHub release client to fetch and cache full release metadata.
  • Adds /download-harper-desktop/[target]/[arch]/[current_version] for Tauri dynamic updater metadata.
  • Serves updater JSON pointing at GitHub release assets.
  • Caches fetched .sig contents in memory.
  • Updates /latestversion to return the release tag version and allow Desktop requests.

Demo

N/A

How Has This Been Tested?

  • Added/updated Rust unit coverage for AnchorEnd, SequenceExpr, Addicting, phrase-set corrections, regionalisms, and desktop config serialization defaults.

AI Disclosure

  • I am a human and didn't use any AI.
  • I used LLM features of my editor, but not an agent.
  • I used an AI agent interactively.
  • I am an agent or I got an agent to do the work autonomously.

Checklist

  • I have performed a self-review of my own code
  • I have added tests to cover my changes
  • I have considered splitting this into smaller pull requests.

@elijah-potter elijah-potter added this pull request to the merge queue May 21, 2026
Merged via the queue into master with commit fc7b425 May 21, 2026
14 checks passed
@elijah-potter elijah-potter deleted the feature/auto-update branch May 21, 2026 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant