mirror of
https://github.com/status-im/status-go.git
synced 2025-01-20 11:40:29 +00:00
fd49b0140e
* Use a single Message type `v1/message.go` and `message.go` are the same now, and they embed `protobuf.ChatMessage` * Use `SendChatMessage` for sending chat messages, this is basically the old `Send` but a bit more flexible so we can send different message types (stickers,commands), and not just text. * Remove dedup from services/shhext. Because now we process in status-protocol, dedup makes less sense, as those messages are going to be processed anyway, so removing for now, we can re-evaluate if bringing it to status-go or not. * Change the various retrieveX method to a single one: `RetrieveAll` will be processing those messages that it can process (Currently only `Message`), and return the rest in `RawMessages` (still transit). The format for the response is: `Chats`: -> The chats updated by receiving the message `Messages`: -> The messages retrieved (already matched to a chat) `Contacts`: -> The contacts updated by the messages `RawMessages` -> Anything else that can't be parsed, eventually as we move everything to status-protocol-go this will go away.
50 lines
1.8 KiB
Go
50 lines
1.8 KiB
Go
package shhext
|
|
|
|
import (
|
|
"github.com/status-im/status-go/eth-node/types"
|
|
"github.com/status-im/status-go/protocol"
|
|
"github.com/status-im/status-go/signal"
|
|
)
|
|
|
|
// EnvelopeSignalHandler sends signals when envelope is sent or expired.
|
|
type EnvelopeSignalHandler struct{}
|
|
|
|
// EnvelopeSent triggered when envelope delivered atleast to 1 peer.
|
|
func (h EnvelopeSignalHandler) EnvelopeSent(identifiers [][]byte) {
|
|
signal.SendEnvelopeSent(identifiers)
|
|
}
|
|
|
|
// EnvelopeExpired triggered when envelope is expired but wasn't delivered to any peer.
|
|
func (h EnvelopeSignalHandler) EnvelopeExpired(identifiers [][]byte, err error) {
|
|
signal.SendEnvelopeExpired(identifiers, err)
|
|
}
|
|
|
|
// MailServerRequestCompleted triggered when the mailserver sends a message to notify that the request has been completed
|
|
func (h EnvelopeSignalHandler) MailServerRequestCompleted(requestID types.Hash, lastEnvelopeHash types.Hash, cursor []byte, err error) {
|
|
signal.SendMailServerRequestCompleted(requestID, lastEnvelopeHash, cursor, err)
|
|
}
|
|
|
|
// MailServerRequestExpired triggered when the mailserver request expires
|
|
func (h EnvelopeSignalHandler) MailServerRequestExpired(hash types.Hash) {
|
|
signal.SendMailServerRequestExpired(hash)
|
|
}
|
|
|
|
// PublisherSignalHandler sends signals on protocol events
|
|
type PublisherSignalHandler struct{}
|
|
|
|
func (h PublisherSignalHandler) DecryptMessageFailed(pubKey string) {
|
|
signal.SendDecryptMessageFailed(pubKey)
|
|
}
|
|
|
|
func (h PublisherSignalHandler) BundleAdded(identity string, installationID string) {
|
|
signal.SendBundleAdded(identity, installationID)
|
|
}
|
|
|
|
func (h PublisherSignalHandler) WhisperFilterAdded(filters []*signal.Filter) {
|
|
signal.SendWhisperFilterAdded(filters)
|
|
}
|
|
|
|
func (h PublisherSignalHandler) NewMessages(response *protocol.MessengerResponse) {
|
|
signal.SendNewMessages(response)
|
|
}
|