Add Plug Help, About Plug and Check for Updates to the menus #18

Merged
erdoar merged 1 commit from claude/help-and-updates into main 2026-10-10 16:58:28 +00:00
erdoar commented 2026-10-10 05:04:49 +00:00 (Migrated from github.com)

Stacked on erdoar/plug#17 (manual and web pack). Merge #14 → #15 → #16 → #17 first.

Summary

  • Help > Plug Help (Cmd+?) opens the manual. scripts/bundle.sh now copies Web/manual.html and its CSS and images into Plug.app/Contents/Resources/Manual/, so it works offline. When Plug runs unbundled it opens MANUAL.md on GitHub instead.
  • Plug > About Plug shows the standard About window with Plug's icon, version (or "development build"), and a short credit.
  • Plug > Check for Updates… fetches https://api.github.com/repos/erdoar/plug/releases/latest (public, no sign-in) and compares the tag with CFBundleShortVersionString. Possible results:
    • newer: offers Open Download Page, plus a reminder that self-builders update with git pull and scripts/bundle.sh;
    • up to date;
    • no releases yet (GitHub's 404);
    • no version to compare;
    • couldn't check (network error).
  • AppVersion (leading "v" allowed, missing parts count as zero) and GitHubRelease / UpdateCheck are in PlugCore.
  • The manual gains a "Help, About and updates" section, and Web/manual.html is regenerated. The README gains a short release routine: raise the version, zip build/Plug.app with ditto, publish a vX.Y.Z release with the zip.

Tested

  • Linux, Swift 6.0.3: 38 tests pass. New tests cover version parsing and comparison, reading GitHub's reply, and every update outcome.
  • Checked that the releases endpoint currently answers 404, since no releases exist yet, and that Plug reports that as "No releases yet".
  • The macOS files pass a syntax-only parse. Not compiled or tried yet.

To test on the Mac

  1. Quit Plug, then run scripts/bundle.sh --open.
  2. Help > Plug Help (or Cmd+?) should open the manual in your browser.
  3. Plug > About Plug should show the icon and 0.1.0.
  4. Plug > Check for Updates… should say "No releases yet", since none have been published.

🤖 Generated with Claude Code

https://claude.ai/code/session_011C96TJ2L7nzVMFTH7raNu5


Generated by Claude Code

Stacked on erdoar/plug#17 (manual and web pack). Merge #14 → #15 → #16 → #17 first. ## Summary - **Help > Plug Help** (Cmd+?) opens the manual. `scripts/bundle.sh` now copies `Web/manual.html` and its CSS and images into `Plug.app/Contents/Resources/Manual/`, so it works offline. When Plug runs unbundled it opens `MANUAL.md` on GitHub instead. - **Plug > About Plug** shows the standard About window with Plug's icon, version (or "development build"), and a short credit. - **Plug > Check for Updates…** fetches `https://api.github.com/repos/erdoar/plug/releases/latest` (public, no sign-in) and compares the tag with `CFBundleShortVersionString`. Possible results: - newer: offers **Open Download Page**, plus a reminder that self-builders update with `git pull` and `scripts/bundle.sh`; - up to date; - no releases yet (GitHub's 404); - no version to compare; - couldn't check (network error). - `AppVersion` (leading "v" allowed, missing parts count as zero) and `GitHubRelease` / `UpdateCheck` are in PlugCore. - The manual gains a "Help, About and updates" section, and `Web/manual.html` is regenerated. The README gains a short release routine: raise the version, zip `build/Plug.app` with `ditto`, publish a `vX.Y.Z` release with the zip. ## Tested - Linux, Swift 6.0.3: 38 tests pass. New tests cover version parsing and comparison, reading GitHub's reply, and every update outcome. - Checked that the releases endpoint currently answers 404, since no releases exist yet, and that Plug reports that as "No releases yet". - The macOS files pass a syntax-only parse. **Not compiled or tried yet.** ## To test on the Mac 1. Quit Plug, then run `scripts/bundle.sh --open`. 2. **Help > Plug Help** (or Cmd+?) should open the manual in your browser. 3. **Plug > About Plug** should show the icon and 0.1.0. 4. **Plug > Check for Updates…** should say "No releases yet", since none have been published. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_011C96TJ2L7nzVMFTH7raNu5 --- _Generated by [Claude Code](https://claude.ai/code/session_011C96TJ2L7nzVMFTH7raNu5)_
Sign in to join this conversation.
No description provided.