Skip to content

Release 0.3.2: ipatool 2.8.1 follow-ups and AppImage support - #33

Merged
a23bc merged 15 commits into
mainfrom
fix/0.3.2-ipatool-2.8.1
Nov 14, 2026
Merged

a23bc merged 15 commits into
mainfrom
fix/0.3.2-ipatool-2.8.1

Conversation

@a23bc

@a23bc a23bc commented Nov 14, 2026

Copy link
Copy Markdown
Owner

What changed

Release 0.3.2: handles ipatool 2.8.1's Store AMD session requirement, makes the Linux AppImage usable by AppImageHub/AppImageUpdate, and includes the UI fixes found while testing 0.3.1/0.3.2 (email history, queue re-login prompt, purchases caching, Windows caption strip).

Why

ipatool 2.8.1 provisions Store AMD state during auth login, so sessions created by older engines search and list purchases but cannot download. The AppImage also failed AppImageHub's mount test because it was xz-compressed, aborted on Ubuntu 24.04 without a sandbox fallback, and lacked update information/zsync. The remaining changes are direct feedback from the maintainer's test builds.

How verified

  • npm run typecheck, npx eslint src tests scripts, npx vitest run (34 files, 497 passed, 2 skipped), npm run build.
  • CI test build 43432621222 built all five platforms successfully; the maintainer installed and exercised the Windows artifact, including the login modal, e-mail history, downloads and purchases tab.
  • The Linux x64 artifact was unpacked and inspected: .upd_info contains the gh-releases-zsync string, the .zsync sidecar is present and checksummed, the sandbox wrapper survives the appimagetool rebuild, and the AppImage mounts as SquashFS.
  • The AppImageHub test for v0.3.1 passed; v0.3.2 needs a retest after publishing.

Not verified

  • AppImageHub's retest of v0.3.2 happens after the release is published.
  • macOS dmg/notarisation still needs a real Mac, as documented.

Checklist

  • One concern only — this is the requested 0.3.2 release bundle
  • npm run typecheck passes
  • npm test passes (coverage gate included)
  • npm run lint passes
  • New logic in src/shared/ has tests
  • No credential, token or local-only file is included
  • User-visible behaviour changes are described above

a23bc added 15 commits November 13, 2026 15:30
…ssing

ipatool 2.8.1 provisions Store AMD state during auth login; sessions from an
older engine still search and list purchases, but downloads fail with an
opaque error. Surface it as a re-login prompt and open the sign-in dialog.
AppImageHub and AppImageUpdate expect an .upd_info section and a .zsync beside
the AppImage. electron-builder emits neither, so rebuild the AppImage with
appimagetool during the release job and checksum the zsync file too.
The AMD failure was still rendered as a progress/JSON blob in the Downloads
row, with the generic network hint. Show the actionable sign-in message there
too and add a key button that opens the sign-in dialog.
Theme/settings updates called syncTitleBarOverlay() without a modal state and
painted the strip opaque; remember the last state and reapply it on focus and
after an ipatool login attempt, while the dialog is still open.
The sign-in field now starts empty and opens a fixed-height, scrollable list
of previously used Apple IDs. Each row reveals a delete action on hover; a
successful sign-in records the address, and old lastEmail settings migrate
into the new history.
Revisiting the tab now reuses the loaded list, and a second load is ignored
while one is already in flight. Refresh and platform changes remain explicit
ways to query again.
@a23bc
a23bc merged commit 06b373b into main Nov 14, 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