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"
- 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
Assessment
This issue has not been assessed yet.