New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Autofill in chrome (or some chrome based browsers) #551
Comments
This is a problem in Chrome, you should open an issue with the relevant Chrome projects, Edit: A solution was found to integrate the Autofill compatibility mode. #551 (comment) |
Thanks for your response I should have looked at the docs more carefully first. I have to admit it's stupid that Google made the api in android but didn't implement it in their browser. |
Yes, I don't really understand this logic either. If you find the exact answer in your research on Chrome, you can leave a comment, it would be interesting to know the reason! ;) |
I found out that, as expected users of other Autofill apps are complaining about the lack and inconsistency of Autofill in chromium based browsers, see this thread at bitwarden. The Chromium bug reporter has quite a couple of Autofill bugs listed. It seems however that some other password managers can get the Autofill to work in chrome even though it is quite buggy sometimes. See for example this Reddit thread, I'm not sure how Bitwarden and 1Password made this work without using the accessibility plugins. It seems that the Autofill API is not properly working in Chromium-based browsers but that workarounds are possible. As to why it is not implemented correctly in Chromium is unclear, maybe they haven't had the time to fix the problems yet. |
I had read the issue on bitwarden, what intrigues me is this comment: bitwarden/mobile#489 (comment) It indicates that previous versions are working, so I did some research on web. I found this image which comes from androidcentral: Which clearly indicates that there was an option before. But in new versions of Chrome, this has been replaced by menus "Passwords", "Payment methods", "Addresses and more" so the connection information for filling in the form is linked only to a Google account. (Not stupid guys, I'll let you make your own conclusions!) The reddit discussion indicates that Chrome, 78.0.3904.96 and less is working. There may be specific versions of the web browser to test and maybe downgraded. |
I agree with your findings, this is definitely a google thingy, sadly autofill also part of the modern non-google chromium builds I checked through F-Droid. Should I try to get in touch with Bitwarden to see how they circumvent the issue? |
Please note that Bitwarden is able to provide autofill using the (old fashioned0 Accesibility Service only. The (newer) Android Autofill service is not yet functional with e.g. Chrome, Vivaldi and other browsers. They are in this mess as well. To add to this, I just discovered to my great joy that KeePassDX does provide autofill in the DuckDuckGo browser using the (new) Android Autofill Service. System details: |
Yeah I also found Firefox, DuckDuck Browser to work work and Dolfin did sometimes work. |
I am not for the use of the accessibility service, because this service is not made for that. He is present for people with disabilities. If we use this service for something else, it's like we have a ramp for the disabled, and we use it for biking. Sure, it works but people who need this service for something else are blocked. |
I am all in for using accessibility settings to be able to autofill in chromium based browsers because you can use that with more than one app: it is not blocked by one app unlike the autofill service. |
@csagan5 what do you think? Is it possible to enable autofill in bromite until this is fixed upstream? |
After reading this and related issues I understand that only under certain conditions a Chromium derivative will use the Android autofill framework and otherwise it uses Sync. Related Bromite issues: bromite/bromite#230 bromite/bromite#348 The upstream issue to track seems to be https://bugs.chromium.org/p/chromium/issues/detail?id=1015381 I have also verified that Bitwarden works with Chrome through the autofill framework even before Sync is enabled, but I could not reproduce this working behavior with any Chromium (also when it uses I do not know precisely when upstream broke the "Android autofill framework" support but it matches what I have seen in submitted Bromite issue reports over last year or so; we have to wait for upstream to fix it, if they will (last comment from developers was on December 2019, it is outside any PO list and thus it's unlikely it will be fixed soon). I am however interested in why it works for Bitwarden for Chrome without Sync enabled, if any progress can be done on this research then we could leverage it. @J-Jamet I took the liberty to mention the upstream bug in https://github.com/Kunzisoft/KeePassDX/wiki/AutoFill (maybe having more users vote on this bug is a good thing) |
Bitwarden too is having problems with the Autofill service and really only functions through the Accessibility service. |
@Stephan-P I had just tested it without accessibility, it works for Chrome. |
@csagan5 Please indicate the version of Android, the version of Chrome and bitwarden. If Bitwarden works without accessibility, there must be a tip. |
Android 9, Chrome 80.0.3987.149 and 83.0.4103.96, Bitwarden 2.4.2 and the previous version (I guess 2.4.1 or 2.4.0). No account signed-in in Chrome. |
@csagan5 |
It seems to be related to the internal compatibility system of the Chrome application for this version, I will add configurations for each browser, as did Bitwarden. |
Problem with the Autofill-Service I used Keepass2Android (https://github.com/PhilippC/keepass2android) before and there Chrome (Brave) reported the Website URL, but with KeepassDX it only reports "com.brave.browser" and not the URL of the Website. But in the DuckDuckGo Browser (v.5.61.2) it works correctly. Brave version : 1.12.113 |
@KaktusXY Please confirm :
|
@J-Jamet |
I repeat: Accessibility service : https://developer.android.com/reference/android/accessibilityservice/AccessibilityService Autofill service : https://developer.android.com/reference/android/service/autofill/AutofillService Chrome removed its code for autofill. The derivatives therefore no longer have it either. #551 (comment) If your browser is already in the compatibility list (https://github.com/Kunzisoft/KeePassDX/blob/master/app/src/main/res/xml/dataset_service.xml) |
Since @KaktusXY didn't answer, or at least his comment was deleted, I'm gonna answer this one.
Changelog for K2A Version 1.07b: "Add AutoFill support for several more browsers" .Maybe this added Chrome support too. I could test this if you want. Thank you for developing this awesome app btw. ❤️ |
@cloudy-dev OK, Thank you for the feedback. |
Indeed, I just tested and K2A get the WebDomain, I will try to find out how it does! thank you for the info |
OK, honestly I don't know why it works with K2A and not with KPDX. The webDomain is retrieved the same way: https://github.com/PhilippC/keepass2android/blob/555109c2439f0479a84950cca4fc6497623cecf5/src/keepass2android/services/AutofillBase/StructureParser.cs#L259 But on KeePassDX, the value I get is allways null with Chrome.
If anyone knows why, please enlighten me. |
I have no idea why it doesn't work in this app. Autofill in Chrome also works with the Bitwarden Android app, so maybe there are some hints in their codebase. https://www.github.com/bitwarden/mobile/tree/master/src%2FAndroid%2FAutofill |
OK, I found the reason. In KeePassDX the code is optimized to parse only the wanted content of a form and is stopped when the desired values are retrieved. But on some browsers in compatibility mode (the new Chrome app), the recovery of the WebDomain is done at the end of the content, so here was not parsed. Note: This will make it easier to complete the forms by activating the auto search, but it will still not be possible to save new elements with the applications in compatibility mode. |
Hurray! This was one of the last points where KeePass2Android was still ahead. |
This is so awesome, thanks so much for your work! <3 |
Why close this issue? The issue was not fixed at all. Autofill is still not triggering on chromium-based browsers. |
I have tested many times and I no longer have problems on all my devices. Are you sure you are on version 2.9? |
I added the known information to the Wiki https://github.com/Kunzisoft/KeePassDX/wiki/AutoFill#web-browser-recognition |
Bromite will now have native Android autofill support starting from version |
Describe the bug
My chrome browser does not seem to find any autofill fields whereas firefox (focus and preview) browser does for the same website.
To Reproduce
Steps to reproduce the behaviour:
Expected behaviour
I expected that Autofill would work on (all) mainstream browsers.
** Keepass Database **
KeePassDX (please complete the following information):
Android (please complete the following information):
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: