Keepassxc-browser: Webextension freezes Octoprint web interface in Firefox

Created on 14 Jul 2020  路  10Comments  路  Source: keepassxreboot/keepassxc-browser

Overview

Today I opened my Octoprint Interface and saw this:
image

I've disabled the extension temporally, but after some time I saw it again.

I don't have any password for Octoprint, so there is no need for the KeePassXC work here.

Steps to Reproduce

  1. Get the Octoprint https://octoprint.org/download/
  2. Open its address in Firefox with the KeePassXC Web Extension
  3. Watch the freeze

System Info

KeePassXC-Browser: 1.6.6 (13-07-2020)

KeePassXC - Version 2.6.0
Revision: 0765954

Qt 5.14.2
Debugging mode is disabled.

Operating system: KDE neon User Edition 5.19
CPU architecture: x86_64
Kernel: linux 5.4.0-40-generic

Enabled extensions:

  • Auto-Type
  • Browser Integration
  • SSH Agent
  • KeeShare (signed and unsigned sharing)
  • YubiKey
  • Secret Service Integration

Cryptographic libraries:
libgcrypt 1.8.1

Environment

Operating System: Linux, based on Ubuntu 18.04
Desktop Env: KDE
Windowing System: X11

PR pending bug

Most helpful comment

Maintainer of OctoPrint here. I'd be grateful for any pointers by the KeePassXC's project maintainers as to what the core issue here might be (complex DOM? Certain things inside the DOM?). I don't know if I can do anything from my end to combat this but if there is I'd like to know so we can tackle this from both sides as it seems to be affecting quite a number of users now.

It seems to be made worse by some third party OctoPrint plugins (over which I don't have any control) and possibly popups (Bootstrap 2 modals and/or PNotify notifications, I'm still trying to figure this out from affected users).

For reference, this is also tracked on OctoPrint's own issue tracker now as OctoPrint/OctoPrint#3670, also linked above.

All 10 comments

Does the freezing go away if you put the site to ignore list or disable _Dynamic input field detection_ in the extension settings?

Does the freezing go away if you put the site to ignore list or disable _Dynamic input field detection_ in the extension settings?

Yes, both yes. It could be a workaround.

Does the freezing go away if you put the site to ignore list or disable Dynamic input field detection in the extension settings?

It works for me as well if I do both. Just blacklisting octoprint doesn't work.

I'm having the same problem with Firefox (not tested other browsers) on Windows with Octoprint.
So it is both on Windows and Linux.

I'm also affected. Debian x64 (Testing) with Firefox 78.0.2. Not sure if the problem is caused by Octoprint or by the KeepassXC-Addon.

I'm seeing the same behavior but with Odoo instead of Octoprint. Often when I go from its application dashboard to the Settings app, Firefox reports a slowdown from the KeepassXC browser plugin and I can't proceed until I stop the script. There are no login fields visible on those pages. Putting the site on the ignore list didn't help, I will try disabling dynamic input detection and see if that makes a difference. This is using Firefox on Ubuntu 20.04. I also tried on a Windows machine with Firefox and didn't encounter the issue there. I'll let you know if I learn more.

Maintainer of OctoPrint here. I'd be grateful for any pointers by the KeePassXC's project maintainers as to what the core issue here might be (complex DOM? Certain things inside the DOM?). I don't know if I can do anything from my end to combat this but if there is I'd like to know so we can tackle this from both sides as it seems to be affecting quite a number of users now.

It seems to be made worse by some third party OctoPrint plugins (over which I don't have any control) and possibly popups (Bootstrap 2 modals and/or PNotify notifications, I'm still trying to figure this out from affected users).

For reference, this is also tracked on OctoPrint's own issue tracker now as OctoPrint/OctoPrint#3670, also linked above.

Anyone affected by this, please try to load https://github.com/keepassxreboot/keepassxc-browser/pull/961 manually and see if it helps for the issues. That PR is going to be the next release, so any fixes will be made to that one. Instructions to load extension manually are here: https://github.com/keepassxreboot/keepassxc-browser/wiki/Loading-the-extension-manually

@foosel This is probably caused by constant changes to the DOM with CSS display and/or z-index. Also any changes to classes will trigger some reparsing of input fields. The PR I linked above has reduced a lot of extra parsing etc. so I recommend testing against it.

I can confirm that disabling dynamic input detection prevented the issue from reoccurring for me in Odoo. I've manually installed the plugin from the big_refactor branch, and checked that dynamic input detection is enabled again. I'll let you know how it goes.

It's been stable for me so far. Thanks! Someone else would need to confirm for Octoprint, since I'm not a user of that.

Was this page helpful?
0 / 5 - 0 ratings