Documentation ¶
Index ¶
- Constants
- Variables
- func DecryptIdentityImagesWithIdentityPrivateKey(iis map[string]*protobuf.IdentityImage, recipientIdentity *ecdsa.PrivateKey, ...) error
- func DeletedMessageNotification(id string, chat *Chat) *localnotifications.Notification
- func EncryptIdentityImagesWithContactPubKeys(iis map[string]*protobuf.IdentityImage, m *Messenger) (err error)
- func GenerateAlias(id string) (string, error)
- func Identicon(id string) (string, error)
- func NewCommunityRequestToJoinNotification(id string, community *communities.Community, contact *Contact) *localnotifications.Notification
- func NewMessageNotification(id string, message *common.Message, chat *Chat, contact *Contact, ...) (*localnotifications.Notification, error)
- func NewPrivateGroupInviteNotification(id string, chat *Chat, contact *Contact, profilePicturesVisibility int) *localnotifications.Notification
- func NewSQLitePersistence(db *sql.DB) *sqlitePersistence
- func ValidateDeleteMessage(message protobuf.DeleteMessage) error
- func ValidateDisplayName(displayName *string) error
- func ValidateEditMessage(message protobuf.EditMessage) error
- func ValidateMembershipUpdateMessage(message *protocol.MembershipUpdateMessage, timeNowMs uint64) error
- func ValidateReceivedAcceptRequestAddressForTransaction(message *protobuf.AcceptRequestAddressForTransaction, whisperTimestamp uint64) error
- func ValidateReceivedChatMessage(message *protobuf.ChatMessage, whisperTimestamp uint64) error
- func ValidateReceivedDeclineRequestAddressForTransaction(message *protobuf.DeclineRequestAddressForTransaction, whisperTimestamp uint64) error
- func ValidateReceivedDeclineRequestTransaction(message *protobuf.DeclineRequestTransaction, whisperTimestamp uint64) error
- func ValidateReceivedEmojiReaction(emoji *protobuf.EmojiReaction, whisperTimestamp uint64) error
- func ValidateReceivedGroupChatInvitation(invitation *protobuf.GroupChatInvitation) error
- func ValidateReceivedPairInstallation(message *protobuf.PairInstallation, whisperTimestamp uint64) error
- func ValidateReceivedRequestAddressForTransaction(message *protobuf.RequestAddressForTransaction, whisperTimestamp uint64) error
- func ValidateReceivedRequestTransaction(message *protobuf.RequestTransaction, whisperTimestamp uint64) error
- func ValidateReceivedSendTransaction(message *protobuf.SendTransaction, whisperTimestamp uint64) error
- func ValidateStatusUpdate(message protobuf.StatusUpdate) error
- func ValidateText(text string) error
- func WithDatasync() func(c *config) error
- func WithPushNotifications() func(c *config) error
- type ActivityCenterNotification
- type ActivityCenterPaginationResponse
- type ActivityCenterType
- type Chat
- func CreateCommunityChat(orgID, chatID string, orgChat *protobuf.CommunityChat, ...) *Chat
- func CreateCommunityChats(org *communities.Community, timesource common.TimeSource) []*Chat
- func CreateGroupChat(timesource common.TimeSource) Chat
- func CreateOneToOneChat(name string, publicKey *ecdsa.PublicKey, timesource common.TimeSource) *Chat
- func CreateProfileChat(pubkey string, timesource common.TimeSource) *Chat
- func CreatePublicChat(name string, timesource common.TimeSource) *Chat
- func CreateTimelineChat(timesource common.TimeSource) *Chat
- func OneToOneFromPublicKey(pk *ecdsa.PublicKey, timesource common.TimeSource) *Chat
- func (c *Chat) CommunityChat() bool
- func (c *Chat) CommunityChatID() string
- func (c *Chat) DeepLink() string
- func (c *Chat) HasJoinedMember(memberID string) bool
- func (c *Chat) HasMember(memberID string) bool
- func (c *Chat) JoinedMembersAsPublicKeys() ([]*ecdsa.PublicKey, error)
- func (c *Chat) MembersAsPublicKeys() ([]*ecdsa.PublicKey, error)
- func (c *Chat) NextClockAndTimestamp(timesource common.TimeSource) (uint64, uint64)
- func (c *Chat) OneToOne() bool
- func (c *Chat) PrivateGroupChat() bool
- func (c *Chat) ProfileUpdates() bool
- func (c *Chat) Public() bool
- func (c *Chat) PublicKey() (*ecdsa.PublicKey, error)
- func (c *Chat) Timeline() bool
- func (c *Chat) UpdateFromMessage(message *common.Message, timesource common.TimeSource) error
- func (c *Chat) Validate() error
- type ChatMember
- type ChatMembershipUpdate
- type ChatPreview
- type ChatType
- type ClearedHistory
- type ConnectedPeer
- type Contact
- type ContactDeviceInfo
- type CurrentMessageState
- type DeleteMessage
- type EditMessage
- type EmojiReaction
- func (e EmojiReaction) GetProtobuf() proto.Message
- func (e EmojiReaction) GetSigPubKey() *ecdsa.PublicKey
- func (e EmojiReaction) ID() string
- func (e EmojiReaction) MarshalJSON() ([]byte, error)
- func (e *EmojiReaction) SetMessageType(messageType protobuf.MessageType)
- func (e EmojiReaction) WrapGroupMessage() bool
- type EnvelopeEventsInterceptor
- func (interceptor EnvelopeEventsInterceptor) EnvelopeExpired(identifiers [][]byte, err error)
- func (interceptor EnvelopeEventsInterceptor) EnvelopeSent(identifiers [][]byte)
- func (interceptor EnvelopeEventsInterceptor) MailServerRequestCompleted(requestID types.Hash, lastEnvelopeHash types.Hash, cursor []byte, err error)
- func (interceptor EnvelopeEventsInterceptor) MailServerRequestExpired(hash types.Hash)
- type EthClient
- type GroupChatInvitation
- type MailserverBatch
- type MessageDeliveredHandler
- type Messenger
- func (m *Messenger) AcceptActivityCenterNotifications(ctx context.Context, ids []types.HexBytes, sync bool) (*MessengerResponse, error)
- func (m *Messenger) AcceptAllActivityCenterNotifications(ctx context.Context) (*MessengerResponse, error)
- func (m *Messenger) AcceptRequestAddressForTransaction(ctx context.Context, messageID, address string) (*MessengerResponse, error)
- func (m *Messenger) AcceptRequestToJoinCommunity(request *requests.AcceptRequestToJoinCommunity) (*MessengerResponse, error)
- func (m *Messenger) AcceptRequestTransaction(ctx context.Context, transactionHash, messageID string, signature []byte) (*MessengerResponse, error)
- func (m *Messenger) ActiveChats() []*Chat
- func (m *Messenger) ActivityCenterNotifications(cursor string, limit uint64) (*ActivityCenterPaginationResponse, error)
- func (m *Messenger) AddAdminsToGroupChat(ctx context.Context, chatID string, members []string) (*MessengerResponse, error)
- func (m *Messenger) AddContact(ctx context.Context, request *requests.AddContact) (*MessengerResponse, error)
- func (m *Messenger) AddMailserver(enode string) error
- func (m *Messenger) AddMembersToGroupChat(ctx context.Context, chatID string, members []string) (*MessengerResponse, error)
- func (m *Messenger) AddPushNotificationsServer(ctx context.Context, publicKey *ecdsa.PublicKey, ...) error
- func (m *Messenger) AddRelayPeer(address string) (string, error)
- func (m *Messenger) AddStorePeer(address string) (string, error)
- func (m *Messenger) AddedContacts() []*Contact
- func (m *Messenger) AllMessageByChatIDWhichMatchTerm(chatID string, searchTerm string, caseSensitive bool) ([]*common.Message, error)
- func (m *Messenger) AllMessagesFromChatsAndCommunitiesWhichMatchTerm(communityIds []string, chatIds []string, searchTerm string, caseSensitive bool) ([]*common.Message, error)
- func (m *Messenger) AutoMessageEnabled() (bool, error)
- func (m *Messenger) BackupData(ctx context.Context) (uint64, error)
- func (m *Messenger) BanUserFromCommunity(request *requests.BanUserFromCommunity) (*MessengerResponse, error)
- func (m *Messenger) BlockContact(contactID string) (*MessengerResponse, error)
- func (m *Messenger) BlockedContacts() []*Contact
- func (m *Messenger) BloomFilter() []byte
- func (m *Messenger) ChangeGroupChatName(ctx context.Context, chatID string, name string) (*MessengerResponse, error)
- func (m *Messenger) Chat(chatID string) *Chat
- func (m *Messenger) Chats() []*Chat
- func (m *Messenger) ChatsPreview() []*ChatPreview
- func (m *Messenger) ClearHistory(request *requests.ClearHistory) (*MessengerResponse, error)
- func (m *Messenger) Communities() ([]*communities.Community, error)
- func (m *Messenger) ConfirmJoiningGroup(ctx context.Context, chatID string) (*MessengerResponse, error)
- func (m *Messenger) ConnectionChanged(state connection.State)
- func (m *Messenger) Contacts() []*Contact
- func (m *Messenger) CreateCommunity(request *requests.CreateCommunity) (*MessengerResponse, error)
- func (m *Messenger) CreateCommunityCategory(request *requests.CreateCommunityCategory) (*MessengerResponse, error)
- func (m *Messenger) CreateCommunityChat(communityID types.HexBytes, c *protobuf.CommunityChat) (*MessengerResponse, error)
- func (m *Messenger) CreateGroupChatFromInvitation(name string, chatID string, adminPK string) (*MessengerResponse, error)
- func (m *Messenger) CreateGroupChatWithMembers(ctx context.Context, name string, members []string) (*MessengerResponse, error)
- func (m *Messenger) CreateOneToOneChat(request *requests.CreateOneToOneChat) (*MessengerResponse, error)
- func (m *Messenger) CreateProfileChat(request *requests.CreateProfileChat) (*MessengerResponse, error)
- func (m *Messenger) CreatePublicChat(request *requests.CreatePublicChat) (*MessengerResponse, error)
- func (m *Messenger) DeactivateChat(request *requests.DeactivateChat) (*MessengerResponse, error)
- func (m *Messenger) DeclineAllPendingGroupInvitesFromUser(response *MessengerResponse, userPublicKey string) (*MessengerResponse, error)
- func (m *Messenger) DeclineRequestAddressForTransaction(ctx context.Context, messageID string) (*MessengerResponse, error)
- func (m *Messenger) DeclineRequestToJoinCommunity(request *requests.DeclineRequestToJoinCommunity) error
- func (m *Messenger) DeclineRequestTransaction(ctx context.Context, messageID string) (*MessengerResponse, error)
- func (m *Messenger) DeleteChat(chatID string) error
- func (m *Messenger) DeleteCommunityCategory(request *requests.DeleteCommunityCategory) (*MessengerResponse, error)
- func (m *Messenger) DeleteCommunityChat(communityID types.HexBytes, chatID string) (*MessengerResponse, error)
- func (m *Messenger) DeleteMessage(id string) error
- func (m *Messenger) DeleteMessageAndSend(ctx context.Context, messageID string) (*MessengerResponse, error)
- func (m *Messenger) DeleteMessagesByChatID(id string) error
- func (m *Messenger) DialPeer(address string) error
- func (m *Messenger) DialPeerByID(peerID string) error
- func (m *Messenger) DisableInstallation(id string) error
- func (m *Messenger) DisablePushNotificationsBlockMentions() error
- func (m *Messenger) DisablePushNotificationsFromContactsOnly() error
- func (m *Messenger) DisableSendingPushNotifications() error
- func (m *Messenger) DisconnectActiveMailserver()
- func (m *Messenger) DismissActivityCenterNotifications(ctx context.Context, ids []types.HexBytes, sync bool) (*MessengerResponse, error)
- func (m *Messenger) DismissAllActivityCenterNotifications(ctx context.Context) error
- func (m *Messenger) DropPeer(peerID string) error
- func (m *Messenger) ENSVerified(pubkey, ensName string) error
- func (m *Messenger) EditCommunity(request *requests.EditCommunity) (*MessengerResponse, error)
- func (m *Messenger) EditCommunityCategory(request *requests.EditCommunityCategory) (*MessengerResponse, error)
- func (m *Messenger) EditCommunityChat(communityID types.HexBytes, chatID string, c *protobuf.CommunityChat) (*MessengerResponse, error)
- func (m *Messenger) EditMessage(ctx context.Context, request *requests.EditMessage) (*MessengerResponse, error)
- func (m *Messenger) EmojiReactionsByChatID(chatID string, cursor string, limit int) ([]*EmojiReaction, error)
- func (m *Messenger) EmojiReactionsByChatIDMessageID(chatID string, messageID string) ([]*EmojiReaction, error)
- func (m *Messenger) EnableInstallation(id string) error
- func (m *Messenger) EnablePushNotificationsBlockMentions() error
- func (m *Messenger) EnablePushNotificationsFromContactsOnly() error
- func (m *Messenger) EnableSendingPushNotifications() error
- func (m *Messenger) ExportCommunity(id types.HexBytes) (*ecdsa.PrivateKey, error)
- func (m *Messenger) FillGaps(chatID string, messageIDs []string) error
- func (m *Messenger) GetCommunitiesSettings() ([]communities.CommunitySettings, error)
- func (m *Messenger) GetCommunityByID(communityID types.HexBytes) (*communities.Community, error)
- func (m *Messenger) GetContactByID(pubKey string) *Contact
- func (m *Messenger) GetCurrentUserStatus() (*UserStatus, error)
- func (m *Messenger) GetGroupChatInvitations() ([]*GroupChatInvitation, error)
- func (m *Messenger) GetPushNotificationsServers() ([]*pushnotificationclient.PushNotificationServer, error)
- func (m *Messenger) GetStats() types.StatsSummary
- func (m *Messenger) HandleAcceptRequestAddressForTransaction(messageState *ReceivedMessageState, ...) error
- func (m *Messenger) HandleAnonymousMetricBatch(amb protobuf.AnonymousMetricBatch) error
- func (m *Messenger) HandleBackup(state *ReceivedMessageState, message protobuf.Backup) error
- func (m *Messenger) HandleChatIdentity(state *ReceivedMessageState, ci protobuf.ChatIdentity) error
- func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error
- func (m *Messenger) HandleCommunityInvitation(state *ReceivedMessageState, signer *ecdsa.PublicKey, ...) error
- func (m *Messenger) HandleCommunityRequestToJoin(state *ReceivedMessageState, signer *ecdsa.PublicKey, ...) error
- func (m *Messenger) HandleContactUpdate(state *ReceivedMessageState, message protobuf.ContactUpdate) error
- func (m *Messenger) HandleDeclineRequestAddressForTransaction(messageState *ReceivedMessageState, ...) error
- func (m *Messenger) HandleDeclineRequestTransaction(messageState *ReceivedMessageState, command protobuf.DeclineRequestTransaction) error
- func (m *Messenger) HandleDeleteMessage(state *ReceivedMessageState, deleteMessage DeleteMessage) error
- func (m *Messenger) HandleEditMessage(response *MessengerResponse, editMessage EditMessage) error
- func (m *Messenger) HandleEmojiReaction(state *ReceivedMessageState, pbEmojiR protobuf.EmojiReaction) error
- func (m *Messenger) HandleGroupChatInvitation(state *ReceivedMessageState, pbGHInvitations protobuf.GroupChatInvitation) error
- func (m *Messenger) HandleMembershipUpdate(messageState *ReceivedMessageState, chat *Chat, ...) error
- func (m *Messenger) HandlePairInstallation(state *ReceivedMessageState, message protobuf.PairInstallation) error
- func (m *Messenger) HandlePinMessage(state *ReceivedMessageState, message protobuf.PinMessage) error
- func (m *Messenger) HandleRequestAddressForTransaction(messageState *ReceivedMessageState, ...) error
- func (m *Messenger) HandleRequestTransaction(messageState *ReceivedMessageState, command protobuf.RequestTransaction) error
- func (m *Messenger) HandleSendTransaction(messageState *ReceivedMessageState, command protobuf.SendTransaction) error
- func (m *Messenger) HandleStatusUpdate(state *ReceivedMessageState, statusMessage protobuf.StatusUpdate) error
- func (m *Messenger) HandleSyncChatMessagesRead(state *ReceivedMessageState, message protobuf.SyncChatMessagesRead) error
- func (m *Messenger) HandleSyncChatRemoved(state *ReceivedMessageState, message protobuf.SyncChatRemoved) error
- func (m *Messenger) HandleSyncInstallationContact(state *ReceivedMessageState, message protobuf.SyncInstallationContactV2) error
- func (m *Messenger) HandleSyncInstallationPublicChat(state *ReceivedMessageState, message protobuf.SyncInstallationPublicChat) *Chat
- func (m *Messenger) IdentityPublicKey() *ecdsa.PublicKey
- func (m *Messenger) ImageServerURL() string
- func (m *Messenger) ImportCommunity(ctx context.Context, key *ecdsa.PrivateKey) (*MessengerResponse, error)
- func (m *Messenger) Init() error
- func (m *Messenger) Installations() []*multidevice.Installation
- func (m *Messenger) InviteUsersToCommunity(request *requests.InviteUsersToCommunity) (*MessengerResponse, error)
- func (m *Messenger) Join(chat *Chat) ([]*transport.Filter, error)
- func (m *Messenger) JoinCommunity(ctx context.Context, communityID types.HexBytes) (*MessengerResponse, error)
- func (m *Messenger) JoinedCommunities() ([]*communities.Community, error)
- func (m *Messenger) LeaveCommunity(communityID types.HexBytes) (*MessengerResponse, error)
- func (m *Messenger) LeaveGroupChat(ctx context.Context, chatID string, remove bool) (*MessengerResponse, error)
- func (m *Messenger) LoadFilters(filters []*transport.Filter) ([]*transport.Filter, error)
- func (m *Messenger) Mailservers() ([]string, error)
- func (m *Messenger) MarkActivityCenterNotificationsRead(ctx context.Context, ids []types.HexBytes, sync bool) (*MessengerResponse, error)
- func (m *Messenger) MarkActivityCenterNotificationsUnread(ids []types.HexBytes) error
- func (m *Messenger) MarkAllActivityCenterNotificationsRead(ctx context.Context) error
- func (m *Messenger) MarkAllRead(chatID string) error
- func (m *Messenger) MarkAllReadInCommunity(communityID string) ([]string, error)
- func (m *Messenger) MarkMessagesSeen(chatID string, ids []string) (uint64, uint64, error)
- func (m *Messenger) MessageByChatID(chatID, cursor string, limit int) ([]*common.Message, string, error)
- func (m *Messenger) MessageByID(id string) (*common.Message, error)
- func (m *Messenger) MessagesExist(ids []string) (map[string]bool, error)
- func (m *Messenger) MuteChat(chatID string) error
- func (m *Messenger) MyPendingRequestsToJoin() ([]*communities.RequestToJoin, error)
- func (m *Messenger) Peers() map[string][]string
- func (m *Messenger) PendingRequestsToJoinForCommunity(id types.HexBytes) ([]*communities.RequestToJoin, error)
- func (m *Messenger) PinnedMessageByChatID(chatID, cursor string, limit int) ([]*common.PinnedMessage, string, error)
- func (m *Messenger) PublishIdentityImage() error
- func (m *Messenger) ReSendChatMessage(ctx context.Context, messageID string) error
- func (m *Messenger) RegisterForPushNotifications(ctx context.Context, deviceToken, apnTopic string, ...) error
- func (m *Messenger) RegisteredForPushNotifications() (bool, error)
- func (m *Messenger) RejectContactRequest(ctx context.Context, request *requests.RejectContactRequest) (*MessengerResponse, error)
- func (m *Messenger) RemoveContact(ctx context.Context, pubKey string) (*MessengerResponse, error)
- func (m *Messenger) RemoveFilters(filters []*transport.Filter) error
- func (m *Messenger) RemoveMailserver(id string) error
- func (m *Messenger) RemoveMemberFromGroupChat(ctx context.Context, chatID string, member string) (*MessengerResponse, error)
- func (m *Messenger) RemovePushNotificationServer(ctx context.Context, publicKey *ecdsa.PublicKey) error
- func (m *Messenger) RemoveUserFromCommunity(id types.HexBytes, pkString string) (*MessengerResponse, error)
- func (m *Messenger) ReorderCommunityCategories(request *requests.ReorderCommunityCategories) (*MessengerResponse, error)
- func (m *Messenger) ReorderCommunityChat(request *requests.ReorderCommunityChat) (*MessengerResponse, error)
- func (m *Messenger) RequestAddressForTransaction(ctx context.Context, chatID, from, value, contract string) (*MessengerResponse, error)
- func (m *Messenger) RequestAllHistoricMessages() (*MessengerResponse, error)
- func (m *Messenger) RequestAllHistoricMessagesWithRetries() (*MessengerResponse, error)
- func (m *Messenger) RequestCommunityInfoFromMailserver(communityID string) (*communities.Community, error)
- func (m *Messenger) RequestCommunityInfoFromMailserverAsync(communityID string) error
- func (m *Messenger) RequestHistoricMessagesForFilter(ctx context.Context, from, to uint32, cursor []byte, ...) ([]byte, *types.StoreRequestCursor, error)
- func (m *Messenger) RequestToJoinCommunity(request *requests.RequestToJoinCommunity) (*MessengerResponse, error)
- func (m *Messenger) RequestTransaction(ctx context.Context, chatID, value, contract, address string) (*MessengerResponse, error)
- func (m *Messenger) RetrieveAll() (*MessengerResponse, error)
- func (m *Messenger) SaveChat(chat *Chat) error
- func (m *Messenger) SaveMessages(messages []*common.Message) error
- func (m *Messenger) SavePinMessages(messages []*common.PinMessage) error
- func (m *Messenger) SelectMailserver(id string) error
- func (m *Messenger) SendChatMessage(ctx context.Context, message *common.Message) (*MessengerResponse, error)
- func (m *Messenger) SendChatMessages(ctx context.Context, messages []*common.Message) (*MessengerResponse, error)
- func (m *Messenger) SendContactUpdate(ctx context.Context, chatID, ensName, profileImage string) (*MessengerResponse, error)
- func (m *Messenger) SendContactUpdates(ctx context.Context, ensName, profileImage string) (err error)
- func (m *Messenger) SendEmojiReaction(ctx context.Context, chatID, messageID string, ...) (*MessengerResponse, error)
- func (m *Messenger) SendEmojiReactionRetraction(ctx context.Context, emojiReactionID string) (*MessengerResponse, error)
- func (m *Messenger) SendGroupChatInvitationRejection(ctx context.Context, invitationRequestID string) (*MessengerResponse, error)
- func (m *Messenger) SendGroupChatInvitationRequest(ctx context.Context, chatID string, adminPK string, message string) (*MessengerResponse, error)
- func (m *Messenger) SendPairInstallation(ctx context.Context) (*MessengerResponse, error)
- func (m *Messenger) SendPinMessage(ctx context.Context, message *common.PinMessage) (*MessengerResponse, error)
- func (m *Messenger) SendTransaction(ctx context.Context, chatID, value, contract, transactionHash string, ...) (*MessengerResponse, error)
- func (m *Messenger) SetContactLocalNickname(request *requests.SetContactLocalNickname) (*MessengerResponse, error)
- func (m *Messenger) SetDisplayName(displayName string) error
- func (m *Messenger) SetInstallationMetadata(id string, data *multidevice.InstallationMetadata) error
- func (m *Messenger) SetMuted(communityID types.HexBytes, muted bool) error
- func (m *Messenger) SetP2PServer(server *p2p.Server)
- func (m *Messenger) SetPinnedMailservers(mailservers map[string]string) error
- func (m *Messenger) SetUserStatus(ctx context.Context, newStatus int, newCustomText string) error
- func (m *Messenger) ShareCommunity(request *requests.ShareCommunity) (*MessengerResponse, error)
- func (m *Messenger) ShareImageMessage(request *requests.ShareImageMessage) (*MessengerResponse, error)
- func (m *Messenger) Shutdown() (err error)
- func (m *Messenger) SignMessage(message string) ([]byte, error)
- func (m *Messenger) Start() (*MessengerResponse, error)
- func (m *Messenger) StartDiscV5() error
- func (m *Messenger) StartMailserverCycle() error
- func (m *Messenger) StartPushNotificationsServer() error
- func (m *Messenger) StatusUpdates() ([]UserStatus, error)
- func (m *Messenger) StopDiscV5() error
- func (m *Messenger) StopPushNotificationsServer() error
- func (m *Messenger) SyncBookmark(ctx context.Context, bookmark *browsers.Bookmark) error
- func (m *Messenger) SyncChatFromSyncedFrom(chatID string) (uint32, error)
- func (m *Messenger) SyncDevices(ctx context.Context, ensName, photoPath string) (err error)
- func (m *Messenger) ToBackground()
- func (m *Messenger) ToForeground()
- func (m *Messenger) ToggleUseMailservers(value bool) error
- func (m *Messenger) UnblockContact(contactID string) error
- func (m *Messenger) UnmuteChat(chatID string) error
- func (m *Messenger) UnreadActivityCenterNotificationsCount() (uint64, error)
- func (m *Messenger) UnregisterFromPushNotifications(ctx context.Context) error
- func (m *Messenger) UpdateMessageOutgoingStatus(id, newOutgoingStatus string) error
- func (m *Messenger) ValidateTransactions(ctx context.Context, addresses []types.Address) (*MessengerResponse, error)
- type MessengerResponse
- func (r *MessengerResponse) ActivityCenterNotifications() []*ActivityCenterNotification
- func (r *MessengerResponse) AddActivityCenterNotification(n *ActivityCenterNotification)
- func (r *MessengerResponse) AddActivityCenterNotifications(ns []*ActivityCenterNotification)
- func (r *MessengerResponse) AddBookmark(bookmark *browsers.Bookmark)
- func (r *MessengerResponse) AddBookmarks(bookmarks []*browsers.Bookmark)
- func (r *MessengerResponse) AddChat(c *Chat)
- func (r *MessengerResponse) AddChats(chats []*Chat)
- func (r *MessengerResponse) AddClearedHistory(ch *ClearedHistory)
- func (r *MessengerResponse) AddCommunities(communities []*communities.Community)
- func (r *MessengerResponse) AddCommunity(c *communities.Community)
- func (r *MessengerResponse) AddCommunitySettings(c *communities.CommunitySettings)
- func (r *MessengerResponse) AddMessage(message *common.Message)
- func (r *MessengerResponse) AddMessages(ms []*common.Message)
- func (r *MessengerResponse) AddNotification(n *localnotifications.Notification)
- func (r *MessengerResponse) AddNotifications(notifications []*localnotifications.Notification)
- func (r *MessengerResponse) AddPinMessage(pm *common.PinMessage)
- func (r *MessengerResponse) AddPinMessages(pms []*common.PinMessage)
- func (r *MessengerResponse) AddRemovedChat(chatID string)
- func (r *MessengerResponse) AddRemovedChats(chats []string)
- func (r *MessengerResponse) AddRemovedMessage(rm *RemovedMessage)
- func (r *MessengerResponse) AddRemovedMessages(messages []*RemovedMessage)
- func (r *MessengerResponse) AddStatusUpdate(upd UserStatus)
- func (r *MessengerResponse) Chats() []*Chat
- func (r *MessengerResponse) ClearNotifications()
- func (r *MessengerResponse) ClearedHistories() []*ClearedHistory
- func (r *MessengerResponse) Communities() []*communities.Community
- func (r *MessengerResponse) CommunitiesSettings() []*communities.CommunitySettings
- func (r *MessengerResponse) GetMessage(messageID string) *common.Message
- func (r *MessengerResponse) IsEmpty() bool
- func (r *MessengerResponse) MarshalJSON() ([]byte, error)
- func (r *MessengerResponse) Merge(response *MessengerResponse) error
- func (r *MessengerResponse) Messages() []*common.Message
- func (r *MessengerResponse) Notifications() []*localnotifications.Notification
- func (r *MessengerResponse) PinMessages() []*common.PinMessage
- func (r *MessengerResponse) RemovedChats() []string
- func (r *MessengerResponse) RemovedMessages() []*RemovedMessage
- func (r *MessengerResponse) SetCurrentStatus(status UserStatus)
- func (r *MessengerResponse) SetMessages(messages []*common.Message)
- func (r *MessengerResponse) StatusUpdates() []UserStatus
- type MessengerSignalsHandler
- type NotificationBody
- type Option
- func WithAccount(acc *multiaccounts.Account) Option
- func WithAnonMetricsClientConfig(anonMetricsClientConfig *anonmetrics.ClientConfig) Option
- func WithAnonMetricsServerConfig(anonMetricsServerConfig *anonmetrics.ServerConfig) Option
- func WithAppSettings(s accounts.Settings, nc params.NodeConfig) Option
- func WithBrowserDatabase(bd *browsers.Database) Option
- func WithClusterConfig(cc params.ClusterConfig) Option
- func WithCustomLogger(logger *zap.Logger) Option
- func WithDatabase(db *sql.DB) Option
- func WithDatabaseConfig(dbPath, dbKey string) Option
- func WithENSVerificationConfig(onENSVerified func(*MessengerResponse), url, address string) Option
- func WithEnvelopesMonitorConfig(emc *transport.EnvelopesMonitorConfig) Option
- func WithMailserversDatabase(ma *mailservers.Database) Option
- func WithMultiAccounts(ma *multiaccounts.Database) Option
- func WithPushNotificationClientConfig(pushNotificationClientConfig *pushnotificationclient.Config) Option
- func WithPushNotificationServerConfig(pushNotificationServerConfig *pushnotificationserver.Config) Option
- func WithSignalsHandler(h MessengerSignalsHandler) Option
- func WithSystemMessagesTranslations(t map[protobuf.MembershipUpdateEvent_EventType]string) Option
- func WithTelemetry(serverURL string) Option
- func WithToplevelDatabaseMigrations() Option
- func WithTorrentConfig(tc *params.TorrentConfig) Option
- func WithVerifyTransactionClient(client EthClient) Option
- type ReceivedMessageState
- type RemovedMessage
- type SortedMailserver
- type TransactionToValidate
- type TransactionValidator
- type UserStatus
- type VerifyTransactionResponse
Constants ¶
const (
BackupContactsPerBatch = 20
)
const (
PubKeyStringLength = 132
)
Variables ¶
var ( ErrChatIDEmpty = errors.New("chat ID is empty") ErrChatNotFound = errors.New("can't find chat") ErrNotImplemented = errors.New("not implemented") ErrContactNotFound = errors.New("contact not found") )
var ( // ErrMsgAlreadyExist returned if msg already exist. ErrMsgAlreadyExist = errors.New("message with given ID already exist") HoursInTwoWeeks = 336 )
var ErrInvalidActivityCenterNotification = errors.New("invalid activity center notification")
var ErrInvalidDeleteTypeAuthor = errors.New("message type cannot be deleted")
var ErrInvalidDisplayNameEthSuffix = errors.New(`usernames ending with "eth" are not allowed`)
var ErrInvalidDisplayNameNotAllowed = errors.New("name is not allowed")
var ErrInvalidDisplayNameRegExp = errors.New("only letters, numbers, underscores and hyphens allowed")
var ErrInvalidEditContentType = errors.New("only text messages can be replaced")
var ErrInvalidEditOrDeleteAuthor = errors.New("sender is not the author of the message")
var ErrMessageForWrongChatType = errors.New("message for the wrong chat type")
var ErrMessageNotAllowed = errors.New("message from a non-contact")
var ErrNoFiltersForChat = errors.New("no filter registered for given chat")
Functions ¶
func DecryptIdentityImagesWithIdentityPrivateKey ¶ added in v0.89.2
func DecryptIdentityImagesWithIdentityPrivateKey(iis map[string]*protobuf.IdentityImage, recipientIdentity *ecdsa.PrivateKey, senderPubKey *ecdsa.PublicKey) error
func DeletedMessageNotification ¶ added in v0.83.15
func DeletedMessageNotification(id string, chat *Chat) *localnotifications.Notification
func EncryptIdentityImagesWithContactPubKeys ¶ added in v0.89.2
func EncryptIdentityImagesWithContactPubKeys(iis map[string]*protobuf.IdentityImage, m *Messenger) (err error)
func GenerateAlias ¶
GenerateAlias name returns the generated name given a public key hex encoded prefixed with 0x
func NewCommunityRequestToJoinNotification ¶ added in v0.74.2
func NewCommunityRequestToJoinNotification(id string, community *communities.Community, contact *Contact) *localnotifications.Notification
func NewMessageNotification ¶ added in v0.74.2
func NewMessageNotification(id string, message *common.Message, chat *Chat, contact *Contact, contacts *contactMap, profilePicturesVisibility int) (*localnotifications.Notification, error)
func NewPrivateGroupInviteNotification ¶ added in v0.88.4
func NewPrivateGroupInviteNotification(id string, chat *Chat, contact *Contact, profilePicturesVisibility int) *localnotifications.Notification
func NewSQLitePersistence ¶ added in v0.73.5
func ValidateDeleteMessage ¶ added in v0.83.2
func ValidateDeleteMessage(message protobuf.DeleteMessage) error
func ValidateDisplayName ¶ added in v0.94.12
func ValidateEditMessage ¶ added in v0.80.3
func ValidateEditMessage(message protobuf.EditMessage) error
func ValidateReceivedAcceptRequestAddressForTransaction ¶
func ValidateReceivedAcceptRequestAddressForTransaction(message *protobuf.AcceptRequestAddressForTransaction, whisperTimestamp uint64) error
func ValidateReceivedChatMessage ¶
func ValidateReceivedChatMessage(message *protobuf.ChatMessage, whisperTimestamp uint64) error
func ValidateReceivedDeclineRequestAddressForTransaction ¶
func ValidateReceivedDeclineRequestAddressForTransaction(message *protobuf.DeclineRequestAddressForTransaction, whisperTimestamp uint64) error
func ValidateReceivedDeclineRequestTransaction ¶
func ValidateReceivedDeclineRequestTransaction(message *protobuf.DeclineRequestTransaction, whisperTimestamp uint64) error
func ValidateReceivedEmojiReaction ¶ added in v0.56.4
func ValidateReceivedEmojiReaction(emoji *protobuf.EmojiReaction, whisperTimestamp uint64) error
func ValidateReceivedGroupChatInvitation ¶ added in v0.60.0
func ValidateReceivedGroupChatInvitation(invitation *protobuf.GroupChatInvitation) error
func ValidateReceivedPairInstallation ¶
func ValidateReceivedPairInstallation(message *protobuf.PairInstallation, whisperTimestamp uint64) error
func ValidateReceivedRequestAddressForTransaction ¶
func ValidateReceivedRequestAddressForTransaction(message *protobuf.RequestAddressForTransaction, whisperTimestamp uint64) error
func ValidateReceivedRequestTransaction ¶
func ValidateReceivedRequestTransaction(message *protobuf.RequestTransaction, whisperTimestamp uint64) error
func ValidateReceivedSendTransaction ¶
func ValidateReceivedSendTransaction(message *protobuf.SendTransaction, whisperTimestamp uint64) error
func ValidateStatusUpdate ¶ added in v0.83.2
func ValidateStatusUpdate(message protobuf.StatusUpdate) error
func ValidateText ¶ added in v0.80.3
func WithDatasync ¶
func WithDatasync() func(c *config) error
func WithPushNotifications ¶ added in v0.56.1
func WithPushNotifications() func(c *config) error
Types ¶
type ActivityCenterNotification ¶ added in v0.76.0
type ActivityCenterNotification struct { ID types.HexBytes `json:"id"` ChatID string `json:"chatId"` Name string `json:"name"` Author string `json:"author"` Type ActivityCenterType `json:"type"` LastMessage *common.Message `json:"lastMessage"` Message *common.Message `json:"message"` ReplyMessage *common.Message `json:"replyMessage"` Timestamp uint64 `json:"timestamp"` Read bool `json:"read"` Dismissed bool `json:"dismissed"` Accepted bool `json:"accepted"` }
func (*ActivityCenterNotification) Valid ¶ added in v0.76.0
func (n *ActivityCenterNotification) Valid() error
type ActivityCenterPaginationResponse ¶ added in v0.76.0
type ActivityCenterPaginationResponse struct { Cursor string `json:"cursor"` Notifications []*ActivityCenterNotification `json:"notifications"` }
type ActivityCenterType ¶ added in v0.76.0
type ActivityCenterType int
const ( ActivityCenterNotificationNoType ActivityCenterType = iota ActivityCenterNotificationTypeNewOneToOne ActivityCenterNotificationTypeNewPrivateGroupChat ActivityCenterNotificationTypeMention ActivityCenterNotificationTypeReply )
type Chat ¶
type Chat struct { // ID is the id of the chat, for public chats it is the name e.g. status, for one-to-one // is the hex encoded public key and for group chats is a random uuid appended with // the hex encoded pk of the creator of the chat ID string `json:"id"` Name string `json:"name"` Description string `json:"description"` Color string `json:"color"` Emoji string `json:"emoji"` // Active indicates whether the chat has been soft deleted Active bool `json:"active"` ChatType ChatType `json:"chatType"` // Timestamp indicates the last time this chat has received/sent a message Timestamp int64 `json:"timestamp"` // LastClockValue indicates the last clock value to be used when sending messages LastClockValue uint64 `json:"lastClockValue"` // DeletedAtClockValue indicates the clock value at time of deletion, messages // with lower clock value of this should be discarded DeletedAtClockValue uint64 `json:"deletedAtClockValue"` // ReadMessagesAtClockValue indicates the clock value of time till all // messages are considered as read ReadMessagesAtClockValue uint64 // Denormalized fields UnviewedMessagesCount uint `json:"unviewedMessagesCount"` UnviewedMentionsCount uint `json:"unviewedMentionsCount"` LastMessage *common.Message `json:"lastMessage"` // Group chat fields // Members are the members who have been invited to the group chat Members []ChatMember `json:"members"` // MembershipUpdates is all the membership events in the chat MembershipUpdates []v1protocol.MembershipUpdateEvent `json:"membershipUpdateEvents"` // Generated username name of the chat for one-to-ones Alias string `json:"alias,omitempty"` // Identicon generated from public key Identicon string `json:"identicon"` // Muted is used to check whether we want to receive // push notifications for this chat Muted bool `json:"muted"` // Public key of administrator who created invitation link InvitationAdmin string `json:"invitationAdmin,omitempty"` // Public key of administrator who sent us group invitation ReceivedInvitationAdmin string `json:"receivedInvitationAdmin,omitempty"` // Public key of user profile Profile string `json:"profile,omitempty"` // CommunityID is the id of the community it belongs to CommunityID string `json:"communityId,omitempty"` // CategoryID is the id of the community category this chat belongs to. CategoryID string `json:"categoryId,omitempty"` // Joined is a timestamp that indicates when the chat was joined Joined int64 `json:"joined,omitempty"` // SyncedTo is the time up until it has synced with a mailserver SyncedTo uint32 `json:"syncedTo,omitempty"` // SyncedFrom is the time from when it was synced with a mailserver SyncedFrom uint32 `json:"syncedFrom,omitempty"` // Highlight is used for highlight chats Highlight bool `json:"highlight,omitempty"` }
func CreateCommunityChat ¶ added in v0.67.0
func CreateCommunityChat(orgID, chatID string, orgChat *protobuf.CommunityChat, timesource common.TimeSource) *Chat
func CreateCommunityChats ¶ added in v0.67.0
func CreateCommunityChats(org *communities.Community, timesource common.TimeSource) []*Chat
func CreateGroupChat ¶
func CreateGroupChat(timesource common.TimeSource) Chat
func CreateOneToOneChat ¶
func CreateProfileChat ¶ added in v0.62.14
func CreateProfileChat(pubkey string, timesource common.TimeSource) *Chat
func CreatePublicChat ¶
func CreatePublicChat(name string, timesource common.TimeSource) *Chat
func CreateTimelineChat ¶ added in v0.79.0
func CreateTimelineChat(timesource common.TimeSource) *Chat
func OneToOneFromPublicKey ¶
func OneToOneFromPublicKey(pk *ecdsa.PublicKey, timesource common.TimeSource) *Chat
func (*Chat) CommunityChat ¶ added in v0.74.2
func (*Chat) CommunityChatID ¶ added in v0.67.0
func (*Chat) HasJoinedMember ¶ added in v0.76.0
func (*Chat) JoinedMembersAsPublicKeys ¶ added in v0.61.0
func (*Chat) NextClockAndTimestamp ¶
func (c *Chat) NextClockAndTimestamp(timesource common.TimeSource) (uint64, uint64)
NextClockAndTimestamp returns the next clock value and the current timestamp
func (*Chat) PrivateGroupChat ¶ added in v0.74.2
func (*Chat) ProfileUpdates ¶ added in v0.62.14
func (*Chat) UpdateFromMessage ¶
type ChatMember ¶
type ChatMember struct { // ID is the hex encoded public key of the member ID string `json:"id"` // Admin indicates if the member is an admin of the group chat Admin bool `json:"admin"` // Joined indicates if the member has joined the group chat Joined bool `json:"joined"` }
ChatMember represents a member who participates in a group chat
type ChatMembershipUpdate ¶
type ChatMembershipUpdate struct { // Unique identifier for the event ID string `json:"id"` // Type indicates the kind of event Type protobuf.MembershipUpdateEvent_EventType `json:"type"` // Name represents the name in the event of changing name events Name string `json:"name,omitempty"` // Clock value of the event ClockValue uint64 `json:"clockValue"` // Signature of the event Signature string `json:"signature"` // Hex encoded public key of the creator of the event From string `json:"from"` // Target of the event for single-target events Member string `json:"member,omitempty"` // Target of the event for multi-target events Members []string `json:"members,omitempty"` }
ChatMembershipUpdate represent an event on membership of the chat
type ChatPreview ¶ added in v0.87.1
type ChatPreview struct { // ID is the id of the chat, for public chats it is the name e.g. status, for one-to-one // is the hex encoded public key and for group chats is a random uuid appended with // the hex encoded pk of the creator of the chat ID string `json:"id"` Name string `json:"name"` Description string `json:"description"` Color string `json:"color"` Emoji string `json:"emoji"` // Active indicates whether the chat has been soft deleted Active bool `json:"active"` ChatType ChatType `json:"chatType"` // Timestamp indicates the last time this chat has received/sent a message Timestamp int64 `json:"timestamp"` // LastClockValue indicates the last clock value to be used when sending messages LastClockValue uint64 `json:"lastClockValue"` // DeletedAtClockValue indicates the clock value at time of deletion, messages // with lower clock value of this should be discarded DeletedAtClockValue uint64 `json:"deletedAtClockValue"` // Denormalized fields UnviewedMessagesCount uint `json:"unviewedMessagesCount"` UnviewedMentionsCount uint `json:"unviewedMentionsCount"` // Generated username name of the chat for one-to-ones Alias string `json:"alias,omitempty"` // Identicon generated from public key Identicon string `json:"identicon"` // Muted is used to check whether we want to receive // push notifications for this chat Muted bool `json:"muted,omitempty"` // Public key of user profile Profile string `json:"profile,omitempty"` // CommunityID is the id of the community it belongs to CommunityID string `json:"communityId,omitempty"` // CategoryID is the id of the community category this chat belongs to. CategoryID string `json:"categoryId,omitempty"` // Joined is a timestamp that indicates when the chat was joined Joined int64 `json:"joined,omitempty"` // SyncedTo is the time up until it has synced with a mailserver SyncedTo uint32 `json:"syncedTo,omitempty"` // SyncedFrom is the time from when it was synced with a mailserver SyncedFrom uint32 `json:"syncedFrom,omitempty"` // ParsedText is the parsed markdown for displaying ParsedText json.RawMessage `json:"parsedText,omitempty"` Text string `json:"text,omitempty"` ContentType protobuf.ChatMessage_ContentType `json:"contentType,omitempty"` // Highlight is used for highlight chats Highlight bool `json:"highlight,omitempty"` // Used for display invited community's name in the last message ContentCommunityID string `json:"contentCommunityId,omitempty"` }
type ClearedHistory ¶ added in v0.94.3
type ConnectedPeer ¶ added in v0.96.0
type ConnectedPeer struct {
UniqueID string
}
type Contact ¶
type Contact struct { // ID of the contact. It's a hex-encoded public key (prefixed with 0x). ID string `json:"id"` // Ethereum address of the contact Address string `json:"address,omitempty"` // ENS name of contact EnsName string `json:"name,omitempty"` // EnsVerified whether we verified the name of the contact ENSVerified bool `json:"ensVerified"` // Generated username name of the contact Alias string `json:"alias,omitempty"` // Identicon generated from public key Identicon string `json:"identicon"` // LastUpdated is the last time we received an update from the contact // updates should be discarded if last updated is less than the one stored LastUpdated uint64 `json:"lastUpdated"` // LastUpdatedLocally is the last time we updated the contact locally LastUpdatedLocally uint64 `json:"lastUpdatedLocally"` LocalNickname string `json:"localNickname,omitempty"` // Display name of the contact DisplayName string `json:"displayName"` Images map[string]images.IdentityImage `json:"images"` Added bool `json:"added"` Blocked bool `json:"blocked"` HasAddedUs bool `json:"hasAddedUs"` IsSyncing bool Removed bool }
Contact has information about a "Contact"
func BuildContactFromPublicKey ¶ added in v0.79.0
func (*Contact) CanonicalImage ¶ added in v0.74.2
func (c *Contact) CanonicalImage(profilePicturesVisibility accounts.ProfilePicturesVisibilityType) string
func (*Contact) CanonicalName ¶ added in v0.74.2
type ContactDeviceInfo ¶
type ContactDeviceInfo struct { // The installation id of the device InstallationID string `json:"id"` // Timestamp represents the last time we received this info Timestamp int64 `json:"timestamp"` // FCMToken is to be used for push notifications FCMToken string `json:"fcmToken"` }
ContactDeviceInfo is a struct containing information about a particular device owned by a contact
type CurrentMessageState ¶
type CurrentMessageState struct { // Message is the protobuf message received Message protobuf.ChatMessage // MessageID is the ID of the message MessageID string // WhisperTimestamp is the whisper timestamp of the message WhisperTimestamp uint64 // Contact is the contact associated with the author of the message Contact *Contact // PublicKey is the public key of the author of the message PublicKey *ecdsa.PublicKey }
type DeleteMessage ¶ added in v0.83.2
type DeleteMessage struct { protobuf.DeleteMessage // ID is the ID of the message that has been edited ID string `json:"id,omitempty"` // From is a public key of the author of the edit reaction. From string `json:"from,omitempty"` // SigPubKey is the ecdsa encoded public key of the edit author SigPubKey *ecdsa.PublicKey `json:"-"` // LocalChatID is the chatID of the local chat (one-to-one are not symmetric) LocalChatID string `json:"localChatId"` }
DeleteMessage represents a delete of a message from a user in the application layer, used for persistence, querying and signaling
func (DeleteMessage) GetProtobuf ¶ added in v0.83.2
func (e DeleteMessage) GetProtobuf() proto.Message
GetProtoBuf returns the struct's embedded protobuf struct this function is required to implement the ChatEntity interface
func (DeleteMessage) GetSigPubKey ¶ added in v0.83.2
func (e DeleteMessage) GetSigPubKey() *ecdsa.PublicKey
GetSigPubKey returns an ecdsa encoded public key this function is required to implement the ChatEntity interface
func (*DeleteMessage) SetMessageType ¶ added in v0.83.2
func (e *DeleteMessage) SetMessageType(messageType protobuf.MessageType)
SetMessageType a setter for the MessageType field this function is required to implement the ChatEntity interface
func (DeleteMessage) WrapGroupMessage ¶ added in v0.83.2
func (e DeleteMessage) WrapGroupMessage() bool
WrapGroupMessage indicates whether we should wrap this in membership information
type EditMessage ¶ added in v0.80.3
type EditMessage struct { protobuf.EditMessage // ID is the ID of the message that has been edited ID string `json:"id,omitempty"` // From is a public key of the author of the edit reaction. From string `json:"from,omitempty"` // SigPubKey is the ecdsa encoded public key of the edit author SigPubKey *ecdsa.PublicKey `json:"-"` // LocalChatID is the chatID of the local chat (one-to-one are not symmetric) LocalChatID string `json:"localChatId"` }
EditMessage represents an edit of a message from a user in the application layer, used for persistence, querying and signaling
func (EditMessage) GetProtobuf ¶ added in v0.80.3
func (e EditMessage) GetProtobuf() proto.Message
GetProtoBuf returns the struct's embedded protobuf struct this function is required to implement the ChatEntity interface
func (EditMessage) GetSigPubKey ¶ added in v0.80.3
func (e EditMessage) GetSigPubKey() *ecdsa.PublicKey
GetSigPubKey returns an ecdsa encoded public key this function is required to implement the ChatEntity interface
func (*EditMessage) SetMessageType ¶ added in v0.80.3
func (e *EditMessage) SetMessageType(messageType protobuf.MessageType)
SetMessageType a setter for the MessageType field this function is required to implement the ChatEntity interface
func (EditMessage) WrapGroupMessage ¶ added in v0.80.3
func (e EditMessage) WrapGroupMessage() bool
WrapGroupMessage indicates whether we should wrap this in membership information
type EmojiReaction ¶ added in v0.56.4
type EmojiReaction struct { protobuf.EmojiReaction // From is a public key of the author of the emoji reaction. From string `json:"from,omitempty"` // SigPubKey is the ecdsa encoded public key of the emoji reaction author SigPubKey *ecdsa.PublicKey `json:"-"` // LocalChatID is the chatID of the local chat (one-to-one are not symmetric) LocalChatID string `json:"localChatId"` }
EmojiReaction represents an emoji reaction from a user in the application layer, used for persistence, querying and signaling
func (EmojiReaction) GetProtobuf ¶ added in v0.56.4
func (e EmojiReaction) GetProtobuf() proto.Message
GetProtoBuf returns the struct's embedded protobuf struct this function is required to implement the ChatEntity interface
func (EmojiReaction) GetSigPubKey ¶ added in v0.56.4
func (e EmojiReaction) GetSigPubKey() *ecdsa.PublicKey
GetSigPubKey returns an ecdsa encoded public key this function is required to implement the ChatEntity interface
func (EmojiReaction) ID ¶ added in v0.56.4
func (e EmojiReaction) ID() string
ID is the Keccak256() contatenation of From-MessageID-EmojiType
func (EmojiReaction) MarshalJSON ¶ added in v0.56.4
func (e EmojiReaction) MarshalJSON() ([]byte, error)
func (*EmojiReaction) SetMessageType ¶ added in v0.56.4
func (e *EmojiReaction) SetMessageType(messageType protobuf.MessageType)
SetMessageType a setter for the MessageType field this function is required to implement the ChatEntity interface
func (EmojiReaction) WrapGroupMessage ¶ added in v0.69.0
func (e EmojiReaction) WrapGroupMessage() bool
WrapGroupMessage indicates whether we should wrap this in membership information
type EnvelopeEventsInterceptor ¶ added in v0.64.7
type EnvelopeEventsInterceptor struct { EnvelopeEventsHandler transport.EnvelopeEventsHandler Messenger *Messenger }
func (EnvelopeEventsInterceptor) EnvelopeExpired ¶ added in v0.64.7
func (interceptor EnvelopeEventsInterceptor) EnvelopeExpired(identifiers [][]byte, err error)
EnvelopeExpired triggered when envelope is expired but wasn't delivered to any peer.
func (EnvelopeEventsInterceptor) EnvelopeSent ¶ added in v0.64.7
func (interceptor EnvelopeEventsInterceptor) EnvelopeSent(identifiers [][]byte)
EnvelopeSent triggered when envelope delivered at least to 1 peer.
func (EnvelopeEventsInterceptor) MailServerRequestCompleted ¶ added in v0.64.7
func (interceptor EnvelopeEventsInterceptor) MailServerRequestCompleted(requestID types.Hash, lastEnvelopeHash types.Hash, cursor []byte, err error)
MailServerRequestCompleted triggered when the mailserver sends a message to notify that the request has been completed
func (EnvelopeEventsInterceptor) MailServerRequestExpired ¶ added in v0.64.7
func (interceptor EnvelopeEventsInterceptor) MailServerRequestExpired(hash types.Hash)
MailServerRequestExpired triggered when the mailserver request expires
type GroupChatInvitation ¶ added in v0.60.0
type GroupChatInvitation struct { protobuf.GroupChatInvitation // From is a public key of the author of the invitation request. From string `json:"from,omitempty"` // SigPubKey is the ecdsa encoded public key of the invitation author SigPubKey *ecdsa.PublicKey `json:"-"` }
Invitation represents a group chat invitation request from a user in the application layer, used for persistence, querying and signaling
func (GroupChatInvitation) GetProtobuf ¶ added in v0.60.0
func (g GroupChatInvitation) GetProtobuf() proto.Message
GetProtoBuf returns the struct's embedded protobuf struct this function is required to implement the ChatEntity interface
func (GroupChatInvitation) GetSigPubKey ¶ added in v0.60.0
func (g GroupChatInvitation) GetSigPubKey() *ecdsa.PublicKey
GetSigPubKey returns an ecdsa encoded public key this function is required to implement the ChatEntity interface
func (GroupChatInvitation) ID ¶ added in v0.60.0
func (g GroupChatInvitation) ID() string
ID is the Keccak256() contatenation of From-ChatId
func (GroupChatInvitation) MarshalJSON ¶ added in v0.60.0
func (g GroupChatInvitation) MarshalJSON() ([]byte, error)
type MailserverBatch ¶ added in v0.79.0
type MessageDeliveredHandler ¶ added in v0.71.5
type Messenger ¶
type Messenger struct {
// contains filtered or unexported fields
}
Messenger is a entity managing chats and messages. It acts as a bridge between the application and encryption layers. It needs to expose an interface to manage installations because installations are managed by the user. Similarly, it needs to expose an interface to manage mailservers because they can also be managed by the user.
func NewMessenger ¶
func (*Messenger) AcceptActivityCenterNotifications ¶ added in v0.76.0
func (*Messenger) AcceptAllActivityCenterNotifications ¶ added in v0.76.0
func (m *Messenger) AcceptAllActivityCenterNotifications(ctx context.Context) (*MessengerResponse, error)
func (*Messenger) AcceptRequestAddressForTransaction ¶
func (*Messenger) AcceptRequestToJoinCommunity ¶ added in v0.72.0
func (m *Messenger) AcceptRequestToJoinCommunity(request *requests.AcceptRequestToJoinCommunity) (*MessengerResponse, error)
func (*Messenger) AcceptRequestTransaction ¶
func (*Messenger) ActiveChats ¶ added in v0.76.0
func (*Messenger) ActivityCenterNotifications ¶ added in v0.76.0
func (m *Messenger) ActivityCenterNotifications(cursor string, limit uint64) (*ActivityCenterPaginationResponse, error)
func (*Messenger) AddAdminsToGroupChat ¶
func (*Messenger) AddContact ¶ added in v0.68.4
func (m *Messenger) AddContact(ctx context.Context, request *requests.AddContact) (*MessengerResponse, error)
func (*Messenger) AddMailserver ¶
NOT IMPLEMENTED
func (*Messenger) AddMembersToGroupChat ¶
func (*Messenger) AddPushNotificationsServer ¶ added in v0.56.1
func (m *Messenger) AddPushNotificationsServer(ctx context.Context, publicKey *ecdsa.PublicKey, serverType pushnotificationclient.ServerType) error
AddPushNotificationsServer adds a push notification server
func (*Messenger) AddRelayPeer ¶ added in v0.88.4
func (*Messenger) AddStorePeer ¶ added in v0.88.4
func (*Messenger) AddedContacts ¶ added in v0.90.0
func (*Messenger) AllMessageByChatIDWhichMatchTerm ¶ added in v0.83.8
func (*Messenger) AllMessagesFromChatsAndCommunitiesWhichMatchTerm ¶ added in v0.83.14
func (*Messenger) AutoMessageEnabled ¶ added in v0.91.12
func (*Messenger) BackupData ¶ added in v0.90.0
func (*Messenger) BanUserFromCommunity ¶ added in v0.73.9
func (m *Messenger) BanUserFromCommunity(request *requests.BanUserFromCommunity) (*MessengerResponse, error)
func (*Messenger) BlockContact ¶
func (m *Messenger) BlockContact(contactID string) (*MessengerResponse, error)
func (*Messenger) BlockedContacts ¶ added in v0.90.0
func (*Messenger) BloomFilter ¶ added in v0.85.0
func (*Messenger) ChangeGroupChatName ¶ added in v0.52.1
func (*Messenger) ChatsPreview ¶ added in v0.87.1
func (m *Messenger) ChatsPreview() []*ChatPreview
func (*Messenger) ClearHistory ¶ added in v0.68.4
func (m *Messenger) ClearHistory(request *requests.ClearHistory) (*MessengerResponse, error)
func (*Messenger) Communities ¶ added in v0.67.0
func (m *Messenger) Communities() ([]*communities.Community, error)
func (*Messenger) ConfirmJoiningGroup ¶
func (*Messenger) ConnectionChanged ¶ added in v0.79.0
func (m *Messenger) ConnectionChanged(state connection.State)
func (*Messenger) CreateCommunity ¶ added in v0.67.0
func (m *Messenger) CreateCommunity(request *requests.CreateCommunity) (*MessengerResponse, error)
func (*Messenger) CreateCommunityCategory ¶ added in v0.79.3
func (m *Messenger) CreateCommunityCategory(request *requests.CreateCommunityCategory) (*MessengerResponse, error)
func (*Messenger) CreateCommunityChat ¶ added in v0.67.0
func (m *Messenger) CreateCommunityChat(communityID types.HexBytes, c *protobuf.CommunityChat) (*MessengerResponse, error)
func (*Messenger) CreateGroupChatFromInvitation ¶ added in v0.60.0
func (*Messenger) CreateGroupChatWithMembers ¶
func (*Messenger) CreateOneToOneChat ¶ added in v0.72.0
func (m *Messenger) CreateOneToOneChat(request *requests.CreateOneToOneChat) (*MessengerResponse, error)
func (*Messenger) CreateProfileChat ¶ added in v0.79.0
func (m *Messenger) CreateProfileChat(request *requests.CreateProfileChat) (*MessengerResponse, error)
func (*Messenger) CreatePublicChat ¶ added in v0.79.0
func (m *Messenger) CreatePublicChat(request *requests.CreatePublicChat) (*MessengerResponse, error)
func (*Messenger) DeactivateChat ¶ added in v0.68.4
func (m *Messenger) DeactivateChat(request *requests.DeactivateChat) (*MessengerResponse, error)
func (*Messenger) DeclineAllPendingGroupInvitesFromUser ¶ added in v0.91.8
func (m *Messenger) DeclineAllPendingGroupInvitesFromUser(response *MessengerResponse, userPublicKey string) (*MessengerResponse, error)
Decline all pending group invites from a user
func (*Messenger) DeclineRequestAddressForTransaction ¶
func (*Messenger) DeclineRequestToJoinCommunity ¶ added in v0.72.0
func (m *Messenger) DeclineRequestToJoinCommunity(request *requests.DeclineRequestToJoinCommunity) error
func (*Messenger) DeclineRequestTransaction ¶
func (*Messenger) DeleteChat ¶
func (*Messenger) DeleteCommunityCategory ¶ added in v0.79.3
func (m *Messenger) DeleteCommunityCategory(request *requests.DeleteCommunityCategory) (*MessengerResponse, error)
func (*Messenger) DeleteCommunityChat ¶ added in v0.83.8
func (*Messenger) DeleteMessage ¶
func (*Messenger) DeleteMessageAndSend ¶ added in v0.83.2
func (*Messenger) DeleteMessagesByChatID ¶
func (*Messenger) DialPeerByID ¶ added in v0.88.4
func (*Messenger) DisableInstallation ¶
func (*Messenger) DisablePushNotificationsBlockMentions ¶ added in v0.61.0
DisablePushNotificationsBlockMentions is used to indicate that we want to received push notifications for mentions
func (*Messenger) DisablePushNotificationsFromContactsOnly ¶ added in v0.56.1
DisablePushNotificationsFromContactsOnly is used to indicate that we want to received push notifications from anyone
func (*Messenger) DisableSendingPushNotifications ¶ added in v0.56.1
DisableSendingPushNotifications signals the client not to send any push notification
func (*Messenger) DisconnectActiveMailserver ¶ added in v0.93.2
func (m *Messenger) DisconnectActiveMailserver()
func (*Messenger) DismissActivityCenterNotifications ¶ added in v0.76.0
func (*Messenger) DismissAllActivityCenterNotifications ¶ added in v0.76.0
func (*Messenger) ENSVerified ¶ added in v0.72.0
func (*Messenger) EditCommunity ¶ added in v0.79.0
func (m *Messenger) EditCommunity(request *requests.EditCommunity) (*MessengerResponse, error)
func (*Messenger) EditCommunityCategory ¶ added in v0.79.3
func (m *Messenger) EditCommunityCategory(request *requests.EditCommunityCategory) (*MessengerResponse, error)
func (*Messenger) EditCommunityChat ¶ added in v0.79.8
func (m *Messenger) EditCommunityChat(communityID types.HexBytes, chatID string, c *protobuf.CommunityChat) (*MessengerResponse, error)
func (*Messenger) EditMessage ¶ added in v0.80.3
func (m *Messenger) EditMessage(ctx context.Context, request *requests.EditMessage) (*MessengerResponse, error)
func (*Messenger) EmojiReactionsByChatID ¶ added in v0.56.4
func (*Messenger) EmojiReactionsByChatIDMessageID ¶ added in v0.89.20
func (m *Messenger) EmojiReactionsByChatIDMessageID(chatID string, messageID string) ([]*EmojiReaction, error)
func (*Messenger) EnableInstallation ¶
func (*Messenger) EnablePushNotificationsBlockMentions ¶ added in v0.61.0
EnablePushNotificationsBlockMentions is used to indicate that we dont want to received push notifications for mentions
func (*Messenger) EnablePushNotificationsFromContactsOnly ¶ added in v0.56.1
EnablePushNotificationsFromContactsOnly is used to indicate that we want to received push notifications only from contacts
func (*Messenger) EnableSendingPushNotifications ¶ added in v0.56.1
EnableSendingPushNotifications signals the client to send push notifications
func (*Messenger) ExportCommunity ¶ added in v0.67.0
func (*Messenger) GetCommunitiesSettings ¶ added in v0.96.4
func (m *Messenger) GetCommunitiesSettings() ([]communities.CommunitySettings, error)
func (*Messenger) GetCommunityByID ¶ added in v0.94.12
func (*Messenger) GetContactByID ¶ added in v0.44.2
GetContactByID assumes pubKey includes 0x prefix
func (*Messenger) GetCurrentUserStatus ¶ added in v0.83.2
func (m *Messenger) GetCurrentUserStatus() (*UserStatus, error)
func (*Messenger) GetGroupChatInvitations ¶ added in v0.60.0
func (m *Messenger) GetGroupChatInvitations() ([]*GroupChatInvitation, error)
func (*Messenger) GetPushNotificationsServers ¶ added in v0.59.0
func (m *Messenger) GetPushNotificationsServers() ([]*pushnotificationclient.PushNotificationServer, error)
GetPushNotificationsServers returns the servers used for push notifications
func (*Messenger) GetStats ¶ added in v0.83.8
func (m *Messenger) GetStats() types.StatsSummary
func (*Messenger) HandleAcceptRequestAddressForTransaction ¶ added in v0.80.3
func (m *Messenger) HandleAcceptRequestAddressForTransaction(messageState *ReceivedMessageState, command protobuf.AcceptRequestAddressForTransaction) error
func (*Messenger) HandleAnonymousMetricBatch ¶ added in v0.86.2
func (m *Messenger) HandleAnonymousMetricBatch(amb protobuf.AnonymousMetricBatch) error
func (*Messenger) HandleBackup ¶ added in v0.90.0
func (m *Messenger) HandleBackup(state *ReceivedMessageState, message protobuf.Backup) error
func (*Messenger) HandleChatIdentity ¶ added in v0.80.3
func (m *Messenger) HandleChatIdentity(state *ReceivedMessageState, ci protobuf.ChatIdentity) error
HandleChatIdentity handles an incoming protobuf.ChatIdentity extracts contact information stored in the protobuf and adds it to the user's contact for update.
func (*Messenger) HandleChatMessage ¶ added in v0.80.3
func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error
func (*Messenger) HandleCommunityInvitation ¶ added in v0.80.3
func (m *Messenger) HandleCommunityInvitation(state *ReceivedMessageState, signer *ecdsa.PublicKey, invitation protobuf.CommunityInvitation, rawPayload []byte) error
HandleCommunityInvitation handles an community invitation
func (*Messenger) HandleCommunityRequestToJoin ¶ added in v0.80.3
func (m *Messenger) HandleCommunityRequestToJoin(state *ReceivedMessageState, signer *ecdsa.PublicKey, requestToJoinProto protobuf.CommunityRequestToJoin) error
HandleCommunityRequestToJoin handles an community request to join
func (*Messenger) HandleContactUpdate ¶ added in v0.80.3
func (m *Messenger) HandleContactUpdate(state *ReceivedMessageState, message protobuf.ContactUpdate) error
func (*Messenger) HandleDeclineRequestAddressForTransaction ¶ added in v0.80.3
func (m *Messenger) HandleDeclineRequestAddressForTransaction(messageState *ReceivedMessageState, command protobuf.DeclineRequestAddressForTransaction) error
func (*Messenger) HandleDeclineRequestTransaction ¶ added in v0.80.3
func (m *Messenger) HandleDeclineRequestTransaction(messageState *ReceivedMessageState, command protobuf.DeclineRequestTransaction) error
func (*Messenger) HandleDeleteMessage ¶ added in v0.83.2
func (m *Messenger) HandleDeleteMessage(state *ReceivedMessageState, deleteMessage DeleteMessage) error
func (*Messenger) HandleEditMessage ¶ added in v0.80.3
func (m *Messenger) HandleEditMessage(response *MessengerResponse, editMessage EditMessage) error
func (*Messenger) HandleEmojiReaction ¶ added in v0.80.3
func (m *Messenger) HandleEmojiReaction(state *ReceivedMessageState, pbEmojiR protobuf.EmojiReaction) error
func (*Messenger) HandleGroupChatInvitation ¶ added in v0.80.3
func (m *Messenger) HandleGroupChatInvitation(state *ReceivedMessageState, pbGHInvitations protobuf.GroupChatInvitation) error
func (*Messenger) HandleMembershipUpdate ¶ added in v0.80.3
func (m *Messenger) HandleMembershipUpdate(messageState *ReceivedMessageState, chat *Chat, rawMembershipUpdate protobuf.MembershipUpdateMessage, translations *systemMessageTranslationsMap) error
HandleMembershipUpdate updates a Chat instance according to the membership updates. It retrieves chat, if exists, and merges membership updates from the message. Finally, the Chat is updated with the new group events.
func (*Messenger) HandlePairInstallation ¶ added in v0.80.3
func (m *Messenger) HandlePairInstallation(state *ReceivedMessageState, message protobuf.PairInstallation) error
func (*Messenger) HandlePinMessage ¶ added in v0.80.3
func (m *Messenger) HandlePinMessage(state *ReceivedMessageState, message protobuf.PinMessage) error
func (*Messenger) HandleRequestAddressForTransaction ¶ added in v0.80.3
func (m *Messenger) HandleRequestAddressForTransaction(messageState *ReceivedMessageState, command protobuf.RequestAddressForTransaction) error
func (*Messenger) HandleRequestTransaction ¶ added in v0.80.3
func (m *Messenger) HandleRequestTransaction(messageState *ReceivedMessageState, command protobuf.RequestTransaction) error
func (*Messenger) HandleSendTransaction ¶ added in v0.80.3
func (m *Messenger) HandleSendTransaction(messageState *ReceivedMessageState, command protobuf.SendTransaction) error
func (*Messenger) HandleStatusUpdate ¶ added in v0.83.2
func (m *Messenger) HandleStatusUpdate(state *ReceivedMessageState, statusMessage protobuf.StatusUpdate) error
func (*Messenger) HandleSyncChatMessagesRead ¶ added in v0.89.18
func (m *Messenger) HandleSyncChatMessagesRead(state *ReceivedMessageState, message protobuf.SyncChatMessagesRead) error
func (*Messenger) HandleSyncChatRemoved ¶ added in v0.89.7
func (m *Messenger) HandleSyncChatRemoved(state *ReceivedMessageState, message protobuf.SyncChatRemoved) error
func (*Messenger) HandleSyncInstallationContact ¶ added in v0.80.3
func (m *Messenger) HandleSyncInstallationContact(state *ReceivedMessageState, message protobuf.SyncInstallationContactV2) error
func (*Messenger) HandleSyncInstallationPublicChat ¶ added in v0.80.3
func (m *Messenger) HandleSyncInstallationPublicChat(state *ReceivedMessageState, message protobuf.SyncInstallationPublicChat) *Chat
func (*Messenger) IdentityPublicKey ¶ added in v0.94.12
func (*Messenger) ImageServerURL ¶ added in v0.94.6
func (*Messenger) ImportCommunity ¶ added in v0.67.0
func (m *Messenger) ImportCommunity(ctx context.Context, key *ecdsa.PrivateKey) (*MessengerResponse, error)
func (*Messenger) Init ¶
Init analyzes chats and contacts in order to setup filters which are responsible for retrieving messages.
func (*Messenger) Installations ¶
func (m *Messenger) Installations() []*multidevice.Installation
func (*Messenger) InviteUsersToCommunity ¶ added in v0.72.0
func (m *Messenger) InviteUsersToCommunity(request *requests.InviteUsersToCommunity) (*MessengerResponse, error)
func (*Messenger) JoinCommunity ¶ added in v0.67.0
func (*Messenger) JoinedCommunities ¶ added in v0.67.0
func (m *Messenger) JoinedCommunities() ([]*communities.Community, error)
func (*Messenger) LeaveCommunity ¶ added in v0.67.0
func (m *Messenger) LeaveCommunity(communityID types.HexBytes) (*MessengerResponse, error)
func (*Messenger) LeaveGroupChat ¶
func (*Messenger) LoadFilters ¶
func (*Messenger) MarkActivityCenterNotificationsRead ¶ added in v0.80.2
func (*Messenger) MarkActivityCenterNotificationsUnread ¶ added in v0.91.0
func (*Messenger) MarkAllActivityCenterNotificationsRead ¶ added in v0.76.0
func (*Messenger) MarkAllRead ¶ added in v0.47.0
func (*Messenger) MarkAllReadInCommunity ¶ added in v0.87.0
func (*Messenger) MarkMessagesSeen ¶
MarkMessagesSeen marks messages with `ids` as seen in the chat `chatID`. It returns the number of affected messages or error. If there is an error, the number of affected messages is always zero.
func (*Messenger) MessageByChatID ¶
func (*Messenger) MessagesExist ¶
func (*Messenger) MuteChat ¶ added in v0.56.1
MuteChat signals to the messenger that we don't want to be notified on new messages from this chat
func (*Messenger) MyPendingRequestsToJoin ¶ added in v0.72.0
func (m *Messenger) MyPendingRequestsToJoin() ([]*communities.RequestToJoin, error)
func (*Messenger) PendingRequestsToJoinForCommunity ¶ added in v0.72.0
func (m *Messenger) PendingRequestsToJoinForCommunity(id types.HexBytes) ([]*communities.RequestToJoin, error)
func (*Messenger) PinnedMessageByChatID ¶ added in v0.78.0
func (*Messenger) PublishIdentityImage ¶ added in v0.89.10
func (*Messenger) ReSendChatMessage ¶
ReSendChatMessage pulls a message from the database and sends it again
func (*Messenger) RegisterForPushNotifications ¶ added in v0.56.1
func (m *Messenger) RegisterForPushNotifications(ctx context.Context, deviceToken, apnTopic string, tokenType protobuf.PushNotificationRegistration_TokenType) error
RegisterForPushNotification register deviceToken with any push notification server enabled
func (*Messenger) RegisteredForPushNotifications ¶ added in v0.56.1
RegisteredForPushNotifications returns whether we successfully registered with all the servers
func (*Messenger) RejectContactRequest ¶ added in v0.91.8
func (m *Messenger) RejectContactRequest(ctx context.Context, request *requests.RejectContactRequest) (*MessengerResponse, error)
NOTE: This sets HasAddedUs to false, so next time we receive a contact request it will be reset to true
func (*Messenger) RemoveContact ¶ added in v0.68.4
func (*Messenger) RemoveFilters ¶
func (*Messenger) RemoveMailserver ¶
NOT IMPLEMENTED
func (*Messenger) RemoveMemberFromGroupChat ¶
func (*Messenger) RemovePushNotificationServer ¶ added in v0.56.1
func (m *Messenger) RemovePushNotificationServer(ctx context.Context, publicKey *ecdsa.PublicKey) error
RemovePushNotificationServer removes a push notification server
func (*Messenger) RemoveUserFromCommunity ¶ added in v0.67.0
func (*Messenger) ReorderCommunityCategories ¶ added in v0.79.3
func (m *Messenger) ReorderCommunityCategories(request *requests.ReorderCommunityCategories) (*MessengerResponse, error)
func (*Messenger) ReorderCommunityChat ¶ added in v0.79.3
func (m *Messenger) ReorderCommunityChat(request *requests.ReorderCommunityChat) (*MessengerResponse, error)
func (*Messenger) RequestAddressForTransaction ¶
func (*Messenger) RequestAllHistoricMessages ¶ added in v0.79.0
func (m *Messenger) RequestAllHistoricMessages() (*MessengerResponse, error)
RequestAllHistoricMessages requests all the historic messages for any topic
func (*Messenger) RequestAllHistoricMessagesWithRetries ¶ added in v0.96.0
func (m *Messenger) RequestAllHistoricMessagesWithRetries() (*MessengerResponse, error)
func (*Messenger) RequestCommunityInfoFromMailserver ¶ added in v0.76.3
func (m *Messenger) RequestCommunityInfoFromMailserver(communityID string) (*communities.Community, error)
RequestCommunityInfoFromMailserver installs filter for community and requests its details from mailserver. It waits until it has the community before returning it
func (*Messenger) RequestCommunityInfoFromMailserverAsync ¶ added in v0.94.3
RequestCommunityInfoFromMailserverAsync installs filter for community and requests its details from mailserver. When response received it will be passed through signals handler
func (*Messenger) RequestHistoricMessagesForFilter ¶ added in v0.76.3
func (*Messenger) RequestToJoinCommunity ¶ added in v0.72.0
func (m *Messenger) RequestToJoinCommunity(request *requests.RequestToJoinCommunity) (*MessengerResponse, error)
func (*Messenger) RequestTransaction ¶
func (*Messenger) RetrieveAll ¶
func (m *Messenger) RetrieveAll() (*MessengerResponse, error)
RetrieveAll retrieves messages from all filters, processes them and returns a MessengerResponse to the client
func (*Messenger) SavePinMessages ¶ added in v0.78.0
func (m *Messenger) SavePinMessages(messages []*common.PinMessage) error
func (*Messenger) SelectMailserver ¶
NOT IMPLEMENTED
func (*Messenger) SendChatMessage ¶
func (m *Messenger) SendChatMessage(ctx context.Context, message *common.Message) (*MessengerResponse, error)
SendChatMessage takes a minimal message and sends it based on the corresponding chat
func (*Messenger) SendChatMessages ¶ added in v0.64.3
func (m *Messenger) SendChatMessages(ctx context.Context, messages []*common.Message) (*MessengerResponse, error)
SendChatMessages takes a array of messages and sends it based on the corresponding chats
func (*Messenger) SendContactUpdate ¶
func (m *Messenger) SendContactUpdate(ctx context.Context, chatID, ensName, profileImage string) (*MessengerResponse, error)
SendContactUpdate sends a contact update to a user and adds the user to contacts
func (*Messenger) SendContactUpdates ¶
func (m *Messenger) SendContactUpdates(ctx context.Context, ensName, profileImage string) (err error)
Send contact updates to all contacts added by us
func (*Messenger) SendEmojiReaction ¶ added in v0.56.4
func (m *Messenger) SendEmojiReaction(ctx context.Context, chatID, messageID string, emojiID protobuf.EmojiReaction_Type) (*MessengerResponse, error)
func (*Messenger) SendEmojiReactionRetraction ¶ added in v0.56.4
func (*Messenger) SendGroupChatInvitationRejection ¶ added in v0.60.0
func (*Messenger) SendGroupChatInvitationRequest ¶ added in v0.60.0
func (*Messenger) SendPairInstallation ¶
func (m *Messenger) SendPairInstallation(ctx context.Context) (*MessengerResponse, error)
SendPairInstallation sends a pair installation message
func (*Messenger) SendPinMessage ¶ added in v0.78.0
func (m *Messenger) SendPinMessage(ctx context.Context, message *common.PinMessage) (*MessengerResponse, error)
SendPinMessage sends the PinMessage to the corresponding chat
func (*Messenger) SendTransaction ¶
func (*Messenger) SetContactLocalNickname ¶ added in v0.90.0
func (m *Messenger) SetContactLocalNickname(request *requests.SetContactLocalNickname) (*MessengerResponse, error)
func (*Messenger) SetDisplayName ¶ added in v0.94.12
func (*Messenger) SetInstallationMetadata ¶
func (m *Messenger) SetInstallationMetadata(id string, data *multidevice.InstallationMetadata) error
func (*Messenger) SetP2PServer ¶ added in v0.93.2
func (*Messenger) SetPinnedMailservers ¶ added in v0.96.0
func (*Messenger) SetUserStatus ¶ added in v0.83.2
func (*Messenger) ShareCommunity ¶ added in v0.72.0
func (m *Messenger) ShareCommunity(request *requests.ShareCommunity) (*MessengerResponse, error)
func (*Messenger) ShareImageMessage ¶ added in v0.94.8
func (m *Messenger) ShareImageMessage(request *requests.ShareImageMessage) (*MessengerResponse, error)
func (*Messenger) SignMessage ¶ added in v0.56.6
func (*Messenger) Start ¶
func (m *Messenger) Start() (*MessengerResponse, error)
func (*Messenger) StartDiscV5 ¶ added in v0.91.8
func (*Messenger) StartMailserverCycle ¶ added in v0.93.2
func (*Messenger) StartPushNotificationsServer ¶ added in v0.56.1
StartPushNotificationsServer initialize and start a push notification server, using the current messenger identity key
func (*Messenger) StatusUpdates ¶ added in v0.83.2
func (m *Messenger) StatusUpdates() ([]UserStatus, error)
func (*Messenger) StopDiscV5 ¶ added in v0.91.8
func (*Messenger) StopPushNotificationsServer ¶ added in v0.56.1
StopPushNotificationServer stops the push notification server if running
func (*Messenger) SyncBookmark ¶ added in v0.94.4
func (*Messenger) SyncChatFromSyncedFrom ¶ added in v0.79.0
func (*Messenger) SyncDevices ¶
SyncDevices sends all public chats and contacts to paired devices TODO remove use of photoPath in contacts
func (*Messenger) ToBackground ¶ added in v0.94.0
func (m *Messenger) ToBackground()
func (*Messenger) ToForeground ¶ added in v0.94.0
func (m *Messenger) ToForeground()
func (*Messenger) ToggleUseMailservers ¶ added in v0.96.0
func (*Messenger) UnblockContact ¶ added in v0.90.0
func (*Messenger) UnmuteChat ¶ added in v0.56.1
UnmuteChat signals to the messenger that we want to be notified on new messages from this chat
func (*Messenger) UnreadActivityCenterNotificationsCount ¶ added in v0.76.0
func (*Messenger) UnregisterFromPushNotifications ¶ added in v0.56.1
UnregisterFromPushNotifications unregister from any server
func (*Messenger) UpdateMessageOutgoingStatus ¶
func (*Messenger) ValidateTransactions ¶
type MessengerResponse ¶
type MessengerResponse struct { Contacts []*Contact Installations []*multidevice.Installation EmojiReactions []*EmojiReaction Invitations []*GroupChatInvitation CommunityChanges []*communities.CommunityChanges RequestsToJoinCommunity []*communities.RequestToJoin AnonymousMetrics []*appmetrics.AppMetric Mailservers []mailservers.Mailserver Bookmarks []*browsers.Bookmark // contains filtered or unexported fields }
func (*MessengerResponse) ActivityCenterNotifications ¶ added in v0.76.0
func (r *MessengerResponse) ActivityCenterNotifications() []*ActivityCenterNotification
func (*MessengerResponse) AddActivityCenterNotification ¶ added in v0.76.0
func (r *MessengerResponse) AddActivityCenterNotification(n *ActivityCenterNotification)
func (*MessengerResponse) AddActivityCenterNotifications ¶ added in v0.76.0
func (r *MessengerResponse) AddActivityCenterNotifications(ns []*ActivityCenterNotification)
func (*MessengerResponse) AddBookmark ¶ added in v0.94.4
func (r *MessengerResponse) AddBookmark(bookmark *browsers.Bookmark)
func (*MessengerResponse) AddBookmarks ¶ added in v0.94.4
func (r *MessengerResponse) AddBookmarks(bookmarks []*browsers.Bookmark)
func (*MessengerResponse) AddChat ¶ added in v0.72.0
func (r *MessengerResponse) AddChat(c *Chat)
func (*MessengerResponse) AddChats ¶ added in v0.72.0
func (r *MessengerResponse) AddChats(chats []*Chat)
func (*MessengerResponse) AddClearedHistory ¶ added in v0.94.3
func (r *MessengerResponse) AddClearedHistory(ch *ClearedHistory)
func (*MessengerResponse) AddCommunities ¶ added in v0.72.0
func (r *MessengerResponse) AddCommunities(communities []*communities.Community)
func (*MessengerResponse) AddCommunity ¶ added in v0.72.0
func (r *MessengerResponse) AddCommunity(c *communities.Community)
func (*MessengerResponse) AddCommunitySettings ¶ added in v0.96.4
func (r *MessengerResponse) AddCommunitySettings(c *communities.CommunitySettings)
func (*MessengerResponse) AddMessage ¶ added in v0.79.0
func (r *MessengerResponse) AddMessage(message *common.Message)
func (*MessengerResponse) AddMessages ¶ added in v0.80.3
func (r *MessengerResponse) AddMessages(ms []*common.Message)
func (*MessengerResponse) AddNotification ¶ added in v0.74.2
func (r *MessengerResponse) AddNotification(n *localnotifications.Notification)
func (*MessengerResponse) AddNotifications ¶ added in v0.74.2
func (r *MessengerResponse) AddNotifications(notifications []*localnotifications.Notification)
func (*MessengerResponse) AddPinMessage ¶ added in v0.78.0
func (r *MessengerResponse) AddPinMessage(pm *common.PinMessage)
func (*MessengerResponse) AddPinMessages ¶ added in v0.78.0
func (r *MessengerResponse) AddPinMessages(pms []*common.PinMessage)
func (*MessengerResponse) AddRemovedChat ¶ added in v0.72.0
func (r *MessengerResponse) AddRemovedChat(chatID string)
func (*MessengerResponse) AddRemovedChats ¶ added in v0.72.0
func (r *MessengerResponse) AddRemovedChats(chats []string)
func (*MessengerResponse) AddRemovedMessage ¶ added in v0.83.2
func (r *MessengerResponse) AddRemovedMessage(rm *RemovedMessage)
func (*MessengerResponse) AddRemovedMessages ¶ added in v0.83.2
func (r *MessengerResponse) AddRemovedMessages(messages []*RemovedMessage)
func (*MessengerResponse) AddStatusUpdate ¶ added in v0.83.2
func (r *MessengerResponse) AddStatusUpdate(upd UserStatus)
func (*MessengerResponse) Chats ¶
func (r *MessengerResponse) Chats() []*Chat
func (*MessengerResponse) ClearNotifications ¶ added in v0.74.2
func (r *MessengerResponse) ClearNotifications()
func (*MessengerResponse) ClearedHistories ¶ added in v0.94.3
func (r *MessengerResponse) ClearedHistories() []*ClearedHistory
func (*MessengerResponse) Communities ¶ added in v0.67.0
func (r *MessengerResponse) Communities() []*communities.Community
func (*MessengerResponse) CommunitiesSettings ¶ added in v0.96.4
func (r *MessengerResponse) CommunitiesSettings() []*communities.CommunitySettings
func (*MessengerResponse) GetMessage ¶ added in v0.80.3
func (r *MessengerResponse) GetMessage(messageID string) *common.Message
func (*MessengerResponse) IsEmpty ¶
func (r *MessengerResponse) IsEmpty() bool
func (*MessengerResponse) MarshalJSON ¶ added in v0.72.0
func (r *MessengerResponse) MarshalJSON() ([]byte, error)
func (*MessengerResponse) Merge ¶ added in v0.64.3
func (r *MessengerResponse) Merge(response *MessengerResponse) error
Merge takes another response and appends the new Chats & new Messages and replaces the existing Messages & Chats if they have the same ID
func (*MessengerResponse) Messages ¶
func (r *MessengerResponse) Messages() []*common.Message
func (*MessengerResponse) Notifications ¶ added in v0.68.4
func (r *MessengerResponse) Notifications() []*localnotifications.Notification
func (*MessengerResponse) PinMessages ¶ added in v0.78.0
func (r *MessengerResponse) PinMessages() []*common.PinMessage
func (*MessengerResponse) RemovedChats ¶ added in v0.67.0
func (r *MessengerResponse) RemovedChats() []string
func (*MessengerResponse) RemovedMessages ¶ added in v0.83.2
func (r *MessengerResponse) RemovedMessages() []*RemovedMessage
func (*MessengerResponse) SetCurrentStatus ¶ added in v0.83.2
func (r *MessengerResponse) SetCurrentStatus(status UserStatus)
func (*MessengerResponse) SetMessages ¶ added in v0.80.3
func (r *MessengerResponse) SetMessages(messages []*common.Message)
func (*MessengerResponse) StatusUpdates ¶ added in v0.83.2
func (r *MessengerResponse) StatusUpdates() []UserStatus
type MessengerSignalsHandler ¶ added in v0.76.3
type MessengerSignalsHandler interface { MessageDelivered(chatID string, messageID string) CommunityInfoFound(community *communities.Community) MessengerResponse(response *MessengerResponse) HistoryRequestStarted(requestID string, numBatches int) HistoryRequestBatchProcessed(requestID string, batchIndex int, batchNum int) HistoryRequestCompleted(requestID string) HistoryRequestFailed(requestID string, err error) BackupPerformed(uint64) }
type NotificationBody ¶ added in v0.74.2
type NotificationBody struct { Message *common.Message `json:"message"` Contact *Contact `json:"contact"` Chat *Chat `json:"chat"` Community *communities.Community `json:"community"` }
func (NotificationBody) MarshalJSON ¶ added in v0.74.2
func (n NotificationBody) MarshalJSON() ([]byte, error)
type Option ¶
type Option func(*config) error
func WithAccount ¶ added in v0.65.0
func WithAccount(acc *multiaccounts.Account) Option
func WithAnonMetricsClientConfig ¶ added in v0.86.2
func WithAnonMetricsClientConfig(anonMetricsClientConfig *anonmetrics.ClientConfig) Option
func WithAnonMetricsServerConfig ¶ added in v0.86.2
func WithAnonMetricsServerConfig(anonMetricsServerConfig *anonmetrics.ServerConfig) Option
func WithAppSettings ¶ added in v0.89.2
func WithAppSettings(s accounts.Settings, nc params.NodeConfig) Option
func WithBrowserDatabase ¶ added in v0.94.4
func WithClusterConfig ¶ added in v0.93.2
func WithClusterConfig(cc params.ClusterConfig) Option
func WithCustomLogger ¶
func WithDatabase ¶
func WithDatabaseConfig ¶
func WithENSVerificationConfig ¶ added in v0.72.0
func WithENSVerificationConfig(onENSVerified func(*MessengerResponse), url, address string) Option
func WithEnvelopesMonitorConfig ¶
func WithEnvelopesMonitorConfig(emc *transport.EnvelopesMonitorConfig) Option
func WithMailserversDatabase ¶ added in v0.69.0
func WithMailserversDatabase(ma *mailservers.Database) Option
func WithMultiAccounts ¶ added in v0.65.0
func WithMultiAccounts(ma *multiaccounts.Database) Option
func WithPushNotificationClientConfig ¶ added in v0.56.1
func WithPushNotificationClientConfig(pushNotificationClientConfig *pushnotificationclient.Config) Option
func WithPushNotificationServerConfig ¶ added in v0.56.1
func WithPushNotificationServerConfig(pushNotificationServerConfig *pushnotificationserver.Config) Option
func WithSignalsHandler ¶ added in v0.76.3
func WithSignalsHandler(h MessengerSignalsHandler) Option
func WithSystemMessagesTranslations ¶
func WithSystemMessagesTranslations(t map[protobuf.MembershipUpdateEvent_EventType]string) Option
WithSystemMessagesTranslations is required for Group Chats which are currently disabled. nolint: unused
func WithTelemetry ¶ added in v0.89.20
func WithToplevelDatabaseMigrations ¶ added in v0.89.2
func WithToplevelDatabaseMigrations() Option
func WithTorrentConfig ¶ added in v0.96.2
func WithTorrentConfig(tc *params.TorrentConfig) Option
type ReceivedMessageState ¶
type ReceivedMessageState struct { // State on the message being processed CurrentMessageState *CurrentMessageState // AllChats in memory AllChats *chatMap // All contacts in memory AllContacts *contactMap // List of contacts modified ModifiedContacts *stringBoolMap // All installations in memory AllInstallations *installationMap // List of communities modified ModifiedInstallations *stringBoolMap // Map of existing messages ExistingMessagesMap map[string]bool // EmojiReactions is a list of emoji reactions for the current batch // indexed by from-message-id-emoji-type EmojiReactions map[string]*EmojiReaction // GroupChatInvitations is a list of invitation requests or rejections GroupChatInvitations map[string]*GroupChatInvitation // Response to the client Response *MessengerResponse // Timesource is a time source for clock values/timestamps. Timesource common.TimeSource AllBookmarks map[string]*browsers.Bookmark }
type RemovedMessage ¶ added in v0.84.1
type SortedMailserver ¶ added in v0.96.0
type TransactionToValidate ¶
type TransactionToValidate struct { TransactionHash string CommandID string MessageID string RetryCount int // First seen indicates the whisper timestamp of the first time we seen this FirstSeen uint64 // Validate indicates whether we should be validating this transaction Validate bool Signature []byte From *ecdsa.PublicKey }
type TransactionValidator ¶
type TransactionValidator struct {
// contains filtered or unexported fields
}
func NewTransactionValidator ¶
func (*TransactionValidator) ValidateTransaction ¶
func (t *TransactionValidator) ValidateTransaction(ctx context.Context, parameters *common.CommandParameters, from *ecdsa.PublicKey) (*VerifyTransactionResponse, error)
func (*TransactionValidator) ValidateTransactions ¶
func (t *TransactionValidator) ValidateTransactions(ctx context.Context) ([]*VerifyTransactionResponse, error)
type UserStatus ¶ added in v0.83.2
type UserStatus struct { PublicKey string `json:"publicKey,omitempty"` StatusType int `json:"statusType"` Clock uint64 `json:"clock"` CustomText string `json:"text"` }
func ToUserStatus ¶ added in v0.83.2
func ToUserStatus(msg protobuf.StatusUpdate) UserStatus
type VerifyTransactionResponse ¶
type VerifyTransactionResponse struct { Pending bool // AccordingToSpec means that the transaction is valid, // the user should be notified, but is not the same as // what was requested, for example because the value is different AccordingToSpec bool // Valid means that the transaction is valid Valid bool // The actual value received Value string // The contract used in case of tokens Contract string // The address the transaction was actually sent Address string Message *common.Message Transaction *TransactionToValidate }
Source Files ¶
- activity_center.go
- activity_center_persistence.go
- chat.go
- chat_group_proxy.go
- contact.go
- delete_message.go
- edit_message.go
- emoji_reaction.go
- errors.go
- group_chat_invitation.go
- group_chat_system_messages.go
- identity_images.go
- local_notifications.go
- message_builder.go
- message_persistence.go
- message_validator.go
- messenger.go
- messenger_activity_center.go
- messenger_auto_message.go
- messenger_backup.go
- messenger_chats.go
- messenger_communities.go
- messenger_config.go
- messenger_contacts.go
- messenger_discv5.go
- messenger_display_name.go
- messenger_ens.go
- messenger_handler.go
- messenger_images.go
- messenger_mailserver.go
- messenger_mailserver_cycle.go
- messenger_maps.go
- messenger_messages.go
- messenger_peers.go
- messenger_pin_messages.go
- messenger_response.go
- messenger_status_updates.go
- persistence.go
- status_update.go
- transaction_validator.go
Directories ¶
Path | Synopsis |
---|---|
internal
|
|
Package sqlite is responsible for creation of encrypted sqlite3 database using sqlcipher driver.
|
Package sqlite is responsible for creation of encrypted sqlite3 database using sqlcipher driver. |