This messes up keychains that track history, in my case pass, as that adds multiple entries whenever the bridge starts.
If the bridge has explicitly been told to use a certain keychain, all others should not be touched even if they seem to be available.
Possible Solution
Don't check for usability of helpers that are not configured if the user explicitly set a helper in the config
Steps to Reproduce
Install pass, make it use the git integration
configure the bridge to use the secret-service helper
check the pass git log entries, you'll see a add + remove for every invocation of the bridge
Expected Behavior
When the keychain helper is set to "secret-service" or "secret-service-dbus" all other helpers should not be tried
Current Behavior
All possible helpers are used in the setup, due to the
isUsable()
checks ininit()
of pkg/keychain/helper_linux.gohttps://github.com/ProtonMail/proton-bridge/blob/384154c7678944d1bdafda21b1bf87f9db559d27/pkg/keychain/helper_linux.go#L75-L105
This messes up keychains that track history, in my case pass, as that adds multiple entries whenever the bridge starts. If the bridge has explicitly been told to use a certain keychain, all others should not be touched even if they seem to be available.
Possible Solution
Don't check for usability of helpers that are not configured if the user explicitly set a helper in the config
Steps to Reproduce
pass git log
entries, you'll see a add + remove for every invocation of the bridgeVersion Information
v3.4.2 (br-165)