[GH-ISSUE #6296] [BWA-215] Android WebView (Ionic) — Bitwarden autofills username into password field #28308

Closed
opened 2026-04-18 12:22:16 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @swathi551 on GitHub (Dec 26, 2025).
Original GitHub issue: https://github.com/bitwarden/android/issues/6296

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

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 (Dec 26, 2025). Original GitHub issue: https://github.com/bitwarden/android/issues/6296 ### 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 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:authenticatorbug labels 2026-04-18 12:22:16 -05:00
Author
Owner

@bitwarden-bot commented on GitHub (Dec 26, 2025):

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

<!-- gh-comment-id:3693218945 --> @bitwarden-bot commented on GitHub (Dec 26, 2025): Thank you for your report! We've added this to our internal board for review. ID: [BWA-215](https://bitwarden.atlassian.net/browse/BWA-215) [BWA-215]: https://bitwarden.atlassian.net/browse/BWA-215?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
Author
Owner

@pamperer562580892423 commented on GitHub (Dec 26, 2025):

Another user here.

Problem: the BW authenticator app is not even able to autofill.

<!-- gh-comment-id:3693228132 --> @pamperer562580892423 commented on GitHub (Dec 26, 2025): Another user here. Problem: the [BW authenticator app](https://bitwarden.com/products/authenticator/) is not even able to autofill.
Author
Owner

@rmcdowell-bitwarden commented on GitHub (Dec 29, 2025):

Hi there!

We appreciate you letting us know of this issue. Due to the nature of autofill issues, we track them 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

In this case, we will go ahead and file an autofill report for you with the information you added here.

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:3695200737 --> @rmcdowell-bitwarden commented on GitHub (Dec 29, 2025): Hi there! We appreciate you letting us know of this issue. Due to the nature of autofill issues, we track them 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 In this case, we will go ahead and file an autofill report for you with the information you added here. 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!
Author
Owner

@swathi551 commented on GitHub (Dec 30, 2025):

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

<!-- gh-comment-id:3698665001 --> @swathi551 commented on GitHub (Dec 30, 2025): I have raised a ticket using the following URL, but I didn't get any tracking link or any response. Can you please forward this ticket to concerned team. mobile: https://docs.google.com/forms/d/e/1FAIpQLScMopHyN7KGJs8hW562VTzbIGL4KcFnx0wJcsW0GYE1BnPiGA/viewform
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#28308