Skip to content

feat: add on-demand manual update checker and source-based update workflow - #15

Merged
ChornyiDev merged 1 commit into
mainfrom
feat/in-app-update-checker
Oct 31, 2026
Merged

ChornyiDev merged 1 commit into
mainfrom
feat/in-app-update-checker

Conversation

@ChornyiDev

Copy link
Copy Markdown
Owner

Summary

  • On-Demand Manual Update Checking: Added UpdateService and UpdateSectionView in Settings → About. The app never polls or accesses GitHub in the background; updates are checked strictly when the user clicks Check for Updates.
  • Release Inspection without Binaries: Queries GitHub Releases API (releases/latest) to compare semantic versions (v1.x.y) and show release notes.
  • Source-Based 1-Click Update:
    • Automatically remembers the repository directory path (FreeMountSourceRepositoryPath) upon installation.
    • Clicking Update Now opens Terminal and safely runs cd <repo> && git pull && ./scripts/install-from-source.sh with personal Apple ID signing.
    • Graceful Handling if Source Directory is Deleted: If the user removed or moved ~/FreeMount, the app opens an informative sheet displaying the 1-line clone command with an interactive Copy button and a link to the release page.
  • Cleaned Release Workflow: Updated .github/workflows/release.yml to publish GitHub Release notes on tags without compiling unsupported ad-hoc DMG artifacts on expensive runners.

Verification

  • Unit tests added (UpdateServiceTests) covering version comparisons and JSON parsing; all 250 tests passed.
  • Xcode Release build verified (** BUILD SUCCEEDED **).

@ChornyiDev
ChornyiDev merged commit a80010e into main Oct 31, 2026
1 check passed
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