Android: Auto fill dialog only shows entries with standard match detection #322

Closed
opened 2025-11-07 08:35:18 -06:00 by GiteaMirror · 16 comments
Owner

Originally created by @quthla on GitHub (Jan 4, 2019).

Entries with other match detection not shown. No issues with same entries on either iOS or browser.

Originally created by @quthla on GitHub (Jan 4, 2019). <!-- Please do not submit feature requests. The [Community Forums][1] has a section for submitting, voting for, and discussing product feature requests. [1]: https://community.bitwarden.com --> Entries with other match detection not shown. No issues with same entries on either iOS or browser.
Author
Owner

@kspearrin commented on GitHub (Jan 4, 2019):

Not enough information. Please explain the issue further.

@kspearrin commented on GitHub (Jan 4, 2019): Not enough information. Please explain the issue further.
Author
Owner

@quthla commented on GitHub (Jan 4, 2019):

Example

Url xyz.com/test

Add 2 entries. One with regular match detection, one with url starts with match detection. Navigate to xyz.com/test, it will only show the first entry

I'm using Chrome on Android in case that matters

@quthla commented on GitHub (Jan 4, 2019): Example Url xyz.com/test Add 2 entries. One with regular match detection, one with url starts with match detection. Navigate to xyz.com/test, it will only show the first entry I'm using Chrome on Android in case that matters
Author
Owner

@kspearrin commented on GitHub (Jan 5, 2019):

Which autofill service are you using? Accessibility or Oreo/Pie autofill?

@kspearrin commented on GitHub (Jan 5, 2019): Which autofill service are you using? Accessibility or Oreo/Pie autofill?
Author
Owner

@quthla commented on GitHub (Jan 6, 2019):

Pie autofill

@quthla commented on GitHub (Jan 6, 2019): Pie autofill
Author
Owner

@djboge commented on GitHub (Jun 13, 2019):

I'm pretty sure I have this issue as well.

I have a bunch of logins for various subdomains of ".state.xx.us" i.e. mail or apps or payroll, etc. I have them all set to "begins with" match detection, because they all have separate logins.

When I visit any of them on Android Chrome, it says "no logins" if I tap the little box that comes up next to the login fields. If I tap out of that and go to the notification, it will show the login there.

@djboge commented on GitHub (Jun 13, 2019): I'm pretty sure I have this issue as well. I have a bunch of logins for various subdomains of ".state.xx.us" i.e. mail or apps or payroll, etc. I have them all set to "begins with" match detection, because they all have separate logins. When I visit any of them on Android Chrome, it says "no logins" if I tap the little box that comes up next to the login fields. If I tap out of that and go to the notification, it will show the login there.
Author
Owner

@cognition9144 commented on GitHub (Jul 9, 2019):

Setting match detection to Host also still has the same effect as Base Domain.

E.g. A Login entry with URI www.example.com matches website abc.example.com

@cognition9144 commented on GitHub (Jul 9, 2019): Setting match detection to Host also still has the same effect as Base Domain. E.g. A Login entry with URI `www.example.com` matches website `abc.example.com`
Author
Owner

@Loakii commented on GitHub (Jul 9, 2019):

I have the same issue with Pie autofill.

Bitwarden version: 2.1.0 (8 Jul 2019) (beta)
Google Chrome version: 75.0.3770.101

For example: I have a password stored for https://example.com:8443 with start with detection. Bitwarden would fail to give an option to autofill the information as shown below. Tapping "Go to my vault" shows the message "There are no items in your vault for ***".

2019-07-09 16 23 33

If I set the detection to base domain the autofill option works as shown below.

2019-07-09 16 24 06

@Loakii commented on GitHub (Jul 9, 2019): I have the same issue with Pie autofill. Bitwarden version: 2.1.0 (8 Jul 2019) (beta) Google Chrome version: 75.0.3770.101 For example: I have a password stored for https://example.com:8443 with **start with** detection. Bitwarden would fail to give an option to autofill the information as shown below. Tapping "Go to my vault" shows the message "There are no items in your vault for ***". ![2019-07-09 16 23 33](https://user-images.githubusercontent.com/47106497/60896539-d119be80-a266-11e9-90a2-377d3f064bc8.jpg) If I set the detection to **base domain** the autofill option works as shown below. ![2019-07-09 16 24 06](https://user-images.githubusercontent.com/47106497/60896617-f1497d80-a266-11e9-8342-bfc1fb9dd719.jpg)
Author
Owner

@kspearrin commented on GitHub (Jul 11, 2019):

The reason this happens is that the autofill APIs were only returning the "WebDomain" property of the page, which is just "domain.com" and does not include the scheme (http vs https). Therefore, when no scheme is present, we assume http://. If your "starts with" match detection is on a URI such as https://domain (s), then we do not have a match.

However, in Android Pie (API 28), they added an additional property to get the scheme as well (called WebScheme). We can now accurately detect the scheme of the page. I have added a fix. You can test the latest dev build with this fix here if you like: https://ci.appveyor.com/project/bitwarden/mobile/build/job/4ai23fw0a3frhsrm/artifacts

Devices on < Pie (28) will still default to http:// scheme and match detection against https:// stored URIs will not work.

@kspearrin commented on GitHub (Jul 11, 2019): The reason this happens is that the autofill APIs were only returning the "WebDomain" property of the page, which is just "domain.com" and does not include the scheme (http vs https). Therefore, when no scheme is present, we assume `http://`. If your "starts with" match detection is on a URI such as http**s**://domain (s), then we do not have a match. However, in Android Pie (API 28), they added an additional property to get the scheme as well (called WebScheme). We can now accurately detect the scheme of the page. I have added a fix. You can test the latest dev build with this fix here if you like: https://ci.appveyor.com/project/bitwarden/mobile/build/job/4ai23fw0a3frhsrm/artifacts Devices on < Pie (28) will still default to `http://` scheme and match detection against https:// stored URIs will not work.
Author
Owner

@kspearrin commented on GitHub (Jul 11, 2019):

Fix is also going out to play store beta, build 2019.

@kspearrin commented on GitHub (Jul 11, 2019): Fix is also going out to play store beta, build 2019.
Author
Owner

@Loakii commented on GitHub (Jul 11, 2019):

I'm either doing something wrong or it's still not working on the dev build.

URI is saved with https://

Current version: 2.1.0 (2020)

@Loakii commented on GitHub (Jul 11, 2019): I'm either doing something wrong or it's still not working on the dev build. URI is saved with https:// Current version: 2.1.0 (2020)
Author
Owner

@kspearrin commented on GitHub (Jul 11, 2019):

@Loakii Are you using Android P? I was able to reproduce the issue before, but seems to work in my tests now.

  1. URI: starts with "https://gith"
  2. Visit github sign in page
  3. Login is properly shown
@kspearrin commented on GitHub (Jul 11, 2019): @Loakii Are you using Android P? I was able to reproduce the issue before, but seems to work in my tests now. 1. URI: starts with "https://gith" 2. Visit github sign in page 3. Login is properly shown
Author
Owner

@Loakii commented on GitHub (Jul 11, 2019):

@kspearrin Ah yes! I guess it's the ports at the end that screw it up in my case.
I assume there's no way of making that work for now?

I have one domain with multiple webapps running on different ports and they all use different credentials.

@Loakii commented on GitHub (Jul 11, 2019): @kspearrin Ah yes! I guess it's the ports at the end that screw it up in my case. I assume there's no way of making that work for now? I have one domain with multiple webapps running on different ports and they all use different credentials.
Author
Owner

@kspearrin commented on GitHub (Jul 11, 2019):

Unfortunately, I do not think that android autofill APIs will give me the ports. Only the domain and scheme.

@kspearrin commented on GitHub (Jul 11, 2019): Unfortunately, I do not think that android autofill APIs will give me the ports. Only the domain and scheme.
Author
Owner

@Loakii commented on GitHub (Jul 11, 2019):

I can work with base domains it's not a problem at all.
My purpose of using it was to add an extra filter.

The start with works correctly on pie with partial domains now. Cheers!

@Loakii commented on GitHub (Jul 11, 2019): I can work with base domains it's not a problem at all. My purpose of using it was to add an extra filter. The start with works correctly on pie with partial domains now. Cheers!
Author
Owner

@jeffgoh commented on GitHub (Mar 20, 2020):

Not sure how to make this work, but even when I set default to match by host rather than domain, the default for Android auto fill remains match by domain. Is this an Android Api problem? Or something @kspearrin can fix?

@jeffgoh commented on GitHub (Mar 20, 2020): Not sure how to make this work, but even when I set default to match by host rather than domain, the default for Android auto fill remains match by domain. Is this an Android Api problem? Or something @kspearrin can fix?
Author
Owner

@jffernandez commented on GitHub (Apr 11, 2020):

Hi, sorry for comenting in a closed issue, but, I have same problem as @jeffgoh a couple of days ago. The filter for entries does not take in account the default match type from the settings and is filtering allways by domain.
I think that it's caused because the setting is not applyed on filter.
Here is readed:
b2abcda111/src/Core/Services/CipherService.cs (L319-L323)
But a few lines after, is ignored:
b2abcda111/src/Core/Services/CipherService.cs (L345-L349)

I submitted a PR with the modification I made and is working for me on the Android emulator: https://github.com/bitwarden/mobile/pull/830

@jffernandez commented on GitHub (Apr 11, 2020): Hi, sorry for comenting in a closed issue, but, I have same problem as @jeffgoh a couple of days ago. The filter for entries does not take in account the default match type from the settings and is filtering allways by domain. I think that it's caused because the setting is not applyed on filter. Here is readed: https://github.com/bitwarden/mobile/blob/b2abcda1117044ce6b7a30fc652bb3781b924ee9/src/Core/Services/CipherService.cs#L319-L323 But a few lines after, is ignored: https://github.com/bitwarden/mobile/blob/b2abcda1117044ce6b7a30fc652bb3781b924ee9/src/Core/Services/CipherService.cs#L345-L349 I submitted a PR with the modification I made and is working for me on the Android emulator: https://github.com/bitwarden/mobile/pull/830
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#322