https://sonarly.com/issue/5372?type=bug
The `isServiceNotEnabledError()` method in v1.18.1 only matches Gmail API errors containing "service not enabled" but not the "Precondition check failed." variant, causing the Google account connection flow to fail entirely for users whose Google Workspace has Gmail disabled.
Fix: **Simplified `isServiceNotEnabledError` to match on `reason` field only, removing fragile message substring matching.**
The root cause was that the `isServiceNotEnabledError()` method relied on substring matching against Google API error messages (`"service not enabled"`, `"precondition check failed"`). This is fragile — Google can return different message variants for the same condition.
The previous fix (commit `e7f958c9cf`, not yet deployed) added a second substring check for `"precondition check failed"`. This change goes further by removing ALL message substring checks and relying solely on `firstError.reason === 'failedPrecondition'`, which is the structured/stable field in the Google API error response.
This handles:
- `"Mail service not enabled"` (original case)
- `"Precondition check failed."` (the Sentry error case)
- Any future `failedPrecondition` message variants
The existing test suite validates all three scenarios pass correctly.