From a627d3e1abe7c54b4dcd2099070a99122edb7f62 Mon Sep 17 00:00:00 2001 From: Bernhard B Date: Tue, 26 Mar 2024 17:36:30 +0100 Subject: [PATCH] fixed error handling in send method --- src/client/client.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/client/client.go b/src/client/client.go index 8ac2f22..ce562f5 100644 --- a/src/client/client.go +++ b/src/client/client.go @@ -452,14 +452,6 @@ func (s *SignalClient) send(number string, message string, rawData, err := jsonRpc2Client.getRaw("send", &number, request) if err != nil { cleanupAttachmentEntries(attachmentEntries) - return nil, err - } - - err = json.Unmarshal([]byte(rawData), &resp) - if err != nil { - if strings.Contains(err.Error(), signalCliV2GroupError) { - return nil, errors.New("Cannot send message to group - please first update your profile.") - } switch errorType := err.(type) { case *RateLimitErrorType: @@ -471,6 +463,16 @@ func (s *SignalClient) send(number string, message string, } return nil, err } + + err = json.Unmarshal([]byte(rawData), &resp) + if err != nil { + cleanupAttachmentEntries(attachmentEntries) + + if strings.Contains(err.Error(), signalCliV2GroupError) { + return nil, errors.New("Cannot send message to group - please first update your profile.") + } + return nil, err + } } else { cmd := []string{"--config", s.signalCliConfig, "-a", number, "send", "--message-from-stdin"} if !isGroup {