From 6f269d3e1d4f8fe4ecc60e3931d2f99451afd499 Mon Sep 17 00:00:00 2001 From: Bernhard B Date: Wed, 4 Oct 2023 20:44:42 +0200 Subject: [PATCH] improved error handling in send method * when a message is successfully sent, signal-cli returns a timestamp, which we convert to an integer. in case, we, for some reason can't convert the timestamp to an integer, it means that signal-cli returned some non-numeric characters as well (which is a strong indication that there was an error). So, instead of returning the parsing error, return the actual signal-cli error message. see #412 --- src/client/client.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/client.go b/src/client/client.go index 08b31e82..6ecb7dc6 100644 --- a/src/client/client.go +++ b/src/client/client.go @@ -505,7 +505,7 @@ func (s *SignalClient) send(number string, message string, resp.Timestamp, err = strconv.ParseInt(strings.TrimSuffix(rawData, "\n"), 10, 64) if err != nil { cleanupAttachmentEntries(attachmentEntries) - return nil, err + return nil, errors.New(strings.Replace(rawData, "\n", "", -1)) //in case we can't parse the timestamp, it means signal-cli threw an error. So instead of returning the parsing error, return the actual error from signal-cli } }