I tried going through the code, but it's a huge mess (to me)
Thought I could improve some parts, but never figured out how any of it works
The input field detection happens in keepassxc-browser.jsfile.
Basically only the function cipObserverHelper.getInputs() is used. It returns all input fields from the target element, which can be for example a div or the whole document. This function is called from several places, but also dynamically from MutationObserver when new elements are added or removed from the page.
Four additional checks are made in that function, which are:
nodeType and returns if it's not an elementtext, email, password, tel, number, username and fields without type setThe same detection is used in cipFields.getAllFields() but it extends the function above by ignoring any input fields that are not visible in the page or are not identified as a search field. This is not added to the basic checking because it's not needed every time.
I guess you can close this. Question answered. :smiley:
I want to leave this open for visibility :)
People can always search for it, thanks btw