Bitwarden inline autofill fails with Firefox stable, works great in Nighly
Categories
(GeckoView :: General, defect, P2)
Tracking
(Not tracked)
People
(Reporter: petru, Assigned: m_kato)
Details
(Whiteboard: [geckoview:m92])
From github: https://github.com/mozilla-mobile/fenix/issues/19685.
Bitwarden app for android 11 support inline autofill of passwords, i'm using Firefox stable and Nightly side by side for a while, inline autofill works consistently great with Nightly builds, but it simply fails to autofill using Gboard when i'm trying with stable builds(tried, Firefox stable 86,87,88,and 89), today i tested with latest 89.1 stable and still fails to inline autofill, it works maybe 1/10 times in stable, but it's a solid 9/10 in case of Nightly builds, it's been the same for at least 3 months back. Below is a screenshot of autofill working in latest Nightly.
Steps to reproduce
Use Android 11 ROM with GBoard and Bitwarden app, Enable Autofill services/Inline Autofill and use accessibility option inside Bitwarden app, save some website login to Bitwarden, try entering the login page,GBoard should bring up login details inline, works for Nightly builds, doesn't work 9/10 times in Stable build.
Expected behavior
Stable Firefox should inline autofill correctly
Actual behavior
Firefox stable fails to Inline autofill using GBoard
Device information
Mi 9T Pro with Android 11 AOSP ROM (not MIUI)
- Device vendor / model and Android version: ?
Android 11, Xiaomi- Firefox for Android version: ? (go to Settings -> About Firefox)
89.1.0 stable
Change performed by the Move to Bugzilla add-on.
Reporter | ||
Comment 1•3 years ago
|
||
Moved the ticket here since it's about website interaction but I'm not sure whether this is a GV bug or Bitwarden or of the keyboard.
Interesting to note that in my posted video (at the end of it) it's seen that inline autofill options appear in the keyboard but for the previous tab while the GV prompt correctly contains credentials for the current tab (didn't recorded this last part though).
This would suggest to me that the issue is not of GV but I don't know the entire flow, of how all this apps are communicating to show those inline autofill options.
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
any update this bug? issue seems to be existing in latest 92 stable build too.
Comment 3•3 years ago
|
||
The issue is still present in 93 beta and 92 release.
Assignee | ||
Comment 4•3 years ago
|
||
Hmm, I debug this with custom version of Bitwarden today. I guess that this is king of race condition of filling autofill data. Bitwarden requires something nodes into autofill targets have focus at least. But when Bitwarden gets autofill data, we won't set focus in autofill nodes since "GeckoView:OnAutofillFocus"
isn't handled yet even if web content already has focus.
Since this is timing issue, Firefox Nightly doesn't seem to occur.
Assignee | ||
Updated•3 years ago
|
Comment 5•3 years ago
|
||
Finally, the autofill issue going to be over on beta and release 😇.
Assignee | ||
Comment 6•3 years ago
•
|
||
OK, I make sense this bug. This depends on Autofill compatibility mode. Although we manage autofill focus by AutofillDelegate
, this focus is sometime lost unfortunately. Android OS's compatibility mode layer (AutofillManager.CompatibilityBridge
) of Autofill listens a11y event, then, when AccessibilityEvent.TYPE_VIEW_FOCUSED
is received, it calls AutofillManager.notifyViewOfEnter
with a11y virtual Id. It means that focus id is changed.
The compatibility mode walks thought the accessibility nodes, so it causes bad performance (bug 1734552). Most code can disable by override View's method, but there is no way to disable AutofillManager.CompatibilityBridge
from application.
If we set correct focused id after a11y event, it still has performance issue, and since onFillRequest
on autofill service is called several times, autofill UI is shown by several times (it means that this UI causes flicker).
I think that BitWarden should disable compatibility mode since we already support autofill framework. I will send PR to disable it with longVersionCode. Firefox Nightly seems not to use compatibility mode.
Of course, another workaround is accessibility.force_disabled=1
by about:config (Beta only).
Assignee | ||
Comment 7•3 years ago
|
||
Assignee | ||
Comment 8•3 years ago
|
||
thankyou |
Fixed by bitwarden.
(In reply to Makoto Kato [:m_kato] from comment #8)
Fixed by bitwarden.
May I know which version of Bitwarden/ Firefox stable this issue is resolved on?
Assignee | ||
Comment 10•3 years ago
|
||
(In reply to Bony from comment #9)
(In reply to Makoto Kato [:m_kato] from comment #8)
Fixed by bitwarden.
May I know which version of Bitwarden/ Firefox stable this issue is resolved on?
Bitwarden v2.14.2 + Firefox 93+ (and 93 beta latest version)
Description
•