Google API errors as typed findings, never raw JSON: cli/lib/google-errors.ts parses SERVICE_DISABLED (api-disabled: service, Cloud project, console page), PERMISSION_DENIED (no-app-access: which app, Users and permissions), 401 / invalid_grant (auth-revoked) and 429 (quota); health / analytics print one line with the URL, raw text in detail and the log; desktop Health tab: the line, 'Turn it on in Google Cloud' and 'Check again', raw text in a collapsed Details; Portfolio shows a Cloud project blocking several apps once. Findings exit codes are results: the sidecar reports outcome (ok / findings / declined / failed) and the command's own error line; scan / check / validate / health exit 1 with findings show and cache the findings; no bare 'Exit code N' anywhere. tests/google-errors.test.ts, boot check errors cases (api-disabled, scan-findings, scan-failed) (pitfall 57)
This commit is contained in:
parent
f69c10d3a0
commit
89256f1e80
28 changed files with 666 additions and 47 deletions
|
|
@ -660,3 +660,14 @@ that fails without the fix (see CONTRIBUTING.md).
|
|||
- **Guard:** `playPublicPage` (`cli/lib/play-public.ts`), `playReleases` / `versionKey` / `sameVersion`
|
||||
(`cli/lib/portfolio.ts`), `versionHistory` (`cli/lib/train.ts`), `tests/play-public-version-match.test.ts`, the
|
||||
desktop boot check's `release-state` cases (page 404 and 200).
|
||||
|
||||
## 57. A raw Google JSON error in the window, and "Exit code 1" for a scan that found problems
|
||||
- **Do:** never show an API error body to the owner. Parse Google errors into a typed finding (`parseGoogleError`):
|
||||
SERVICE_DISABLED = the API is off in the service account's Cloud project (say which API and project, link the
|
||||
console page to turn it on), PERMISSION_DENIED = the service account has no access to that app (Play Console > Users
|
||||
and permissions), 401 / invalid_grant = the key is revoked or expired, 429 / RESOURCE_EXHAUSTED = quota. One project
|
||||
that blocks several apps is one notice, not one error per app. Keep the raw text in a collapsed Details and the log.
|
||||
Exit 1 of `scan` / `check` / `validate` / `health` with the JSON result printed means "found problems": show the
|
||||
findings; a real failure shows the command's own error line, never a bare exit code.
|
||||
- **Guard:** `cli/lib/google-errors.ts`, `outcomeOf` / `errorLine` (`cli/lib/desktop-protocol.ts`),
|
||||
`tests/google-errors.test.ts`, the desktop boot check's `errors` cases (api-disabled, scan-findings, scan-failed).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue