Force LTR text direction for passwords and TOTP codes #6309
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.

🎟️ Tracking
PM-20026
Relates to #4753
📔 Objective
Fixes text direction and alignment issues for passwords and TOTP verification codes in RTL (right-to-left) locales such as Persian and Hebrew.
When the system locale is set to an RTL language, passwords and TOTP codes were displaying incorrectly—reading right-to-left instead of left-to-right, and aligning to the wrong side of the field.
This PR introduces a reusable
TextStyle.withForcedLtr()extension that forces left-to-right text direction while maintaining locale-aware alignment, ensuring alphanumeric credentials display correctly across all locales.Based on work started by @codokie in #5012
📸 Screenshots
Coming soon!
⏰ Reminders before review
🦮 Reviewer guidelines
:+1:) or similar for great changes:memo:) or ℹ️ (:information_source:) for notes or general info:question:) for questions:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion:art:) for suggestions / improvements:x:) or:warning:) for more significant problems or concerns needing attention:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt:pick:) for minor or nitpick changes