Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

commit af8c2884473b5d866faced9e8307bc2570374d86 Author: Duco van Amstel <duco.vanamstel@gmail.com> Date: Sat Dec 08 16:04:10 2018 +0000 Enable errcheck linter (#646) diff --git a/.golangci.yaml b/.golangci.yaml index ac3f34b..e2c82be 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -1757 +1756 @@ linters-settings:  linters:   enable-all: true   disable: - - errcheck - gochecknoglobals - gocyclo - lll diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go index f9b4dd7..225e16e 100644 --- a/bridge/slack/slack.go +++ b/bridge/slack/slack.go @@ -19516 +19516 @@ func (b *Bslack) Send(msg config.Message) (string, error) {     // Use webhook to send the message   if b.GetString(outgoingWebhookConfig) != "" { - return b.sendWebhook(msg) + return "", b.sendWebhook(msg)   }   return b.sendRTM(msg)  }    // sendWebhook uses the configured WebhookURL to send the message -func (b *Bslack) sendWebhook(msg config.Message) (string, error) { +func (b *Bslack) sendWebhook(msg config.Message) error {   // Skip events.   if msg.Event != "" { - return "", nil + return nil   }     if b.GetBool(useNickPrefixConfig) { @@ -2599 +2599 @@ func (b *Bslack) sendWebhook(msg config.Message) (string, error) {   }   if err := b.mh.Send(matterMessage); err != nil {   b.Log.Errorf("Failed to send message via webhook: %#v", err) - return "", err + return err   } - return "", nil + return nil  }    func (b *Bslack) sendRTM(msg config.Message) (string, error) { @@ -3177 +3177 @@ func (b *Bslack) sendRTM(msg config.Message) (string, error) {   return b.postMessage(&msg, channelInfo)  }   -func (b *Bslack) updateTopicOrPurpose(msg *config.Message, channelInfo *slack.Channel) (bool, error) { +func (b *Bslack) updateTopicOrPurpose(msg *config.Message, channelInfo *slack.Channel) error {   var updateFunc func(channelID string, value string) (*slack.Channel, error)     incomingChangeType, text := b.extractTopicOrPurpose(msg.Text) @@ -32815 +32815 @@ func (b *Bslack) updateTopicOrPurpose(msg *config.Message, channelInfo *slack.Ch   updateFunc = b.rtm.SetPurposeOfConversation   default:   b.Log.Errorf("Unhandled type received from extractTopicOrPurpose: %s", incomingChangeType) - return true, nil + return nil   }   for {   _, err := updateFunc(channelInfo.ID, text)   if err == nil { - return true, nil + return nil   }   if err = b.handleRateLimit(err); err != nil { - return true, err + return err   }   }  } @@ -3487 +3487 @@ func (b *Bslack) handleTopicOrPurpose(msg *config.Message, channelInfo *slack.Ch   }     if b.GetBool("SyncTopic") { - return b.updateTopicOrPurpose(msg, channelInfo) + return true, b.updateTopicOrPurpose(msg, channelInfo)   }     // Pass along to normal message handlers. diff --git a/bridge/sshchat/sshchat.go b/bridge/sshchat/sshchat.go index 827c81d..555759b 100644 --- a/bridge/sshchat/sshchat.go +++ b/bridge/sshchat/sshchat.go @@ -309 +3010 @@ func (b *Bsshchat) Connect() error {   b.r = bufio.NewScanner(r)   b.w = w   b.r.Scan() - w.Write([]byte("/theme mono\r\n")) - b.handleSSHChat() - return nil + if _, handleErr := w.Write([]byte("/theme mono\r\n")); handleErr != nil { + return handleErr + } + return b.handleSSHChat()   })   }()   if err != nil { @@ -597 +609 @@ func (b *Bsshchat) Send(msg config.Message) (string, error) {   b.Log.Debugf("=> Receiving %#v", msg)   if msg.Extra != nil {   for _, rmsg := range helper.HandleExtra(&msg, b.General) { - b.w.Write([]byte(rmsg.Username + rmsg.Text + "\r\n")) + if _, err := b.w.Write([]byte(rmsg.Username + rmsg.Text + "\r\n")); err != nil { + b.Log.Errorf("Could not send extra message: %#v", err) + }   }   if len(msg.Extra["file"]) > 0 {   for _, f := range msg.Extra["file"] { @@ -7313 +7615 @@ func (b *Bsshchat) Send(msg config.Message) (string, error) {   msg.Text = fi.Comment + ": " + fi.URL   }   } - b.w.Write([]byte(msg.Username + msg.Text)) + if _, err := b.w.Write([]byte(msg.Username + msg.Text)); err != nil { + b.Log.Errorf("Could not send file message: %#v", err) + }   }   return "", nil   }   } - b.w.Write([]byte(msg.Username + msg.Text + "\r\n")) - return "", nil + _, err := b.w.Write([]byte(msg.Username + msg.Text + "\r\n")) + return "", err  }    /* diff --git a/matterbridge.go b/matterbridge.go index de63c90..e713fb0 100644 --- a/matterbridge.go +++ b/matterbridge.go @@ -288 +2811 @@ func main() {   flagGops := flag.Bool("gops", false, "enable gops agent")   flag.Parse()   if *flagGops { - agent.Listen(agent.Options{}) - defer agent.Close() + if err := agent.Listen(agent.Options{}); err != nil { + flog.Errorf("failed to start gops agent: %#v", err) + } else { + defer agent.Close() + }   }   if *flagVersion {   fmt.Printf("version: %s %s\n", version, githash) diff --git a/matterclient/helpers.go b/matterclient/helpers.go index 0549731..625fffa 100644 --- a/matterclient/helpers.go +++ b/matterclient/helpers.go @@ -2638 +2637 @@ func (m *MMClient) sendWSRequest(action string, data map[string]interface{}) err   req.Data = data   m.WsSequence++   m.log.Debugf("sendWsRequest %#v", req) - m.WsClient.WriteJSON(req) - return nil + return m.WsClient.WriteJSON(req)  }    func supportedVersion(version string) bool { diff --git a/matterclient/matterclient.go b/matterclient/matterclient.go index 4997011..f15b1d1 100644 --- a/matterclient/matterclient.go +++ b/matterclient/matterclient.go @@ -2087 +2089 @@ func (m *MMClient) StatusLoop() {   return   }   if m.WsConnected { - m.checkAlive() + if err := m.checkAlive(); err != nil { + log.Errorf("Connection is not alive: %#v", err) + }   select {   case <-m.WsPingChan:   m.log.Debug("WS PONG received") diff --git a/matterclient/messages.go b/matterclient/messages.go index 28e3ec2..985cfe0 100644 --- a/matterclient/messages.go +++ b/matterclient/messages.go @@ -537 +539 @@ func (m *MMClient) parseMessage(rmsg *Message) {   m.UpdateUser(user["id"].(string))   }   case "group_added": - m.UpdateChannels() + if err := m.UpdateChannels(); err != nil { + m.log.Errorf("failed to update channels: %#v", err) + }   /*   case model.ACTION_USER_REMOVED:   m.handleWsActionUserRemoved(&rmsg) @@ -1867 +1889 @@ func (m *MMClient) SendDirectMessageProps(toUserId string, msg string, props map   channelName := model.GetDMNameFromIds(toUserId, m.User.Id)     // update our channels - m.UpdateChannels() + if err := m.UpdateChannels(); err != nil { + m.log.Errorf("failed to update channels: %#v", err) + }     // build & send the message   msg = strings.Replace(msg, "\r", "", -1)