From 45cde43dd448299f5496b4193bfc0309c9d3d89b Mon Sep 17 00:00:00 2001 From: Christian Rocha Date: Wed, 9 Sep 2020 17:00:25 -0400 Subject: [PATCH] Add more checks for nil Charm clients --- ui/ui.go | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/ui/ui.go b/ui/ui.go index 210fd74..05151de 100644 --- a/ui/ui.go +++ b/ui/ui.go @@ -464,6 +464,13 @@ func newCharmClient(identityFile *string) tea.Cmd { func loadStash(m stashModel) tea.Cmd { return func() tea.Msg { + if m.cc == nil { + err := errors.New("no charm client") + if debug { + log.Println("error loading stash:", err) + } + return stashLoadErrMsg{err} + } stash, err := m.cc.GetStash(m.page) if err != nil { if debug { @@ -477,6 +484,13 @@ func loadStash(m stashModel) tea.Cmd { func loadNews(m stashModel) tea.Cmd { return func() tea.Msg { + if m.cc == nil { + err := errors.New("no charm client") + if debug { + log.Println("error loading news:", err) + } + return newsLoadErrMsg{err} + } news, err := m.cc.GetNews(1) // just fetch the first page if err != nil { if debug { @@ -502,7 +516,11 @@ func generateSSHKeys() tea.Msg { func saveDocumentNote(cc *charm.Client, id int, note string) tea.Cmd { if cc == nil { return func() tea.Msg { - return errMsg{errors.New("can't set note; no charm client")} + err := errors.New("can't set note; no charm client") + if debug { + log.Println("error saving note:", err) + } + return errMsg{err} } } return func() tea.Msg { @@ -522,7 +540,7 @@ func stashDocument(cc *charm.Client, md markdown) tea.Cmd { return func() tea.Msg { err := errors.New("can't stash; no charm client") if debug { - log.Println("error stash document:", err) + log.Println("error stashing document:", err) } return stashErrMsg{err} }