fix(recovery): preflight restore items before mutating state
Add validation pass that checks all selected recovery items before any restore operations begin. This prevents partial in-memory restore success when a later item fails. Map helper-backed restore destination conflicts to restore-specific rejection paths instead of falling back to generic execution-unavailable messages. Bump version to 1.0.1 and update CHANGELOG with release notes.
This commit is contained in:
@@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.0.1] - 2026-03-13
|
||||
|
||||
### Added
|
||||
|
||||
- Native macOS app with 7 MVP modules: Overview, Smart Clean, Apps, History, Recovery, Permissions, Settings
|
||||
@@ -22,6 +24,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||||
- Go-based TUI tools inherited from upstream Mole: disk analyzer (`analyze`) and system monitor (`status`)
|
||||
- CI/CD: GitHub Actions for formatting, linting, testing, CodeQL scanning, and release packaging
|
||||
|
||||
### Fixed
|
||||
|
||||
- Recovery restore requests now preflight every selected item before Atlas mutates local recovery state, preventing partial in-memory restore success when a later item fails.
|
||||
- Helper-backed restore destination conflicts now surface restore-specific errors instead of falling back to a generic execution-unavailable message.
|
||||
- Expired recovery items are pruned from persisted state and rejected with explicit restore-expired messaging.
|
||||
- Revalidated the current native release candidate with package tests, app tests, DMG install verification, launch smoke, and native UI automation.
|
||||
|
||||
### Attribution
|
||||
|
||||
- Built in part on the open-source [Mole](https://github.com/tw93/mole) project (MIT) by tw93 and contributors
|
||||
|
||||
Reference in New Issue
Block a user