Documentation ¶
Index ¶
- Variables
- type AppState
- type ChatLocalizer
- type ConvLoader
- type ConversationSource
- type CryptKey
- type FetchRetrier
- type InboxSource
- type MembershipUpdateRes
- type MessageDeliverer
- type NameInfo
- type NameInfoSource
- type Offlinable
- type PushHandler
- type Resumable
- type RetryDescription
- type Sender
- type ServerCacheVersions
- type Syncer
Constants ¶
This section is empty.
Variables ¶
View Source
var ActionNewConversation = "newConversation"
View Source
var ActionNewMessage = "newMessage"
View Source
var ActionReadMessage = "readMessage"
View Source
var ActionSetAppNotificationSettings = "setAppNotificationSettings"
View Source
var ActionSetStatus = "setStatus"
View Source
var PushActivity = "chat.activity"
View Source
var PushMembershipUpdate = "chat.membershipUpdate"
View Source
var PushTLFFinalize = "chat.tlffinalize"
View Source
var PushTLFResolve = "chat.tlfresolve"
View Source
var PushTyping = "chat.typing"
Functions ¶
This section is empty.
Types ¶
type ChatLocalizer ¶
type ConvLoader ¶ added in v1.0.27
type ConversationSource ¶
type ConversationSource interface { Offlinable Push(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msg chat1.MessageBoxed) (chat1.MessageUnboxed, bool, error) Pull(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, query *chat1.GetThreadQuery, pagination *chat1.Pagination) (chat1.ThreadView, []*chat1.RateLimit, error) PullLocalOnly(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, query *chat1.GetThreadQuery, p *chat1.Pagination) (chat1.ThreadView, error) GetMessages(ctx context.Context, conv chat1.Conversation, uid gregor1.UID, msgIDs []chat1.MessageID) ([]chat1.MessageUnboxed, error) GetMessagesWithRemotes(ctx context.Context, conv chat1.Conversation, uid gregor1.UID, msgs []chat1.MessageBoxed) ([]chat1.MessageUnboxed, error) Clear(convID chat1.ConversationID, uid gregor1.UID) error TransformSupersedes(ctx context.Context, conv chat1.Conversation, uid gregor1.UID, msgs []chat1.MessageUnboxed) ([]chat1.MessageUnboxed, error) SetRemoteInterface(func() chat1.RemoteInterface) }
type FetchRetrier ¶ added in v1.0.22
type InboxSource ¶
type InboxSource interface { Offlinable Read(ctx context.Context, uid gregor1.UID, localizer ChatLocalizer, useLocalData bool, query *chat1.GetInboxLocalQuery, p *chat1.Pagination) (chat1.Inbox, *chat1.RateLimit, error) ReadUnverified(ctx context.Context, uid gregor1.UID, useLocalData bool, query *chat1.GetInboxQuery, p *chat1.Pagination) (chat1.Inbox, *chat1.RateLimit, error) IsMember(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) (bool, *chat1.RateLimit, error) NewConversation(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, conv chat1.Conversation) error NewMessage(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, msg chat1.MessageBoxed) (*chat1.ConversationLocal, error) ReadMessage(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, msgID chat1.MessageID) (*chat1.ConversationLocal, error) SetStatus(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, status chat1.ConversationStatus) (*chat1.ConversationLocal, error) SetAppNotificationSettings(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, settings chat1.ConversationNotificationInfo) (*chat1.ConversationLocal, error) TlfFinalize(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convIDs []chat1.ConversationID, finalizeInfo chat1.ConversationFinalizeInfo) ([]chat1.ConversationLocal, error) MembershipUpdate(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, joined []chat1.ConversationMember, removed []chat1.ConversationMember) (MembershipUpdateRes, error) GetInboxQueryLocalToRemote(ctx context.Context, lquery *chat1.GetInboxLocalQuery) (*chat1.GetInboxQuery, NameInfo, error) SetRemoteInterface(func() chat1.RemoteInterface) }
type MembershipUpdateRes ¶ added in v1.0.27
type MembershipUpdateRes struct { UserJoinedConvs []chat1.ConversationLocal UserRemovedConvs []chat1.ConversationID OthersJoinedConvs []chat1.ConversationMember OthersRemovedConvs []chat1.ConversationMember }
type MessageDeliverer ¶
type MessageDeliverer interface { Offlinable Resumable Queue(ctx context.Context, convID chat1.ConversationID, msg chat1.MessagePlaintext, outboxID *chat1.OutboxID, identifyBehavior keybase1.TLFIdentifyBehavior) (chat1.OutboxRecord, error) ForceDeliverLoop(ctx context.Context) }
type NameInfoSource ¶ added in v1.0.27
type Offlinable ¶
type PushHandler ¶ added in v1.0.27
type PushHandler interface { TlfFinalize(context.Context, gregor.OutOfBandMessage) error TlfResolve(context.Context, gregor.OutOfBandMessage) error Activity(context.Context, gregor.OutOfBandMessage) error Typing(context.Context, gregor.OutOfBandMessage) error MembershipUpdate(context.Context, gregor.OutOfBandMessage) error HandleOobm(context.Context, gregor.OutOfBandMessage) (bool, error) }
type RetryDescription ¶ added in v1.0.27
type Sender ¶ added in v1.0.27
type Sender interface { Send(ctx context.Context, convID chat1.ConversationID, msg chat1.MessagePlaintext, clientPrev chat1.MessageID, outboxID *chat1.OutboxID) (chat1.OutboxID, *chat1.MessageBoxed, *chat1.RateLimit, error) Prepare(ctx context.Context, msg chat1.MessagePlaintext, membersType chat1.ConversationMembersType, conv *chat1.Conversation) (*chat1.MessageBoxed, []chat1.Asset, []gregor1.UID, chat1.ChannelMention, *chat1.TopicNameState, error) }
type ServerCacheVersions ¶
type Syncer ¶
type Syncer interface { IsConnected(ctx context.Context) bool Connected(ctx context.Context, cli chat1.RemoteInterface, uid gregor1.UID, syncRes *chat1.SyncChatRes) error Disconnected(ctx context.Context) Sync(ctx context.Context, cli chat1.RemoteInterface, uid gregor1.UID, syncRes *chat1.SyncChatRes) error RegisterOfflinable(offlinable Offlinable) SendChatStaleNotifications(ctx context.Context, uid gregor1.UID, updates []chat1.ConversationStaleUpdate, immediate bool) Shutdown() }
Click to show internal directories.
Click to hide internal directories.