fix(auth): stop dropping the user identifier from localized sign-in labels - #2501
Open
demolaf wants to merge 50 commits into
Open
fix(auth): stop dropping the user identifier from localized sign-in labels#2501demolaf wants to merge 50 commits into
demolaf wants to merge 50 commits into
Conversation
…tion that owns it (#2454) * refactor(auth): let the phone screen own its verification loading state * fix(auth): read auth state per authUI instance when clearing loading on dispose
…lot (#2452) * feat(auth): reshape reauthContent into a ReauthContentState content slot * fix(auth): address reauth review findings and retain state across recreation * refactor(auth): make reauthentication a request-scoped state machine * fix(auth): keep a proved reauthentication alive when its operation signs out * fix(auth): tear down phone verification when a reauthentication attempt fails * test(auth): cover sign-out-during-retry and phone reauth failure end to end * test(auth): drop the flaky phone reauth e2e case
…lment (#2462) * test(auth): pin onComplete and factor refresh on successful MFA enrollment * test(auth): pin the SMS MFA enrollment route through send, verify and resend * test(auth): pin the missing TOTP secret guard and the resend's clean enroll
…slot's sheet chrome (#2476) * test(auth): cover the three recoveries that write a value through to the step they move to * test(auth): assert a custom reauth slot's email and phone steps stay inside the library sheet
…and a screen-scoped phase holder
… FirebaseAuthUI singleton
… a stale composition value
… of returning quietly
…ad of calling it arming
…tead of the shared state flow
Contributor
There was a problem hiding this comment.
Code Review
This pull request configures and integrates Android Lint checks across modules, introducing a repo-wide lintAll task, updating the CI build script, and documenting the linting policy. It also includes various bug fixes and optimizations, such as optimizing QR code generation to reduce JNI crossings, refining coroutine cancellation in AuthFlowController, updating localized strings with proper placeholders, and adding nullability annotations in the paging source. Feedback suggests explicitly validating the non-null Query parameter in DatabasePagingSource using Objects.requireNonNull to prevent potential null pointer exceptions.
demolaf
force-pushed
the
fix/localized-signed-in-as-identifier
branch
from
September 9, 2026 13:14
8460e8e to
fff04f7
Compare
demolaf
force-pushed
the
ci/run-android-lint-in-the-build
branch
2 times, most recently
from
September 9, 2026 13:35
64ce7cf to
4f2b154
Compare
demolaf
force-pushed
the
fix/localized-signed-in-as-identifier
branch
2 times, most recently
from
September 9, 2026 13:42
c667639 to
50f0fdd
Compare
demolaf
marked this pull request as draft
September 9, 2026 14:31
…on it (#2498) Co-authored-by: Ademola Fadumo <ademola.fadumo@invertase.io>
demolaf
marked this pull request as ready for review
September 10, 2026 07:14
demolaf
force-pushed
the
fix/localized-signed-in-as-identifier
branch
from
September 10, 2026 07:47
50f0fdd to
362283d
Compare
demolaf
changed the base branch from
ci/run-android-lint-in-the-build
to
version-10.0.0-beta05
September 10, 2026 07:47
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
55 locales declared
fui_signed_in_aswithout the%1$sthat the base string andDefaultAuthUIStringProviderboth expect, so the user identifier was silently dropped and those users saw a bare "Signed in as" with nobody named. Every locale now carries the argument, positioned where that language puts it rather than simply appended.The rest of the change clears the localization lint findings that needed no translator, taking
auth/lint-baseline.xmlfrom 168 entries to 43. Literal...becomes an ellipsis character in the base strings, which the locale files already used; one of those strings also carried a format specifier, and that pairing is what crashedTypographyDetectoron lint's first run here, so fixing the text removes the trigger rather than baselining around it. The Romance locales that require a CLDRmanyplural get one, derived from each file's ownothertext. The 14AuthExceptionmessages that ship empty are markedtranslatable="false", because they are override hooks that fall back to the Firebase SDK message and so have no source text to translate.PluralsCandidateis suppressed withtools:ignoreon the four declarations that trigger it rather than disabled for the module, sinceminimumPasswordLengthis an unboundedIntand "at least 1 characters long" is reachable, so the check still needs to guard every other string.AppBundleLocaleChangesis suppressed at the one construct it describes, because the bundle configuration and any Play Core dependency belong to the app that embeds this library.What stays baselined is 43
MissingTranslationfindings, real UI copy that the Compose rewrite added and never sent for translation across 50 languages. No repo-side edit clears those, so the baseline can only be deleted once translations land.Maintainer note: Fixes internal CPRN-432