Describe the bug
In config/config.go lines 357-360 and 365-366, keyring operations suppress errors with _:
_ = keyring.Set(keyringServiceName, acc.Email, acc.Password)
_ = keyring.Delete(keyringServiceName, acc.Email)
If keyring unavailable or fails, passwords silently fail to persist with no warning/fallback.
To reproduce
- Run matcha on system without keyring support
- Save password - keyring.Set fails silently
- Restart matcha - password lost, no indication why
- User confused about missing credentials
Expected behavior
Log keyring errors as warnings:
if err := keyring.Set(keyringServiceName, acc.Email, acc.Password); err != nil {
log.Printf("Warning: failed to store password in keyring: %v", err)
}
Or provide fallback mechanism for systems without keyring.
Screenshots
N/A
Additional context
- File:
config/config.go
- Lines: 357-360, 365-366
- Severity: Medium - silent credential loss
- Fix complexity: Easy - add logging/warning
Describe the bug
In
config/config.golines 357-360 and 365-366, keyring operations suppress errors with_:If keyring unavailable or fails, passwords silently fail to persist with no warning/fallback.
To reproduce
Expected behavior
Log keyring errors as warnings:
Or provide fallback mechanism for systems without keyring.
Screenshots
N/A
Additional context
config/config.go