storeapi: handle 5xx error codes for all store endpoints
Metadata
Current evaluation
Merged robust 5xx error handling across all store API endpoints. Fixes Launchpad bug #1768370 by generalizing release-specific error handling. Approved by two reviewers and passed CI checks.
Suggested action: —
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh unit`?
-----
Currently, the snapcraft CLI handles a 500 response when releasing a snap. This PR fixes [LP: #1768370](https://bugs.launchpad.net/snapcraft/+bug/1768370) by making this more robust, and nicely handling 5xx codes for all endpoints.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged robust 5xx error handling across all store API endpoints. Fixes Launchpad bug #1768370 by generalizing release-specific error handling. Approved by two reviewers and passed CI checks. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged changes extending 5xx error handling from the release endpoint to all store API endpoints, resolving LP: #1768370 and improving API error robustness. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged changes implement robust 5xx error handling across all store API endpoints, resolving Launchpad bug #1768370. The update extends server error management beyond snap releases to ensure consistent behavior throughout the store interface. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1936 storeapi: handle errors even for >400 responses | snapcraft | merged | Merged PR resolves Launchpad bug #1736963 by fixing storeapi error handling for HTTP responses over 400. Bypasses the requests library __bool__ quirk to ensure proper error messages display for failed API calls. Approved and passed CI. | |
| #2094 storeapi: better handle network errors and retries | snapcraft | merged | Resolves Launchpad bug #1765671 by improving storeapi network error handling. Sets urllib log level to ERROR and properly manages max retry failures, eliminating verbose warnings and tracebacks. Approved and merged after passing CI. | |
| #2059 storeapi: handle 500 error response when releasing snap | snapcraft | merged | Merged fix that properly handles 500 HTML error responses from the store during snap release. Adds debug logging for store errors to streamline future troubleshooting. Approved by reviewer and passed CI checks. | |
| #3667 storeapi: fix typo | snapcraft | merged | Merged a single-line typo correction in the storeapi module. Approved by a reviewer, passed CI, and increased test coverage by 0.07%. | |
| #3550 storeapi: log responses and registration error code | snapcraft | merged | Merged. Adds debug logging for store API responses and improves registration error code output. The minimal change (+16/-5 lines, 4 files) passed CI, achieved 100% coverage, and was approved for backporting. | |
| #3562 storeapi: improve candid interaction errors (CRAFT-135) | snapcraft | merged | Merged into master after reviewer approval and passing CI. Introduces distinct error classes and messages for token handling in the store API to improve Candid interaction error reporting. | |
| #2749 storeapi: add StoreErrorList to handle store errors | snapcraft | merged | Added StoreErrorList class to centralize store error handling. Updated StorePushError to correctly parse resource-not-found and resource-forbidden responses, displaying clear user messages. Merged after reviewer approval, changing six files (+106/-42). | |
| #3124 storeapi: update api and error messages from push to upload | snapcraft | merged | Merged updates to the storeapi module replacing push terminology with upload in API calls and error messages. Approved by one reviewer, modifying 10 files with 126 additions and 146 deletions. |