Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,6 @@ Restart or shrink the task if:

## Result

- Status: in progress
- Verification result: pending
- Notes: the current branch already contains the intended v0.2.1 build-number bump; no release has been published yet.
- Status: complete
- Verification result: passed. Localization lint and key parity, all 15 core tests, `git diff --check`, Debug build/launch, live RU/EN and light/dark About review, singleton Window-menu inspection, Release packaging, checksum comparison, fresh-ZIP strict signature verification, protected GitHub CI, and the tag-driven Release workflow all passed.
- Notes: PR #6 was merged into `main`; GitHub Release `v0.2.1` is published as latest with the verified arm64 ad-hoc archive and SHA-256 attachment. Per the user's final simplification, the metadata card contains only Developer and License.
10 changes: 10 additions & 0 deletions progress.md
Original file line number Diff line number Diff line change
Expand Up @@ -270,3 +270,13 @@ Append-only history. Do not erase previous entries.
- Next step: Add a compact Select visible/Clear selection action if bulk selection becomes frequent, or continue with large-file review.
- Bottleneck: none.
- Handoff: The confirmation was cancelled and no real app or leftover was moved. The known stale CoreSimulator warning remains non-blocking; a transient FinderInfo attribute on the built `.app` was cleared before the successful verification rerun.

## 2026-07-11 - TASK-033 - Custom About window and v0.2.1 release

- What changed: Replaced the sparse system About panel with a centered singleton SwiftUI window modeled on the user's SubPulse and LanScope patterns. It shows the transparent CleanMac artwork, live bundle version/build, localized tagline, developer and MIT license metadata, GitHub/Releases/License links, and a close action. RU/EN and light/dark changes update an already-open window. The final user-directed simplification removes the Data and Cleanup rows and reduces the fixed height. The app version is now 0.2.1 build 3.
- Files touched: `CleanMac/CleanMacApp.swift`, `CleanMac/Views/AboutView.swift`, `CleanMac/en.lproj/Localizable.strings`, `CleanMac/ru.lproj/Localizable.strings`, `CleanMac.xcodeproj/project.pbxproj`, `project-analysis.md`, `roadmap.md`, `contract.md`, `progress.md`, `trace.md`, `verification.md`.
- Checks run: localization plist lint and RU/EN key parity; `git diff --check`; `swift test --package-path CleanMacCore` (15/15); repeated `./script/build_and_run.sh --verify`; live Russian/light and English/dark accessibility plus visual review; repeated About invocation followed by Window-menu singleton inspection; screenshot `/tmp/cleanmac-task33-about-ru-light.jpg`; `./script/package_release.sh`; SHA-256 comparison; fresh-ZIP strict codesign, version/build, entitlement, and arm64 inspection; independent diff review; protected PR #6 CI; tag-driven Release run 29151074758; downloaded GitHub asset verification.
- Result: Passed. PR #6 is merged, `v0.2.1` is the latest GitHub Release, the downloaded `CleanMac-a5c853e-unsigned.zip` hash is `3dcdfdf49bfaca63bdda83a3bad2940896ea1e31e0df7f1d956ebc08a66b0501`, and its extracted app reports version 0.2.1 (3), arm64, with a valid strict ad-hoc signature.
- Next step: Configure Developer ID signing/notarization when Apple credentials become available, or continue with persistent cleanup history.
- Bottleneck: no Developer ID certificate or notarization credentials are configured, so the public archive remains ad-hoc signed and not notarized.
- Handoff: GitHub release notes are in English and explicitly disclose the distribution limitation. CleanMac was left in the user's Russian/light preferences, and no cleanup or application-removal action was triggered during About verification.
2 changes: 1 addition & 1 deletion project-analysis.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ CleanMac is a macOS menu bar and windowed system cleanup utility. The project wa
- The menu bar popover shows current disk usage, scan-in-progress state, last scan source/time, and last scan result summary with larger readable typography and rounded compact panels.
- Settings can enable read-only auto scan while the app is running; it supports daily, hourly, and every-two-hours frequencies, uses the currently selected scan areas, and updates menu bar status.
- Scheduled auto scan can show localized macOS completion notifications when the notification toggle is enabled and system permission allows it; Settings includes a test notification button to diagnose macOS permission/delivery state. Manual scans remain silent.
- Public GitHub Release `v0.2.0` is the latest release and includes unsigned zip and sha256 assets.
- Public GitHub Release `v0.2.1` is the latest release and includes the verified arm64 ad-hoc zip and sha256 assets.
- Release packaging creates a clean unsigned/ad-hoc local zip plus sha256, strips Finder/resource-fork metadata before archiving, strictly verifies a fresh ZIP extraction, and can optionally sign with Developer ID, enable hardened runtime, submit to Apple notary service, staple, and re-zip when credentials are configured.

## Unfinished Or Risky Parts
Expand Down
2 changes: 1 addition & 1 deletion roadmap.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Roadmap

- [ ] ID: TASK-033
- [x] ID: TASK-033
Title: Custom About window and v0.2.1 release
Goal: Replace the default About panel with a polished localized CleanMac window, then publish the verified v0.2.1 build.
What to do: Add a singleton SwiftUI About scene, live bundle version/build data, project links, RU/EN copy, theme support, and complete the protected PR/release flow.
Expand Down