firebase / firebase/FirebaseUI-Android

[Auth-UI][v10.0.0-[beta05] SMS quota rejection maps to NetworkException, phone auth shows "check your internet connection" instead of "used too many times"

Open
#2,513 2 comments 0 reactions 1 assignee Claimed by @demolaf View on GitHub
auth reproduced type: bug
Dominant language
Kotlin
Stars
4.8k
Forks
1.9k
Avg merge
2d 9h
Merged PRs (30d)
42

Description

## Steps to reproduce

1. Request SMS verification repeatedly for one phone number until Firebase rejects it for quota.
2. Enter that number and tap send.

## Observed results:
「認証エラー / ネットワーク エラー。インターネット接続を確認してください。」 ( mean Please check your internet connection)
a network error, on a device with working connectivity. FirebaseUI iOS shows the correct 「この電話番号は何度も使用されています」(mean This phone number has been used too many times) for the same account state.

## Expected results:
`TooManyRequestsException`, whose dialog message resolves to `fui_error_too_many_attempts ` This is a string the library already ships translated in ja/ko/zh-rTW ("This phone number has been used too many times"). The correct copy exists and is simply unreachable.

## Root cause:
Firebase reports SMS-quota rejection as `FirebaseTooManyRequestsException`, which extends `FirebaseException` not`FirebaseAuthException`.
`AuthException.from` only checks the `ERROR_TOO_MANY_REQUESTS` error code inside the is `FirebaseAuthException` branch, so the quota exception falls through to the catch-all is `FirebaseException -> NetworkException. ErrorRecoveryDialog` then renders `fui_no_internet`.

Is this possible to add `FirebaseTooManyRequestsException -> TooManyRequestsException(...)` before the is FirebaseException branch to fix this issue ?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.