[PM-42349] fix: use fixed-length password mask - #7293
Conversation
|
Thank you for your contribution! We've added this to our internal tracking system for review. Details on our contribution process can be found here: https://contributing.bitwarden.com/contributing/pull-requests/community-pr-process. |
11b8ee8 to
839a7ad
Compare
|
Hi @488315 It's harmless right now since all three opted-in call sites pass Repro (drop into Keying the state off the displayed value fixes it, and the existing tests still pass:
Could you double check this one? Thanks for the submission 👍 |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #7293 +/- ##
===========================================
- Coverage 86.35% 43.82% -42.53%
===========================================
Files 893 896 +3
Lines 65488 64454 -1034
Branches 9861 9790 -71
===========================================
- Hits 56550 28247 -28303
- Misses 5464 34224 +28760
+ Partials 3474 1983 -1491
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Thanks for catching that. I double checked it and you were right. I reproduced it with the regression test you sent first, and it failed with the mask being emitted on the initial tap. I updated I also reran the focused Appreciate you pointing this one out. |
Tracking
Fixes #7290 (PM-42337)
Objective
Use a fixed eight-character mask for hidden login passwords and custom hidden fields so their displayed mask no longer reveals the underlying value length.
The shared password component keeps its existing length-based behavior by default. Only the affected login-password and custom-hidden-field call sites opt into the fixed-length mask, so existing behavior for card numbers, security codes, bank fields, identity fields, SSH keys, and other masked values is unchanged.
Regression coverage verifies:
Validation:
./gradlew.bat :ui:testDebugUnitTest./gradlew.bat :ui:lintDebug./gradlew.bat detekt -Pprecommit=true --rerun-tasksgit diff --checkAll completed checks passed with JDK 21.
Screenshots
N/A. There is no layout or styling change; affected hidden login/custom values consistently render eight mask characters.