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
This commit is contained in:
Bernhard B
2023-10-04 20:44:42 +02:00
parent 661fe568e2
commit 6f269d3e1d

View File

@@ -505,7 +505,7 @@ func (s *SignalClient) send(number string, message string,
resp.Timestamp, err = strconv.ParseInt(strings.TrimSuffix(rawData, "\n"), 10, 64) resp.Timestamp, err = strconv.ParseInt(strings.TrimSuffix(rawData, "\n"), 10, 64)
if err != nil { if err != nil {
cleanupAttachmentEntries(attachmentEntries) 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
} }
} }