DebounceMac icon indicating copy to clipboard operation
DebounceMac copied to clipboard

Password Manager Autofill Blocked

Open mil1i opened this issue 8 months ago • 5 comments

Hello,

I've noticed that when debounce is running, it prevents autofil from my password manager (1Password / Bitwarden) when using the autofil hotkey (CMD + ). It will enter the first character and stop.

Have you come across this? Or know of a configuration option to bypass this?

It doesn't seem to block Yubico static password fill though which is good. I experienced that on the Windows implementation (https://github.com/FreneticLLC/KeyboardChatterBlocker), but was able to "workaround" it by adding bypasses for the specific things it was blocking through its gui config.

mil1i avatar May 15 '25 17:05 mil1i

Thank you for reporting this issue.

Unfortunately, I haven't used either 1Password or Bitwarden myself, so I'm not familiar with their behavior. I recommend checking the application logs first to see if there are any clues about what's happening.

Let me know if you find anything!

nobu-g avatar May 17 '25 07:05 nobu-g

It seems to just be blocking as standard, below is an output of the logs when trying to enter from a system user prompt login. Basically, macOS brings up a prompt. I tap CMD+\, which brings up a 1Password GUI to select the correct account if there are more than one suitable, or just begins entering if only one found. After selecting, it begins to enter the credentials starting with the username, then it's supposed to switch to the password field automatically and enter it.

Currently, with debounce running it enters the first character of the username and then immediately stops.

I altered the actual input characters shown below but matches up with "repeat" characters. The first character isn't shown, but is different from all the ones listed.

2025-05-17 13:52:30 DEBUG: key code: 0 modifiers: []
2025-05-17 13:52:30 DEBUG: condition: [[:]: 100]
2025-05-17 13:52:30 DEBUG: delay: 100 ? 1747511550930 - 1747511550928
2025-05-17 13:52:30 INFO: BOUNCE detected!!!  Character: 'a'
2025-05-17 13:52:30 INFO: Time between keys: 2ms (< 100ms)

2025-05-17 13:52:30 DEBUG: key code: 0 modifiers: []
2025-05-17 13:52:30 DEBUG: condition: [[:]: 100]
2025-05-17 13:52:30 DEBUG: delay: 100 ? 1747511550932 - 1747511550930
2025-05-17 13:52:30 INFO: BOUNCE detected!!!  Character: 'b'
2025-05-17 13:52:30 INFO: Time between keys: 2ms (< 100ms)

2025-05-17 13:52:30 DEBUG: key code: 0 modifiers: []
2025-05-17 13:52:30 DEBUG: condition: [[:]: 100]
2025-05-17 13:52:30 DEBUG: delay: 100 ? 1747511550940 - 1747511550932
2025-05-17 13:52:30 INFO: BOUNCE detected!!!  Character: 'c'
2025-05-17 13:52:30 INFO: Time between keys: 8ms (< 100ms)

2025-05-17 13:52:30 DEBUG: key code: 0 modifiers: []
2025-05-17 13:52:30 DEBUG: condition: [[:]: 100]
2025-05-17 13:52:30 DEBUG: delay: 100 ? 1747511550940 - 1747511550940
2025-05-17 13:52:30 INFO: BOUNCE detected!!!  Character: 'a'
2025-05-17 13:52:30 INFO: Time between keys: 0ms (< 100ms)

Not sure how it would be possible to get around this with the config examples you've listed, as it seems to be treating the input from 1Password as an actual keyboard and its blocking the actual input from those which could be any character(s) depending on the account.

mil1i avatar May 17 '25 20:05 mil1i

Thank you for sharing your log. I fixed the code to ignore automatic inputs from 1Password. Please give it a try!

nobu-g avatar May 18 '25 11:05 nobu-g

Just tested building with the latest, and still has the same behavior.

mil1i avatar May 18 '25 19:05 mil1i

I added a debug logging to monitor keyboardId, which identifies whether the current input source is from a physical keyboard or from 1Password. https://github.com/nobu-g/DebounceMac/commit/bcf6427069b7924f3801f608db74311005528bac

Could you try building the latest code and seeing what keyboardId is logged when using a physical keyboard and 1Password?

nobu-g avatar Jun 01 '25 12:06 nobu-g