From 00f48f7f1333d50582fd93cb079351dd737ed63f Mon Sep 17 00:00:00 2001 From: Elshad Humbatli Date: Mon, 9 Mar 2026 12:24:34 -0400 Subject: [PATCH] fix: strip commas from email before contacts (#257) --- config/cache.go | 2 +- main.go | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/config/cache.go b/config/cache.go index 890eac8845f25fccc6eabb009a6d56811aee2cea..ad211d0ecdf84cada5efcb21ab4d1e81c1abc2d7 100644 --- a/config/cache.go +++ b/config/cache.go @@ -153,7 +153,7 @@ func AddContact(name, email string) error { return nil } - email = strings.ToLower(strings.TrimSpace(email)) + email = strings.ToLower(strings.Trim(strings.TrimSpace(email), ",")) name = strings.TrimSpace(name) cache, err := LoadContactsCache() diff --git a/main.go b/main.go index e426766d5e2ab266a22ce61f312f3de7ea665779..ab04ba9845a7c1080fee2ffd6aa6b82811b7a8d0 100644 --- a/main.go +++ b/main.go @@ -752,10 +752,16 @@ func (m *mainModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { go func() { // Save the recipient as a contact if msg.To != "" { - // Parse "Name " format - name, email := parseEmailAddress(msg.To) - if err := config.AddContact(name, email); err != nil { - log.Printf("Error saving contact: %v", err) + recipients := strings.Split(msg.To, ",") + for _, r := range recipients { + r = strings.TrimSpace(r) + if r == "" { + continue + } + name, email := parseEmailAddress(r) + if err := config.AddContact(name, email); err != nil { + log.Printf("Error saving contact: %v", err) + } } } // Delete the draft since email is being sent