KeePassDX icon indicating copy to clipboard operation
KeePassDX copied to clipboard

Autofill in chromium based browsers

Open hshalexgwamf7d3vlblvbqd971ii6o opened this issue 4 years ago • 31 comments

Describe the bug Autofill is still not triggering on chromium-based browsers

To Reproduce Steps to reproduce the behavior:

  1. Go to a chromium-based browser
  2. Visit a site (example: Github)
  3. Attempt to login
  4. 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?

J-Jamet avatar Nov 02 '20 07:11 J-Jamet

Do you have Play Services installed? Because otherwise the compatibility mode of the autofill cannot work. Comment from @csagan5 in issue #551

J-Jamet avatar Nov 02 '20 07:11 J-Jamet

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.

J-Jamet avatar Nov 02 '20 10:11 J-Jamet

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.

J-Jamet avatar Nov 02 '20 11:11 J-Jamet

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.

ghost avatar Nov 02 '20 13:11 ghost

@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.

J-Jamet avatar Nov 02 '20 13:11 J-Jamet

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 ?

J-Jamet avatar Nov 02 '20 13:11 J-Jamet

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).

csagan5 avatar Nov 02 '20 19:11 csagan5

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.

ghost avatar Nov 03 '20 10:11 ghost

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.

J-Jamet avatar Nov 03 '20 10:11 J-Jamet

I added the known information to the Wiki https://github.com/Kunzisoft/KeePassDX/wiki/AutoFill#web-browser-recognition

J-Jamet avatar Nov 03 '20 16:11 J-Jamet

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)

austinhuang0131 avatar Nov 13 '20 02:11 austinhuang0131

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?

J-Jamet avatar Nov 13 '20 09:11 J-Jamet

Didn't check. Turns out it's accessibility.

austinhuang0131 avatar Nov 13 '20 14:11 austinhuang0131

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)

Ilithy avatar Nov 23 '20 10:11 Ilithy

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

TruthIsIAmIronMan avatar Nov 28 '20 14:11 TruthIsIAmIronMan

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

mirsella avatar Dec 04 '20 20:12 mirsella

The kiwi applicationId is already referenced for the autofill compatibility service, there is nothing more I can do.

J-Jamet avatar Dec 04 '20 20:12 J-Jamet

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 ?

mirsella avatar Dec 04 '20 21:12 mirsella

https://developer.android.com/reference/android/service/autofill/AutofillService#compatibility-mode

J-Jamet avatar Dec 04 '20 21:12 J-Jamet

Autofill is not work on bromite. But it works well in Firefox.

ghost avatar Dec 09 '20 14:12 ghost

@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

J-Jamet avatar Dec 09 '20 14:12 J-Jamet

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

soredake avatar Mar 05 '21 06:03 soredake

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

marcoXbresciani avatar Dec 14 '21 21:12 marcoXbresciani

  • 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

csagan5 avatar Dec 21 '21 18:12 csagan5

  • 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.

marcoXbresciani avatar Dec 21 '21 21:12 marcoXbresciani

  • 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 avatar Dec 21 '21 22:12 marcoXbresciani

@marcoXbresciani please submit a bug so that others can try reproducing the issue

csagan5 avatar Dec 26 '21 11:12 csagan5

@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

uazo avatar Jan 07 '22 08:01 uazo