|
1 | 1 | # Task Progress |
2 | 2 |
|
| 3 | +## Verified in-app update handoff PR (2026-08-11) |
| 4 | + |
| 5 | +- [goal] Replace the current macOS release-page-only update action with an explicit, |
| 6 | + verified DMG handoff. The client may download the exact newer GitHub Release |
| 7 | + artifact only after the user confirms; it must |
| 8 | + validate the canonical repository/tag/asset identity, bounded byte count, |
| 9 | + GitHub asset SHA-256 digest, and `SHA256SUMS.txt` before opening the DMG. |
| 10 | +- [scope] Feature branch `codex/verified-auto-update` from clean `main` at |
| 11 | + `6f789be4570b1d5c9e7e60545f22173195968720` (`v1.5.12`). No matching upstream |
| 12 | + auto-update Issue or PR was found. Preserve the existing background check and |
| 13 | + notification behavior; do not silently replace the running application, skip |
| 14 | + system install UI, remove quarantine, weaken execution policy, or trust an |
| 15 | + arbitrary release/download URL. Windows is intentionally excluded: open Issue |
| 16 | + #276 already owns bounded update-response parsing, and its PowerShell 5.1/ |
| 17 | + Setup handoff should be reviewed in a separate PR rather than coupled here. |
| 18 | +- [implemented] The macOS menu now asks before downloading, then re-reads the |
| 19 | + exact stable tag, requires unique canonical DMG/checksum assets, enforces |
| 20 | + bounded sizes and approved HTTPS redirects, verifies both GitHub asset |
| 21 | + digests and `SHA256SUMS.txt`, mounts the DMG read-only, and checks the unique |
| 22 | + App bundle ID, App/engine version, and code-signature integrity. Only the |
| 23 | + verified DMG is moved into a private cache and opened; the running App is |
| 24 | + never replaced automatically. Background checks still do not download. |
| 25 | +- [verified] Live v1.5.12 metadata check, shell syntax, `git diff --check`, Swift |
| 26 | + frontend parse, shared-runtime sync check, 93 portable Node tests, and the |
| 27 | + macOS suite all pass. The macOS suite covers the valid handoff plus checksum, |
| 28 | + identity, URL, duplicate asset, draft Release, cache symlink, oversized |
| 29 | + version component, and conflicting-mode rejection. Signed-runtime, Doctor, |
| 30 | + and real ChatGPT integration were intentionally skipped; this machine lacks |
| 31 | + the full matching Xcode platform, so SwiftPM/XCTest and the DMG build remain |
| 32 | + CI requirements. |
| 33 | +- [submitted] Feature commit `e98b12c` was pushed to |
| 34 | + `cixiangtao:codex/verified-auto-update`; Draft PR #355 targets |
| 35 | + `Fei-Away/Codex-Dream-Skin:main`: |
| 36 | + https://github.com/Fei-Away/Codex-Dream-Skin/pull/355 |
| 37 | +- [current] Waiting for the Draft PR's macOS CI to provide the full |
| 38 | + SwiftPM/XCTest and packaged-DMG evidence unavailable on this machine. |
| 39 | +- [pending] A real newer public Release does not exist yet, so clicking the |
| 40 | + menu through a production download/open flow remains a post-release smoke |
| 41 | + test; automated tests never launch an installer. Keep this PR scoped to the |
| 42 | + macOS guided handoff and do not fold #276 or #237 into it. |
| 43 | + |
3 | 44 | ## Client release v1.5.12 (2026-08-08) |
4 | 45 |
|
5 | 46 | - [scope] Reviewed and merged 10 pending community/self PRs that had accumulated |
|
0 commit comments