protocol/messenger_handler.go
File messenger_handler.go
has 3099 lines of code (exceeds 900 allowed). Consider refactoring. Open
Open
package protocol
import (
"context"
"crypto/ecdsa"
Messenger
has 90 methods (exceeds 21 allowed). Consider refactoring. Open
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)
}
Avoid deeply nested control flow statements. Open
Open
if err != nil {
return err
}
Avoid deeply nested control flow statements. Open
Open
if receivedMessage.ContentType == protobuf.ChatMessage_IMAGE {
img := message.GetImage()
if img != nil && img.AlbumId != "" && img.AlbumId == image.AlbumId {
skipUpdateUnviewedCountForAlbums = true
break
Avoid deeply nested control flow statements. Open
Open
if !skipUpdateUnviewedCountForAlbums {
messages, err := m.persistence.AlbumMessages(chat.ID, image.AlbumId)
if err != nil {
return err
}
Avoid deeply nested control flow statements. Open
Open
if err != nil {
return nil, err
}