Closed Bug 1725232 Opened 4 years ago Closed 4 years ago

Autofill from 1Password classic extension doesn't work in Nightly anymore

Categories

(WebExtensions :: Developer Outreach, defect, P1)

Firefox 93
defect

Tracking

(firefox91 unaffected, firefox92 unaffected, firefox93 disabled)

RESOLVED MOVED
Tracking Status
firefox91 --- unaffected
firefox92 --- unaffected
firefox93 --- disabled

People

(Reporter: anon896124, Unassigned, NeedInfo)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:93.0) Gecko/20100101 Firefox/93.0

Steps to reproduce:

I'm using 1Password extension version 4.7.5.90 (the classic extension, see below) and the current FF Nightly.

The 1PW main app I'm using is Version 6.8.9 on macOS.

https://support.1password.com/cs/1password-classic-extension/

Actual results:

The extension no longer fills in my credentials ever since the new Nightly.

Expected results:

Autofill should work. The Nightly version before it worked just fine :/

The Bugbug bot thinks this bug should belong to the 'WebExtensions::Untriaged' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Product: Firefox → WebExtensions

Hello,

I can reproduce the issue on the latest Nightly (93.0a1/20210812214121) under Windows 10 x64.

The issue does not occur on the latest Beta (92.0b3/20210812192544) or Release (91.0/20210804193234) i.e it does not occur on versions prior to 93.

For further details, please see the attached video, which depicts how the autofill works on the latest Beta (left) but not on the latest Nightly (right).

I also tried running mozregression to find the regressing bug, however, when reaching intermediate non-official Nightly builds, the 1Password app refuses connection to the add-on, the reasoning being an unidentified publisher for the browser it tries to connect to. I do not know how to go around this issue. For further details, see the screenshot.

Status: UNCONFIRMED → NEW
Ever confirmed: true
Attached video 2021-08-13_12h08_12.mp4
Attached image 2021-08-13_13h13_20.png

I haven't tried to bisect this using mozregression (also given that Alex did have an issue on some intermediate nightly build, which sounds like unrelated to this particular bug), but I took a quick look to 1password xpi to double-check if it was using internally initKeyEvent (which was a non standard and deprecated method and we disabled it in Firefox 93 as part of Bug 1717760), Bitwarden (which is also a password manager extension) did also have a regression reported recently on Nightly 9 for that reason (Bug 1724925).

Bug 1724925 has been closed by fixing the issue on the extension side (see https://github.com/bitwarden/browser/pull/2001), by replacing ev = document.createEvent("KeyboardEvent") + ev.initKeyEvent(...) with ev = new window.KeyboardEvent(...).

We should reach out 1password's engineers to let them know about this issue.

I'm moving this to "WebExtensions::Developer Outreach".

Component: Untriaged → Developer Outreach
Priority: -- → P1
Regressed by: 1717760
See Also: → 1724925
Has Regression Range: --- → yes

@mixedpuppy, can you please make sure we reach out to someone from 1password's and let them know about this issue?
Thank you!

Flags: needinfo?(mixedpuppy)

FWIW: I have interacted with support staff - they no longer are actively developing the classic extension, but could repro the issue. They recommended moving to the newer extension, which does work.

(In reply to Michael Froman [:mjf] from comment #7)

they no longer are actively developing the classic extension, but could repro the issue. They recommended moving to the newer extension, which does work.

That's a shame. The newer extension is no replacement unfortunately, it only works with a subscription and forces you to store your passwords in the cloud. The old one supported local vaults as well, you could even get a standalone license without a subscription or 1PW account.

Hi Masayuki,
would you be ok to unhide initKeyEvent for addon expanded principals in addition to the check on the "dom.keyboardevent.init_key_event.enabled" pref?

That should fix this issue for "1password classic" in the short run (and also leave a bit more time to us to reach our the extension developers affected).

Flags: needinfo?(masayuki)

I don't have much time due to other urgent regressions and web-compat bugs. Smaug, how about you?

Flags: needinfo?(masayuki) → needinfo?(bugs)

Tried to write a patch for this in my spare time, but this patch does not pass the test...

dom/events/test/browser_keyboard_event_init_key_event_enabled_in_contentscript.js
FAIL KeyboardEvent.initKeyEvent should be available in contentscript - "undefined" == "function" - got "undefined", expected "function" (operator ==)
Stack trace:
@chrome://mochitests/content/browser/dom/events/test/browser_keyboard_event_init_key_event_enabled_in_contentscript.js:55:16
execute@resource://specialpowers/SpecialPowersSandbox.jsm:141:12
_spawnTask@resource://specialpowers/SpecialPowersChild.jsm:1658:15
receiveMessage@resource://specialpowers/SpecialPowersChild.jsm:310:21

Sigh, it's just a simple mistake. A patch is coming, but perhaps, I should file a new bug for putting off to unship the API.

Flags: needinfo?(bugs)

(This is being investigated as part of bug 1727024.)

This appears fixed by bug 1727024. Thanks Luca and Masayuki!

(In reply to Bobby Holley (:bholley) from comment #15)

This appears fixed by bug 1727024. Thanks Luca and Masayuki!

It's just putting off to unship the legacy API. So, 1Password classic should fix it as soon as possible.

(In reply to Masayuki Nakano [:masayuki] (he/him)(JST, +0900) from comment #16)

(In reply to Bobby Holley (:bholley) from comment #15)

This appears fixed by bug 1727024. Thanks Luca and Masayuki!

It's just putting off to unship the legacy API. So, 1Password classic should fix it as soon as possible.

Per Firefox WebExtensions Deprecation Policy (https://wiki.mozilla.org/WebExtensions/DeprecationPolicy) there would be 3 Firefox releases from when the deprecation lands in nightly for the developers to be able to handle the changes needed on their extensions side.

would be there any issue with that as the timeline for unshipping the legacy API also from the extensions' content scripts globals?

(this detail will have to be part of the communication we are planning to send to the extension developers, the ones that would be affected based on our code scan on the extensions already submitted to AMO, in a few days).

Flags: needinfo?(masayuki)

(In reply to Luca Greco [:rpl] [:luca] [:lgreco] from comment #17)

(In reply to Masayuki Nakano [:masayuki] (he/him)(JST, +0900) from comment #16)

(In reply to Bobby Holley (:bholley) from comment #15)

This appears fixed by bug 1727024. Thanks Luca and Masayuki!

It's just putting off to unship the legacy API. So, 1Password classic should fix it as soon as possible.

Per Firefox WebExtensions Deprecation Policy (https://wiki.mozilla.org/WebExtensions/DeprecationPolicy) there would be 3 Firefox releases from when the deprecation lands in nightly for the developers to be able to handle the changes needed on their extensions side.

Thank you for the information, I didn't know the policy.

would be there any issue with that as the timeline for unshipping the legacy API also from the extensions' content scripts globals?

I'm afraid that some extensions' users complain about this change and leave from Firefox. It's only the concern for me.

(this detail will have to be part of the communication we are planning to send to the extension developers, the ones that would be affected based on our code scan on the extensions already submitted to AMO, in a few days).

Nice! That sounds like that developers of addons which are maintained frequently will fix this by their side!

Flags: needinfo?(masayuki)

Hey Andrew,

we've noticed that password autofill is not working well in recent Firefox Nightly using the 1Password classic extension (guid onepassword4@agilebits.com). The fix is fairly simple, it would be a matter of replacing ev = document.createEvent("KeyboardEvent") + ev.initKeyEvent(...) with ev = new window.KeyboardEvent(...). If you'd like to test the behavior, you can set dom.keyboardevent.init_key_event.enabled_in_addons to false in about:config, a restart may be required.

I'm aware your focus is on the new 1Password X extension, but is there a chance you could push an update to the classic extension as well? This would be a major benefit for Firefox users on the classic extension, we wouldn't want to leave them without the functionality.

Flags: needinfo?(beyer)

(In reply to Philipp Kewisch [:Fallen] [:📆][:🧩] from comment #19)

Hey Andrew,

we've noticed that password autofill is not working well in recent Firefox Nightly using the 1Password classic extension (guid onepassword4@agilebits.com). The fix is fairly simple, it would be a matter of replacing ev = document.createEvent("KeyboardEvent") + ev.initKeyEvent(...) with ev = new window.KeyboardEvent(...). If you'd like to test the behavior, you can set dom.keyboardevent.init_key_event.enabled_in_addons to false in about:config, a restart may be required.

I'm aware your focus is on the new 1Password X extension, but is there a chance you could push an update to the classic extension as well? This would be a major benefit for Firefox users on the classic extension, we wouldn't want to leave them without the functionality.

Hello! 👋

1Password doesn’t typically make changes to fix bugs or issues in the nightly channel of browsers. We’ve run into a ton of bugs that essentially work themselves out. 🤣

In this case, it is clear we will need to make a change for the classic 1Password extension to continue working. I’ve already fixed this and it will likely be released next week.

Flags: needinfo?(beyer)

(In reply to beyer from comment #20)

In this case, it is clear we will need to make a change for the classic 1Password extension to continue working. I’ve already fixed this and it will likely be released next week.

We really appreciate this. Thank you so much!

Rob wants to confirm.

Flags: needinfo?(rob)

The currently published version of 1Password Classic is 4.7.5.90 (linked from https://support.1password.com/cs/1password-classic-extension/), and still contains the deprecated use of initKeyEvent. I'll check again next week to confirm whether the extension has been fixed.

Flags: needinfo?(mixedpuppy)

(In reply to beyer from comment #20)

In this case, it is clear we will need to make a change for the classic 1Password extension to continue working. I’ve already fixed this and it will likely be released next week.

It has been over two weeks since this comment, and the Firefox add-on linked at https://support.1password.com/cs/1password-classic-extension/ is still at version 4.7.5.90 that uses initKeyEvent. Has the update actually been released?

Flags: needinfo?(rob) → needinfo?(beyer)

There is nothing left to do from Firefox's end, so I'm closing this bug.

1Password still needs to release a new version of 1Password Classic to fix this bug (comment 20).

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → MOVED
See Also: → 1850095
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: