KeePassDX
KeePassDX copied to clipboard
Autofill in chromium based browsers
Describe the bug Autofill is still not triggering on chromium-based browsers
To Reproduce Steps to reproduce the behavior:
- Go to a chromium-based browser
- Visit a site (example: Github)
- Attempt to login
- No autofill is triggered
Expected behavior Autofill must be truggered
** Keepass Database **
- Created with: KeepassDX 2.7
- Version: 3
- Location: Phone internal storage
- Size: 4.40kb
- Contains attachment: No
Android (please complete the following information):
- Device: Pixel 3aXL
- Version: 11
Additional context Add any other context about the problem here.
- Browser for Autofill: Chromium 86, Vanadium 86, Bromite 86
Using latest KeepassDX by the way
I really don't understand, version 2.9 has been tested all over the place with Chrome, can you tell me which version of chrome is used?
Do you have Play Services installed? Because otherwise the compatibility mode of the autofill cannot work. Comment from @csagan5 in issue #551
During the testing phases, I was using Chrome beta 86.0.4240.68 with an Android 11 emulator without having any problems. It is possible that a chrome bug combined with SDK 30 prevents the autofill from opening on some versions of Chrome.
Just retested in mi Android 11 emulator with:
Chrome 83.0.4103.106 - Play Store - Github Form : OK (Use autofill compatibility service, recover webDomain issue fixed https://github.com/Kunzisoft/KeePassDX/issues/551#issuecomment-703770140) Chrome beta 86.0.4240.68 - Play Store - Github Form : OK (Use autofill compatibility service, recover webDomain issue fixed https://github.com/Kunzisoft/KeePassDX/issues/551#issuecomment-703770140) Firefox 81.1.1 - Play Store - Github Form : OK (Use native autofill service, issue fixed #725) Fennec 82.1.1 - F-Droid - Github Form : Crash on emulator, OK with real device Android 9 Lightning 5.1.0 - F-Droid - Github Form : OK (Use native autofill service) FOSS Browser 7.2 - F-Droid - Github Form : OK (Use native autofill service)
Bromite 86.0.4240.112 - bromite.org - Github Form : KO, surely prevents the autofill compatibility service from accessing it (linked to Play Services) and does not contain native autofill, to be confirmed by Bromite experts (https://github.com/Kunzisoft/KeePassDX/issues/551#issuecomment-647768275) Vanadium Browser - Too much work just to test, need GrapheneOS installation
Note that the autofill service in compatibility mode can be finicky when it is activated, just try restarting the apps and reselecting the autofill in setting. For browsers that don't accept any autofill service, I can't do miracles.
How about accounts.google.com
?
In most website, autofill was sometimes triggered and sometimes wasn't, but I haven't seen autofill triggered in accounts.google.com
yet.
Pixel3a, Android 11, Chrome 86.0.4240.110 (latest), KeePassDX Pro 2.9, Mostly default settings
Edit:
the autofill service in compatibility mode can be finicky when it is activated
Even if it's fine at first, but sometimes suddenly, it stop working on all websites.
@hokonch If it's only a specific form, it's another issue (so you can open another ticket if you want for that). It depends on the forms recognition algorithm and not to the browser. On some two-screen forms, only the form with the password may work. Even though I managed to display it on the first screen with native autofill in Lightning. It doesn't bother me because I know my email, it only fills in the password.
it's fine at first, but suddenly the autofill doesn't work on all websites.
In this case, the recognition algorithm is working fine, but the service is stopping for some reason. To know which one on your devices is another matter.
Keep in mind that the compatibility service is normally used temporarily while waiting for browser developers to implement native recognition and that this method takes resources, maybe the device is stopping the service for that? (it's a guess, I don't know) https://developer.android.com/reference/android/service/autofill/AutofillService#compatibility-mode
Note that enabling compatibility may degrade performance for the target package and should be used with caution.
Otherwise maybe the workaround for firefox is causing this problem in Chrome? #725 Does it work correctly with KeePassDX 2.8.7 ?
KO, surely prevents the autofill compatibility service from accessing it (linked to Play Services) and does not contain native autofill, to be confirmed by Bromite experts
It is not linked against Play Services (on purpose) and it does not have native autofill (same as Chromium since when they dropped it).
Does it work correctly with KeePassDX 2.8.7?
I have tested KeePassDX 2.8.7 and Keepass2Android v1.08c-r0, and can reproduce the same issue in both of them. My device is Pixel3a, and this issue author uses Pixel 3aXL. Additionally, maybe related issue, PhilippC/keepass2android#1320 author also uses Pixel 3a XL. I don't think it's a coincidence.
Ok so the problem is with the browser or the OS's autofill service.
It is quite possible that the system autofill is modified by the manufacturer to have different behaviors depending on the devices. I was discussing it with another user, this is the case for Samsung for example: the autofill blocking seems to be done on new devices with Samsung browser but works on old ones with the same apps.
From a marketing standpoint, that makes sense too. Google and Samsung are removing the use of autofill for apps to use Google or Samsung accounts instead of a separate app. (See https://github.com/Kunzisoft/KeePassDX/issues/551#issuecomment-627224788)
And concerning the apps which derive from Chrome, there is obviously no more autofill because deleted in the base code. :raccoon:
So unless the developers add native autofill support in the base code of browsers, it will be difficult to manage properly.
I added the known information to the Wiki https://github.com/Kunzisoft/KeePassDX/wiki/AutoFill#web-browser-recognition
Autofill not working, Ungoogled Chromium 84.0.4147.89, Android 9. (Note that https://github.com/bitwarden/mobile/pull/1119 exists so I assume autofill is possible there)
I updated the list, but mostly Bitwarden was updated for the accessibility service. So not sure it changes much. Are you sure it works for you with only autofill (not accessibility) using Bitwarden?
Didn't check. Turns out it's accessibility.
I tested with the browsers installed on my device. (Oneplus 6 A6000 with Android 10)
Opera 60.3.3004.55692 - Play Store - (based on Chromium) auto-fill does not appear.
Oh Browser 7.7.5 - Play Store - auto-fill does not appear. (should not be noted here because it works with the Webkit engine, just to transmit the info)
I performed a comparison test with the Brave browser (Play Store - v.1.14.83 based on Chromium v.85.0.4183.102) at the same time, it correctly displays the autofill of KeePassDX Pro (Play Store - 2.9.2)
Experiencing the same for chromium-based browsers. Autofill works fine for Firefox.
KeepassDX 2.9.2 Chrome 87.0.4280.66 Android: 9.0 Device: Galaxy Note 8
for me it works on the latest chrome but not on kiwi browser. there is a issue open https://github.com/kiwibrowser/src/issues/31
The kiwi applicationId is already referenced for the autofill compatibility service, there is nothing more I can do.
The kiwi applicationId is already referenced for the autofill compatibility service, there is nothing more I can do.
it means they already are supposed to have the API ? what's left for it to work ?
https://developer.android.com/reference/android/service/autofill/AutofillService#compatibility-mode
Autofill is not work on bromite. But it works well in Firefox.
@Github-com-foss https://github.com/Kunzisoft/KeePassDX/issues/769#issuecomment-720411571 Bromite has already been added to the wiki https://github.com/Kunzisoft/KeePassDX/wiki/AutoFill#compatibility-mode
https://bugs.chromium.org/p/chromium/issues/detail?id=1015381 https://bugs.chromium.org/p/chromium/issues/detail?id=1151614 https://bugs.chromium.org/p/chromium/issues/detail?id=1014945
Similar thing for me. Stopped working on default Chrome (96.0.4664.92) and Bromite after (seemed to me) some KeePass updates.
- KeepPassDX 3.0.4 from FDroid,
- Bromite 96.0.4664.54 from Bromite FDroid
- Bromite 96.0.4664.54 from Bromite FDroid
@marcoXbresciani was it working with Bromite v95? This patch was introduced in v96 (assuming that nothing else in vanilla Chromium is also responsible); cc @uazo
- Bromite 96.0.4664.54 from Bromite FDroid
@marcoXbresciani was it working with Bromite v95? This patch was introduced in v96 (assuming that nothing else in vanilla Chromium is also responsible); cc @uazo
I'd say it was working. I'll try to move back to an older Bromite and try.
- Bromite 96.0.4664.54 from Bromite FDroid
@marcoXbresciani was it working with Bromite v95? This patch was introduced in v96 (assuming that nothing else in vanilla Chromium is also responsible); cc @uazo
Confirmed working: just removed latest Bromite and installed 95.0.4638.79. KeePassDX automagically proposed me exactly the GitHub login when landing on this page. It works, on my machine.
@marcoXbresciani please submit a bug so that others can try reproducing the issue
@marcoXbresciani just tried it with keepass 3.0.4 and it works @csagan5 available to find the bug as soon as we are told how to reproduce it