status-im/status-go

View on GitHub
protocol/messenger_handler.go

Summary

Maintainability
F
1 wk
Test Coverage
D
64%

File messenger_handler.go has 3099 lines of code (exceeds 900 allowed). Consider refactoring.
Open

package protocol

import (
    "context"
    "crypto/ecdsa"
Severity: Major
Found in protocol/messenger_handler.go - About 6 days to fix

    Messenger has 90 methods (exceeds 21 allowed). Consider refactoring.
    Open

    func (m *Messenger) HandleMembershipUpdateMessage(messageState *ReceivedMessageState, rawMembershipUpdate *protobuf.MembershipUpdateMessage, statusMessage *v1protocol.StatusMessage) error {
        chat, _ := messageState.AllChats.Load(rawMembershipUpdate.ChatId)
    
        return m.HandleMembershipUpdate(messageState, chat, rawMembershipUpdate, m.systemMessagesTranslations)
    }
    Severity: Major
    Found in protocol/messenger_handler.go - About 1 day to fix

      Avoid deeply nested control flow statements.
      Open

                      if err != nil {
                          return err
                      }
      Severity: Major
      Found in protocol/messenger_handler.go - About 45 mins to fix

        Avoid deeply nested control flow statements.
        Open

                            if receivedMessage.ContentType == protobuf.ChatMessage_IMAGE {
                                img := message.GetImage()
                                if img != nil && img.AlbumId != "" && img.AlbumId == image.AlbumId {
                                    skipUpdateUnviewedCountForAlbums = true
                                    break
        Severity: Major
        Found in protocol/messenger_handler.go - About 45 mins to fix

          Avoid deeply nested control flow statements.
          Open

                          if !skipUpdateUnviewedCountForAlbums {
                              messages, err := m.persistence.AlbumMessages(chat.ID, image.AlbumId)
                              if err != nil {
                                  return err
                              }
          Severity: Major
          Found in protocol/messenger_handler.go - About 45 mins to fix

            Avoid deeply nested control flow statements.
            Open

                                if err != nil {
                                    return nil, err
                                }
            Severity: Major
            Found in protocol/messenger_handler.go - About 45 mins to fix

              There are no issues that match your filters.

              Category
              Status