Storybooks for commit 0465c7520b452701b02d719e6374b1509b4f5313

Date
5/13/2026, 3:56:39 PM UTC
Summary
fix(settings): surface OAuth client-info fetch failures as discrete errors
Description
Because:

* A failed /v1/oauth/client/:id fetch silently builds a ghost OAuth
  integration: scope sanitisation strips every scope and the flow
  throws errno 109, masking the real cause across ~80k Sentry events
  (FXA-CONTENT-1HYP, 1GTG, related).
* Regression from FXA-12995: the REST replacement for Apollo's
  useQuery dropped the error signal that useIntegration relied on.

This commit:

* Adds clientInfoLoadFailed on GenericIntegration, set when client_id
  was present but clientInfo is undefined.
* Short-circuits OAuthWebIntegration.getPermissions to throw
  SERVICE_UNAVAILABLE (errno 998) when the flag is set; existing
  OAuthDataError handling keeps user-facing behaviour unchanged.
* Captures the fetch error from useClientInfoState under
  area: 'useClientInfoState.fetch'.
* Adds unit coverage for the flag, the early-return, and the Sentry
  capture.

Closes #FXA-13618