Other: Add more extensive logging

This commit is contained in:
James Houlahan
2022-11-03 23:02:34 +01:00
parent 8bb60afabd
commit c548ba85fe
24 changed files with 405 additions and 81 deletions

View File

@ -40,11 +40,7 @@ func (f *frontendCLI) listAccounts(c *ishell.Context) {
if user.Connected {
connected = "connected"
}
mode := "split"
if user.AddressMode == vault.CombinedMode {
mode = "combined"
}
f.Printf(spacing, idx, user.Username, connected, mode)
f.Printf(spacing, idx, user.Username, connected, user.AddressMode)
}
f.Println()
}
@ -265,16 +261,7 @@ func (f *frontendCLI) changeMode(c *ishell.Context) {
targetMode = vault.CombinedMode
}
var targetModeName string
switch targetMode {
case vault.CombinedMode:
targetModeName = "combined"
case vault.SplitMode:
targetModeName = "split"
}
if !f.yesNoQuestion("Are you sure you want to change the mode for account " + bold(user.Username) + " to " + bold(targetModeName)) {
if !f.yesNoQuestion("Are you sure you want to change the mode for account " + bold(user.Username) + " to " + bold(targetMode.String())) {
return
}
@ -282,7 +269,7 @@ func (f *frontendCLI) changeMode(c *ishell.Context) {
f.printAndLogError("Cannot switch address mode:", err)
}
f.Printf("Address mode for account %s changed to %s\n", user.Username, targetModeName)
f.Printf("Address mode for account %s changed to %s\n", user.Username, targetMode)
}
func (f *frontendCLI) configureAppleMail(c *ishell.Context) {

View File

@ -368,17 +368,20 @@ func (s *Service) Login(ctx context.Context, login *LoginRequest) (*emptypb.Empt
if err != nil {
defer s.loginClean()
switch {
case errors.Is(err, bridge.ErrUserAlreadyLoggedIn):
if errors.Is(err, bridge.ErrUserAlreadyLoggedIn) {
_ = s.SendEvent(NewLoginAlreadyLoggedInEvent(auth.UserID))
} else if apiErr := new(liteapi.Error); errors.As(err, &apiErr) {
switch apiErr.Code { // nolint:exhaustive
case liteapi.PasswordWrong:
_ = s.SendEvent(NewLoginError(LoginErrorType_USERNAME_PASSWORD_ERROR, ""))
case errors.Is(err, liteapi.ErrIncorrectLoginCredentials):
_ = s.SendEvent(NewLoginError(LoginErrorType_USERNAME_PASSWORD_ERROR, ""))
case liteapi.PaidPlanRequired:
_ = s.SendEvent(NewLoginError(LoginErrorType_FREE_USER, ""))
case errors.Is(err, liteapi.ErrPaidPlanRequired):
_ = s.SendEvent(NewLoginError(LoginErrorType_FREE_USER, ""))
default:
default:
_ = s.SendEvent(NewLoginError(LoginErrorType_USERNAME_PASSWORD_ERROR, err.Error()))
}
} else {
_ = s.SendEvent(NewLoginError(LoginErrorType_USERNAME_PASSWORD_ERROR, err.Error()))
}
@ -426,12 +429,10 @@ func (s *Service) Login2FA(ctx context.Context, login *LoginRequest) (*emptypb.E
}
if err := s.authClient.Auth2FA(context.Background(), liteapi.Auth2FAReq{TwoFactorCode: string(twoFA)}); err != nil {
switch {
case errors.Is(err, liteapi.ErrBad2FACode):
if apiErr := new(liteapi.Error); errors.As(err, &apiErr) && apiErr.Code == liteapi.PasswordWrong {
s.log.Warn("Login 2FA: retry 2fa")
_ = s.SendEvent(NewLoginError(LoginErrorType_TFA_ERROR, ""))
default:
} else {
s.log.WithError(err).Warn("Login 2FA: failed")
_ = s.SendEvent(NewLoginError(LoginErrorType_TFA_ABORT, err.Error()))
s.loginClean()