From 90a82e3918269607216063978a5a2f869bca6032 Mon Sep 17 00:00:00 2001 From: Alec Fong Date: Wed, 1 Jul 2026 23:49:43 -0700 Subject: [PATCH] fix(auth): gracefully re-prompt on empty email during login Hitting enter with no input at the email prompt caused fmt.Scanln to return an 'unexpected newline' error that surfaced as a confusing RESTY stack trace. Use the existing terminal.PromptGetInput helper, which validates and re-prompts on empty input. --- pkg/auth/kas.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkg/auth/kas.go b/pkg/auth/kas.go index 4af3240dc..3365bc4ac 100644 --- a/pkg/auth/kas.go +++ b/pkg/auth/kas.go @@ -159,14 +159,14 @@ func (a KasAuthenticator) maybePromptForEmail() (string, error) { } else if a.Email != "" { return a.Email, nil } else { - t := terminal.New() - fmt.Print(t.Green("Enter your email: ")) - _, err := fmt.Scanln(&email) - if err != nil { - return "", breverrors.WrapAndTrace(err) - } - } - return email, nil + // PromptGetInput validates and re-prompts on empty input, so hitting + // enter with no email no longer surfaces a raw "unexpected newline" error. + email = terminal.PromptGetInput(terminal.PromptContent{ + Label: "Enter your email:", + ErrorMsg: "please enter a valid email address", + }) + } + return strings.TrimSpace(email), nil } func (a KasAuthenticator) pollForTokens(sessionKey, id string) (*LoginTokens, error) {