Skip to content

Bridge Maple Work macOS updater bundle names - #1242

Merged
AnthonyRonning merged 1 commit into
masterfrom
codex/maple-work-updater-bridge
Oct 24, 2026
Merged

AnthonyRonning merged 1 commit into
masterfrom
codex/maple-work-updater-bridge

Conversation

@AnthonyRonning

@AnthonyRonning AnthonyRonning commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Based on the merged display-branding PR #1234; this compatibility change is now targeted at master.

The macOS updater currently requires Maple Agent.app for both the installed bundle and the update archive root. Add compatibility for Maple Work.app before changing distributed filenames. Updates continue to replace and relaunch the existing installation path; this PR does not move or rename installations.

  • Admit exactly one of the two Prod archive roots, normalize it to the existing private staging name, and retain the preparation/receipt format. Reject mixed roots, arbitrary names, traversal and escaping links; retain signed payload hashes, native signature/identity and version checks.
  • Share the legacy install lock between both names in the same parent directory, including compatibility with older clients' lock key, so preparation and startup cleanup cannot race across names. Preserve a sibling installation and the retained prior bundle.
  • Fix the remaining Linux updater guidance to say Maple Work.
  • Document the rollout boundary: continue publishing legacy-root archives on the current feed. Older clients can skip the bridge because they fetch one latest offer, so a later filename migration still needs a legacy upgrade path or explicit manual-upgrade policy.

Validation on macOS through the component's pinned Nix environment:

  • cargo test --locked -p maple-agent-updater: 64 passed, including the old/new installed-name × archive-name matrix, restored preparations, tampering, mixed/unsafe roots, shared locking, in-place atomic swaps and backup/sibling preservation.
  • Full Agent just ci: passed (format, Git metadata tests, all Clippy feature sets, warning-denied workspace build/tests and headless tests).
  • just packaging-test: 134 tests, one Linux-only check skipped on macOS.

The swap tests use the native macOS filesystem exchange with a test signature verifier. Signed release update/relaunch and interactive GUI smoke tests were not run; local results do not establish those distribution/runtime layers. Linux/Windows hosted CI is separate.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@AnthonyRonning
AnthonyRonning changed the base branch from codex/maple-work-rebrand to master October 24, 2026 00:17
@AnthonyRonning
AnthonyRonning force-pushed the codex/maple-work-updater-bridge branch from 678f0ef to d9e8887 Compare October 24, 2026 00:17
@AnthonyRonning
AnthonyRonning merged commit dd58a2d into master Oct 24, 2026
39 checks 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