[GH-ISSUE #6321] [PM-30441] Android WebView (Ionic) — Bitwarden autofills username into password field #8453

Closed
opened 2026-04-11 01:46:02 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @swathi551 on GitHub (Jan 5, 2026).
Original GitHub issue: https://github.com/bitwarden/android/issues/6321

Steps To Reproduce

  1. Open our Android Ionic app (Angular + Ionic, Capacitor WebView).
  2. Navigate to the Login screen containing two ion-input fields (username + password).
  3. Ensure Bitwarden is set as the device’s Autofill service (Settings → Passwords/passkeys & autofill → Bitwarden) and Chrome/Brave integration enabled (if applicable).
  4. Tap the Username field, select the relevant login from Bitwarden suggestions (or trigger autofill popup).
  5. Tap the Password field (or proceed to autofill credentials).
  6. Observe the filled values and attempt sign‑in.

Expected Result

Bitwarden autofill should place:

username → username input
password → password input

Sign‑in should succeed with the stored credentials.

Actual Result

Android only: Bitwarden autofill places the username value into the password field (the password field receives the username string).

Attempting sign‑in fails with “username/password incorrect”.

Screenshots or Videos

No response

Additional Context

I have raised a ticket using the following URL, but I didn't get any tracking link or any response.
mobile: https://docs.google.com/forms/d/e/1FAIpQLScMopHyN7KGJs8hW562VTzbIGL4KcFnx0wJcsW0GYE1BnPiGA/viewform

Current markup:

<ion-input
type="text"
class="fs-exclude"
formControlName="username"
enterkeyhint="next"
mode="md"
#username
(keyup.enter)="setFocus(password)"
inputmode="text"
data-cy="login-username"
data-test="login-username-input">

<ion-input
type="password"
formControlName="password"
mode="md"
enterkeyhint="Go"
#password
inputmode="password"
data-cy="login-password"
data-test="login-password-input">

We also tried with:
[attr.autocomplete]="'username'|'current-password'", [attr.name]="'username'|'password'", [attr.id]="'username'|'password'"
The mis‑fill persists on Android.

What We Already Tried

Ensured autocomplete="username" and autocomplete="current-password" (via [attr.*] so attributes reach the native input inside ion-input’s Shadow DOM).
Ensured distinct name/id for both fields.
Removed reactive‑form (change) handlers that could overwrite autofill results.
Added hidden native anchors inside the same

:
HTMLShow more lines

Verified Bitwarden Autofill settings (Autofill service ON, Chrome/Brave integration ON).
Tested across multiple Android versions/browsers (Chrome/WebView 139–141+, Brave).
Confirmed iOS works (WKWebView + Password AutoFill correctly maps fields).

Build Version

2025.12.0

What server are you connecting to?

US

Self-host Server Version

No response

Environment Details

Platform: Android (multiple devices; reproducible on Pixel / Samsung)
OS: Android 13/14/15 (observed across versions)
Browser/WebView: Chrome/WebView up to latest available (issue persists), Brave also affected
Bitwarden App: Latest stable (Password Manager) with Autofill service enabled
Keyboard/IME: Gboard / SwiftKey (problem independent of IME)
App Tech: Ionic + Angular, Capacitor WebView
iOS Status: Works as expected on iOS (Password AutoFill correctly targets fields)

Issue Tracking Info

  • I understand that work is tracked outside of Github. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.
Originally created by @swathi551 on GitHub (Jan 5, 2026). Original GitHub issue: https://github.com/bitwarden/android/issues/6321 ### Steps To Reproduce 1. Open our Android Ionic app (Angular + Ionic, Capacitor WebView). 2. Navigate to the Login screen containing two ion-input fields (username + password). 3. Ensure Bitwarden is set as the device’s Autofill service (Settings → Passwords/passkeys & autofill → Bitwarden) and Chrome/Brave integration enabled (if applicable). 4. Tap the Username field, select the relevant login from Bitwarden suggestions (or trigger autofill popup). 5. Tap the Password field (or proceed to autofill credentials). 6. Observe the filled values and attempt sign‑in. ### Expected Result Bitwarden autofill should place: username → username input password → password input Sign‑in should succeed with the stored credentials. ### Actual Result Android only: Bitwarden autofill places the username value into the password field (the password field receives the username string). Attempting sign‑in fails with “username/password incorrect”. ### Screenshots or Videos _No response_ ### Additional Context I have raised a ticket using the following URL, but I didn't get any tracking link or any response. mobile: https://docs.google.com/forms/d/e/1FAIpQLScMopHyN7KGJs8hW562VTzbIGL4KcFnx0wJcsW0GYE1BnPiGA/viewform Current markup: <!-- Username --> <ion-input type="text" class="fs-exclude" formControlName="username" enterkeyhint="next" mode="md" #username (keyup.enter)="setFocus(password)" inputmode="text" data-cy="login-username" data-test="login-username-input"> </ion-input> <!-- Password --> <ion-input type="password" formControlName="password" mode="md" enterkeyhint="Go" #password inputmode="password" data-cy="login-password" data-test="login-password-input"> </ion-input> We also tried with: [attr.autocomplete]="'username'|'current-password'", [attr.name]="'username'|'password'", [attr.id]="'username'|'password'" The mis‑fill persists on Android. What We Already Tried Ensured autocomplete="username" and autocomplete="current-password" (via [attr.*] so attributes reach the native input inside ion-input’s Shadow DOM). Ensured distinct name/id for both fields. Removed reactive‑form (change) handlers that could overwrite autofill results. Added hidden native anchors inside the same <form>: HTML<input type="text" autocomplete="username" name="username" hidden><input type="password" autocomplete="current-password" name="password" hidden>Show more lines Verified Bitwarden Autofill settings (Autofill service ON, Chrome/Brave integration ON). Tested across multiple Android versions/browsers (Chrome/WebView 139–141+, Brave). Confirmed iOS works (WKWebView + Password AutoFill correctly maps fields). ### Build Version 2025.12.0 ### What server are you connecting to? US ### Self-host Server Version _No response_ ### Environment Details Platform: Android (multiple devices; reproducible on Pixel / Samsung) OS: Android 13/14/15 (observed across versions) Browser/WebView: Chrome/WebView up to latest available (issue persists), Brave also affected Bitwarden App: Latest stable (Password Manager) with Autofill service enabled Keyboard/IME: Gboard / SwiftKey (problem independent of IME) App Tech: Ionic + Angular, Capacitor WebView iOS Status: Works as expected on iOS (Password AutoFill correctly targets fields) ### Issue Tracking Info - [x] I understand that work is tracked outside of Github. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.
GiteaMirror added the app:password-managerbug labels 2026-04-11 01:46:02 -05:00
Author
Owner

@bitwarden-bot commented on GitHub (Jan 5, 2026):

Thank you for your report! We've added this to our internal board for review.
ID: PM-30441

<!-- gh-comment-id:3709647730 --> @bitwarden-bot commented on GitHub (Jan 5, 2026): Thank you for your report! We've added this to our internal board for review. ID: [PM-30441](https://bitwarden.atlassian.net/browse/PM-30441) [PM-30441]: https://bitwarden.atlassian.net/browse/PM-30441?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
Author
Owner

@daniellbw commented on GitHub (Jan 5, 2026):

Hi there!

As you've noted in your issue, we track autofill issues internally using different Forms depending on the platform:

mobile: https://docs.google.com/forms/d/e/1FAIpQLScMopHyN7KGJs8hW562VTzbIGL4KcFnx0wJcsW0GYE1BnPiGA/viewform

browser extension: https://docs.google.com/forms/d/e/1FAIpQLSfkxh1w6vK8fLYwAbAAEVhvhMAJwfFNDtYtPUVk1y5WTHvJmQ/viewform

Since you've already filled in an autofill report, I will just go ahead and close this Github issue.

In the future, if you encounter any other page or app that doesn't autofill as expected, please avoid opening a new GitHub issue and go directly to the corresponding form.

This issue will now be closed.

Thanks!

<!-- gh-comment-id:3709705236 --> @daniellbw commented on GitHub (Jan 5, 2026): Hi there! As you've noted in your issue, we track autofill issues internally using different Forms depending on the platform: mobile: https://docs.google.com/forms/d/e/1FAIpQLScMopHyN7KGJs8hW562VTzbIGL4KcFnx0wJcsW0GYE1BnPiGA/viewform browser extension: https://docs.google.com/forms/d/e/1FAIpQLSfkxh1w6vK8fLYwAbAAEVhvhMAJwfFNDtYtPUVk1y5WTHvJmQ/viewform Since you've already filled in an autofill report, I will just go ahead and close this Github issue. In the future, if you encounter any other page or app that doesn't autofill as expected, please avoid opening a new GitHub issue and go directly to the corresponding form. This issue will now be closed. Thanks!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#8453