fix(core): improve app:update feedback and error handling - #63100
Draft
joshtrichards wants to merge 1 commit into
Draft
fix(core): improve app:update feedback and error handling#63100joshtrichards wants to merge 1 commit into
app:update feedback and error handling#63100joshtrichards wants to merge 1 commit into
Conversation
Signed-off-by: Josh <josh.t.richards@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Improve
occ app:update's user-facing messages and per-app error handling, without changing its existing option contract.Changes
--all, as well as the legacy behavior where--showonlyor--showcurrentwithout an app ID inspect all apps.Installer::isUpdateAvailable()so one failed check no longer aborts an all-app run; remaining apps continue processing.Known limitation: ordinary app-store fetch failures are still collapsed upstream into an empty result by
AppFetcherand/orfalsebyInstaller. Consequently, this command still cannot distinguish those cases from a genuinely up-to-date app or another valid empty result, such as an administrator-configured app allowlist filtering out all apps. Improving that distinction is out of scope here and can be addressed later as part of anAppFetcher/result-model refactor.Output examples
calendar is up-to-date or no updates could be foundApp "calendar" is already up to date--showcurrentcalendar new version available: 5.3.0 (current version: 5.2.1)App "calendar": 5.2.1 → 5.3.0 availablecalendar new version available: 5.3.0calendar updatedApp "calendar": update available (5.3.0)App "calendar" updated successfullycalendar new version available: 5.3.0Error: Download failedcalendar couldn't be updatedApp "calendar": update available (5.3.0)App "calendar" could not be updated: Download failedApp "calendar" could not be checked for updates: App store unavailableApp "contacts": update available (2.0.0)App "contacts" updated successfullyThe command returns exit code
1when an update check or update operation fails, even if other apps succeed.Compatibility: existing options remain unchanged.
TODO
Checklist
3. to review, feature component)stable32)AI (if applicable)