Skip to content

Password field detection broken by Moodle #2737

@hcsch

Description

@hcsch

Have you searched for an existing issue?

  • Yes, I tried searching and reviewed the pinned issues

Brief Summary

Both Moodle instances of the two unis I have had an account with, and the moodle sandbox instance have broken password field detection. Initially the password field served by the web server is correctly detected, but then after a short delay for some reason Moodle swaps out the password field with a different DOM object that looks exactly the same, but is no longer the instance that KeePassXC picked up (hovering over the element in the debug logs in the JS console does not highlight the current password input element at that point).
The username field is correctly detected and stays around / keeps working.

Right click -> "Fill Password Only" does not work.

"Redetect login fields" correctly detects the new password input field after this, but that button is not offered for me on the sites I actually have credentials for (I get the "Select the login information you would like to get entered into the page." picker instead).

Debug output in JS Console (click to expand)

Before "Redetect login fields":

[Debug keepassxc-browser.js:229] KeePassXC-Browser - Input fields found: global.js:172:13
Array [ input#username.form-control.form-control-lg, input#password.form-control.form-control-lg ]
global.js:175:17
[Debug ] KeePassXC-Browser - Login field combinations identified: global.js:172:13
Array [ {…} ]
global.js:175:17
[Debug fields.js:227] KeePassXC-Browser - Input fields found: global.js:172:13
Array [ input#username.form-control.form-control-lg, input#password.form-control.form-control-lg ]
global.js:175:17
[Debug ] KeePassXC-Browser - Login field combinations identified: global.js:172:13
Array [ {…} ]
global.js:175:17
Starting Moodle session timeout warning. first.js:1262:3375
[Debug observer-helper.js:252] KeePassXC-Browser - Input fields found: global.js:172:13
Array [ input#password.form-control.form-control-lg ]
global.js:175:17
[Debug observer-helper.js:278] KeePassXC-Browser - Input fields found: global.js:172:13
Array [ input#password.form-control.form-control-lg ]
global.js:175:17
[Debug jquery-3.7.1.min.js:2] KeePassXC-Browser - Login field combinations identified: global.js:172:13
Array [ {…} ]
global.js:175:17
[Debug observer-helper.js:266] KeePassXC-Browser - Error: No combination found. global.js:172:13

After "Redetect login fields":

[Debug keepassxc-browser.js:229] KeePassXC-Browser - Input fields found: global.js:172:13
Array [ input#username.form-control.form-control-lg, input#password.form-control.form-control-lg ]
global.js:175:17
[Debug ] KeePassXC-Browser - Login field combinations identified: global.js:172:13
Array [ {…} ]
global.js:175:17
[Debug fields.js:227] KeePassXC-Browser - Input fields found: global.js:172:13
Array [ input#username.form-control.form-control-lg, input#password.form-control.form-control-lg ]
global.js:175:17
[Debug ] KeePassXC-Browser - Login field combinations identified: global.js:172:13
Array [ {…} ]
global.js:175:17

Expected Versus Actual Behavior

Expected:
When clicking the KeePassXC icon in the username field on a Moodle instance, both username and password are correctly filled in.

Actual:
Only the username is filled in, and the password field also cannot be filled with "Fill Password Only".

Steps to Reproduce

  1. Open Moodle instance login page (https://sandbox.moodledemo.net/login/index.php)
  2. Click KeePassXC icon in username field
  3. Only the username is filled in
    a. "Fill Password Only" on the password field does nothing

KeePassXC-Browser Debug Information

KeePassXC - 2.7.10
KeePassXC-Browser - 1.9.10
Operating system: Linux x86_64
Browser: Mozilla Firefox 146.0

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions