Documentation ¶
Index ¶
- Constants
- Variables
- func BackgroundContext(sourceCtx context.Context, g *globals.Context) context.Context
- func Context(ctx context.Context, g *globals.Context, mode keybase1.TLFIdentifyBehavior, ...) context.Context
- func CtxAddLogTags(ctx context.Context, env appTypeSource) context.Context
- func CtxIdentifyNotifier(ctx context.Context) types.IdentifyNotifier
- func CtxModifyIdentifyNotifier(ctx context.Context, notifier types.IdentifyNotifier) context.Context
- func CtxTrace(ctx context.Context) (string, bool)
- func CtxUPAKFinder(ctx context.Context, g *globals.Context) types.UPAKFinder
- func CurrentUID(g *globals.Context) (keybase1.UID, error)
- func FindConversations(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ...) (res []chat1.ConversationLocal, rl []chat1.RateLimit, err error)
- func GetInboxQueryNameInfo(ctx context.Context, g *globals.Context, lquery *chat1.GetInboxLocalQuery) (*types.NameInfo, error)
- func GetLastSendTime(ctx context.Context, g *globals.Context, log utils.DebugLabeler) time.Time
- func GetTopicNameState(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ...) (res chat1.TopicNameState, err error)
- func GetUnverifiedConv(ctx context.Context, g *globals.Context, uid gregor1.UID, ...) (chat1.Conversation, *chat1.RateLimit, error)
- func IdentifyMode(ctx context.Context) (ib keybase1.TLFIdentifyBehavior, breaks *[]keybase1.TLFIdentifyFailure, ...)
- func IdentifyModeCtx(ctx context.Context, mode keybase1.TLFIdentifyBehavior, ...) context.Context
- func JoinConversation(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ...) (rl []chat1.RateLimit, err error)
- func LeaveConversation(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ...) (rl []chat1.RateLimit, err error)
- func NewConversation(ctx context.Context, g *globals.Context, uid gregor1.UID, tlfName string, ...) (chat1.ConversationLocal, []chat1.RateLimit, error)
- func NewConversationSource(g *globals.Context, typ string, boxer *Boxer, storage *storage.Storage, ...) types.ConversationSource
- func NewInboxSource(g *globals.Context, typ string, ri func() chat1.RemoteInterface) types.InboxSource
- func PreviewConversation(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ...) (rl []chat1.RateLimit, err error)
- func RecentConversationParticipants(ctx context.Context, g *globals.Context, myUID gregor1.UID) ([]gregor1.UID, error)
- func RecordChatSend(ctx context.Context, g *globals.Context, log utils.DebugLabeler)
- func TouchFirstChatActiveQueryTime(ctx context.Context, g *globals.Context, log utils.DebugLabeler) time.Time
- type AttachmentInfo
- type AttachmentStash
- type AttachmentStore
- func (a *AttachmentStore) DeleteAsset(ctx context.Context, params chat1.S3Params, signer s3.Signer, ...) error
- func (a *AttachmentStore) DeleteAssets(ctx context.Context, params chat1.S3Params, signer s3.Signer, ...) error
- func (a *AttachmentStore) DownloadAsset(ctx context.Context, params chat1.S3Params, asset chat1.Asset, w io.Writer, ...) error
- func (a *AttachmentStore) PutS3(ctx context.Context, r io.Reader, size int64, task *UploadTask, ...) (*PutS3Result, error)
- func (a *AttachmentStore) UploadAsset(ctx context.Context, task *UploadTask) (chat1.Asset, error)
- type BackgroundConvLoader
- func (b *BackgroundConvLoader) Queue(ctx context.Context, convID chat1.ConversationID) error
- func (b *BackgroundConvLoader) Resume(ctx context.Context) bool
- func (b *BackgroundConvLoader) Start(ctx context.Context, uid gregor1.UID)
- func (b *BackgroundConvLoader) Stop(ctx context.Context) chan struct{}
- func (b *BackgroundConvLoader) Suspend(ctx context.Context) (canceled bool)
- type BlockingLocalizer
- type BlockingSender
- func (s *BlockingSender) Prepare(ctx context.Context, plaintext chat1.MessagePlaintext, ...) (*chat1.MessageBoxed, []chat1.Asset, []gregor1.UID, chat1.ChannelMention, ...)
- func (s *BlockingSender) Send(ctx context.Context, convID chat1.ConversationID, msg chat1.MessagePlaintext, ...) (obid chat1.OutboxID, boxed *chat1.MessageBoxed, rl *chat1.RateLimit, err error)
- func (s *BlockingSender) Sign(payload []byte) ([]byte, error)
- type BodyHashInvalid
- type Boxer
- func (b *Boxer) BoxMessage(ctx context.Context, msg chat1.MessagePlaintext, ...) (res *chat1.MessageBoxed, err error)
- func (b *Boxer) CompareTlfNames(ctx context.Context, tlfName1, tlfName2 string, conv chat1.Conversation, ...) (bool, error)
- func (b *Boxer) UnboxMessage(ctx context.Context, boxed chat1.MessageBoxed, ...) (m chat1.MessageUnboxed, uberr UnboxingError)
- func (b *Boxer) UnboxMessages(ctx context.Context, boxed []chat1.MessageBoxed, ...) (unboxed []chat1.MessageUnboxed, err error)
- func (b *Boxer) UnboxThread(ctx context.Context, boxed chat1.ThreadViewBoxed, ...) (thread chat1.ThreadView, err error)
- func (b *Boxer) ValidSenderKey(ctx context.Context, sender gregor1.UID, key []byte, ctime gregor1.Time) (found, validAtCTime bool, revoked *gregor1.Time, unboxErr UnboxingError)
- type BoxingCryptKeysError
- type BoxingError
- type BufferSource
- type ByMsgID
- type CachingIdentifyNotifier
- type CachingTeamChannelSource
- func (c *CachingTeamChannelSource) ChannelsChanged(ctx context.Context, teamID chat1.TLFID)
- func (c *CachingTeamChannelSource) Connected(ctx context.Context)
- func (c *CachingTeamChannelSource) Disconnected(ctx context.Context)
- func (c *CachingTeamChannelSource) GetChannelTopicName(ctx context.Context, uid gregor1.UID, tlfID chat1.TLFID, ...) (topicName string, rl []chat1.RateLimit, err error)
- func (c *CachingTeamChannelSource) GetChannelsFull(ctx context.Context, uid gregor1.UID, teamID chat1.TLFID, ...) (res []chat1.ConversationLocal, rl []chat1.RateLimit, err error)
- func (c *CachingTeamChannelSource) GetChannelsTopicName(ctx context.Context, uid gregor1.UID, teamID chat1.TLFID, ...) (res []chat1.ChannelNameMention, rl []chat1.RateLimit, err error)
- func (c *CachingTeamChannelSource) IsOffline(ctx context.Context) bool
- type CachingUPAKFinder
- func (u *CachingUPAKFinder) CheckKIDForUID(ctx context.Context, uid keybase1.UID, kid keybase1.KID) (found bool, revokedAt *keybase1.KeybaseTime, deleted bool, err error)
- func (u *CachingUPAKFinder) LookupUsernameAndDevice(ctx context.Context, uid keybase1.UID, deviceID keybase1.DeviceID) (username libkb.NormalizedUsername, deviceName string, deviceType string, ...)
- type ChatThreadConsistencyError
- type ConsistencyErrorCode
- type ConversationRetry
- type Decrypter
- type Deliverer
- func (s *Deliverer) Connected(ctx context.Context)
- func (s *Deliverer) Disconnected(ctx context.Context)
- func (s *Deliverer) ForceDeliverLoop(ctx context.Context)
- func (s *Deliverer) IsOffline(ctx context.Context) bool
- func (s *Deliverer) Queue(ctx context.Context, convID chat1.ConversationID, msg chat1.MessagePlaintext, ...) (obr chat1.OutboxRecord, err error)
- func (s *Deliverer) SetClock(clock clockwork.Clock)
- func (s *Deliverer) SetSender(sender types.Sender)
- func (s *Deliverer) Start(ctx context.Context, uid gregor1.UID)
- func (s *Deliverer) Stop(ctx context.Context) chan struct{}
- type DelivererInfoError
- type DummyIdentifyNotifier
- type DuplicateTopicNameError
- type Encrypter
- type ErrorWrapper
- type FetchRetrier
- func (f *FetchRetrier) Connected(ctx context.Context)
- func (f *FetchRetrier) Disconnected(ctx context.Context)
- func (f *FetchRetrier) Failure(ctx context.Context, uid gregor1.UID, desc types.RetryDescription) (err error)
- func (f *FetchRetrier) Force(ctx context.Context)
- func (f *FetchRetrier) IsOffline(ctx context.Context) bool
- func (f *FetchRetrier) Rekey(ctx context.Context, name string, membersType chat1.ConversationMembersType, ...)
- func (f *FetchRetrier) SetClock(clock clockwork.Clock)
- func (f *FetchRetrier) Start(ctx context.Context, uid gregor1.UID)
- func (f *FetchRetrier) Stop(ctx context.Context) chan struct{}
- func (f *FetchRetrier) Success(ctx context.Context, uid gregor1.UID, desc types.RetryDescription) (err error)
- type FetchType
- type FileStash
- type FullInboxRetry
- type HeaderMismatchError
- type Helper
- func (h *Helper) FindConversations(ctx context.Context, name string, topicName *string, topicType chat1.TopicType, ...) ([]chat1.ConversationLocal, error)
- func (h *Helper) FindConversationsByID(ctx context.Context, convIDs []chat1.ConversationID) ([]chat1.ConversationLocal, error)
- func (h *Helper) GetChannelTopicName(ctx context.Context, teamID keybase1.TeamID, topicType chat1.TopicType, ...) (topicName string, err error)
- func (h *Helper) SendMsgByID(ctx context.Context, convID chat1.ConversationID, ...) error
- func (h *Helper) SendMsgByIDNonblock(ctx context.Context, convID chat1.ConversationID, ...) error
- func (h *Helper) SendMsgByName(ctx context.Context, name string, topicName *string, ...) error
- func (h *Helper) SendMsgByNameNonblock(ctx context.Context, name string, topicName *string, ...) error
- func (h *Helper) SendTextByID(ctx context.Context, convID chat1.ConversationID, ...) error
- func (h *Helper) SendTextByIDNonblock(ctx context.Context, convID chat1.ConversationID, ...) error
- func (h *Helper) SendTextByName(ctx context.Context, name string, topicName *string, ...) error
- func (h *Helper) SendTextByNameNonblock(ctx context.Context, name string, topicName *string, ...) error
- func (h *Helper) UpgradeKBFSToImpteam(ctx context.Context, tlfName string, tlfID chat1.TLFID, public bool) (err error)
- type HybridConversationSource
- func (s *HybridConversationSource) Clear(convID chat1.ConversationID, uid gregor1.UID) error
- func (s *HybridConversationSource) Expunge(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) (err error)
- func (s *HybridConversationSource) GetMessages(ctx context.Context, conv types.UnboxConversationInfo, uid gregor1.UID, ...) ([]chat1.MessageUnboxed, error)
- func (s *HybridConversationSource) GetMessagesWithRemotes(ctx context.Context, conv chat1.Conversation, uid gregor1.UID, ...) ([]chat1.MessageUnboxed, error)
- func (s *HybridConversationSource) Pull(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) (thread chat1.ThreadView, rl []*chat1.RateLimit, err error)
- func (s *HybridConversationSource) PullLocalOnly(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) (tv chat1.ThreadView, err error)
- func (s *HybridConversationSource) Push(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) (decmsg chat1.MessageUnboxed, continuousUpdate bool, err error)
- func (s HybridConversationSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
- func (s HybridConversationSource) TransformSupersedes(ctx context.Context, conv chat1.Conversation, uid gregor1.UID, ...) ([]chat1.MessageUnboxed, error)
- type HybridInboxSource
- func (s HybridInboxSource) Connected(ctx context.Context)
- func (s HybridInboxSource) Disconnected(ctx context.Context)
- func (s *HybridInboxSource) Expunge(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (*chat1.ConversationLocal, error)
- func (b HybridInboxSource) GetInboxQueryLocalToRemote(ctx context.Context, lquery *chat1.GetInboxLocalQuery) (rquery *chat1.GetInboxQuery, info *types.NameInfo, err error)
- func (b HybridInboxSource) IsMember(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) (bool, *chat1.RateLimit, error)
- func (s HybridInboxSource) IsOffline(ctx context.Context) bool
- func (s *HybridInboxSource) MembershipUpdate(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (res types.MembershipUpdateRes, err error)
- func (s *HybridInboxSource) NewConversation(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (err error)
- func (s *HybridInboxSource) NewMessage(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (conv *chat1.ConversationLocal, err error)
- func (s *HybridInboxSource) Read(ctx context.Context, uid gregor1.UID, localizer types.ChatLocalizer, ...) (inbox types.Inbox, rl *chat1.RateLimit, err error)
- func (s *HybridInboxSource) ReadMessage(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (conv *chat1.ConversationLocal, err error)
- func (s *HybridInboxSource) ReadUnverified(ctx context.Context, uid gregor1.UID, useLocalData bool, ...) (res types.Inbox, rl *chat1.RateLimit, err error)
- func (s *HybridInboxSource) SetAppNotificationSettings(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (conv *chat1.ConversationLocal, err error)
- func (s *HybridInboxSource) SetConvRetention(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (res *chat1.ConversationLocal, err error)
- func (b HybridInboxSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
- func (s *HybridInboxSource) SetStatus(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (conv *chat1.ConversationLocal, err error)
- func (s *HybridInboxSource) SetTeamRetention(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (convs []chat1.ConversationLocal, err error)
- func (s *HybridInboxSource) TeamTypeChanged(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (conv *chat1.ConversationLocal, err error)
- func (s *HybridInboxSource) TlfFinalize(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (convs []chat1.ConversationLocal, err error)
- func (s *HybridInboxSource) UpgradeKBFSToImpteam(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (conv *chat1.ConversationLocal, err error)
- type IdentifyChangedHandler
- type ImplicitTeamsNameInfoSource
- func (t *ImplicitTeamsNameInfoSource) DecryptionKeys(ctx context.Context, name string, teamID chat1.TLFID, ...) (res *types.NameInfo, err error)
- func (t *ImplicitTeamsNameInfoSource) EncryptionKeys(ctx context.Context, name string, teamID chat1.TLFID, ...) (res *types.NameInfo, err error)
- func (t *ImplicitTeamsNameInfoSource) Lookup(ctx context.Context, name string, public bool) (res *types.NameInfo, err error)
- type ImpteamUpgradeBadteamError
- type KBFSNameInfoSource
- func (t *KBFSNameInfoSource) CompleteAndCanonicalizePrivateTlfName(ctx context.Context, tlfName string) (res keybase1.CanonicalTLFNameAndIDWithBreaks, err error)
- func (t *KBFSNameInfoSource) CryptKeys(ctx context.Context, tlfName string) (res keybase1.GetTLFCryptKeysRes, ferr error)
- func (t *KBFSNameInfoSource) DecryptionKeys(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (*types.NameInfo, error)
- func (t *KBFSNameInfoSource) EncryptionKeys(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (*types.NameInfo, error)
- func (t *KBFSNameInfoSource) Lookup(ctx context.Context, tlfName string, public bool) (res *types.NameInfo, err error)
- func (t *KBFSNameInfoSource) PublicCanonicalTLFNameAndID(ctx context.Context, tlfName string) (res keybase1.CanonicalTLFNameAndIDWithBreaks, ferr error)
- type KeyFinder
- type KeyFinderImpl
- func (k *KeyFinderImpl) Find(ctx context.Context, name string, membersType chat1.ConversationMembersType, ...) (res *types.NameInfo, err error)
- func (k *KeyFinderImpl) FindForDecryption(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (res *types.NameInfo, err error)
- func (k *KeyFinderImpl) FindForEncryption(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (res *types.NameInfo, err error)
- func (k *KeyFinderImpl) Reset()
- func (k *KeyFinderImpl) SetNameInfoSourceOverride(ni types.NameInfoSource)
- type NameIdentifier
- type NonblockInboxResult
- type NonblockingLocalizer
- type NonblockingSender
- func (s *NonblockingSender) Prepare(ctx context.Context, msg chat1.MessagePlaintext, ...) (*chat1.MessageBoxed, []chat1.Asset, []gregor1.UID, chat1.ChannelMention, ...)
- func (s *NonblockingSender) Send(ctx context.Context, convID chat1.ConversationID, msg chat1.MessagePlaintext, ...) (chat1.OutboxID, *chat1.MessageBoxed, *chat1.RateLimit, error)
- type OfflineClient
- type OfflineError
- type OfflineErrorKind
- type PermanentUnboxingError
- type PreviewRes
- type ProgressReporter
- type PushHandler
- func (g *PushHandler) Activity(ctx context.Context, m gregor.OutOfBandMessage) (err error)
- func (g *PushHandler) HandleOobm(ctx context.Context, obm gregor.OutOfBandMessage) (bool, error)
- func (g *PushHandler) MembershipUpdate(ctx context.Context, m gregor.OutOfBandMessage) (err error)
- func (g *PushHandler) SetBadger(badger *badges.Badger)
- func (g *PushHandler) SetClock(clock clockwork.Clock)
- func (g *PushHandler) SetConvRetention(ctx context.Context, m gregor.OutOfBandMessage) (err error)
- func (g *PushHandler) SetTeamRetention(ctx context.Context, m gregor.OutOfBandMessage) (err error)
- func (g *PushHandler) TeamChannels(ctx context.Context, m gregor.OutOfBandMessage) (err error)
- func (g *PushHandler) TlfFinalize(ctx context.Context, m gregor.OutOfBandMessage) (err error)
- func (g *PushHandler) TlfResolve(ctx context.Context, m gregor.OutOfBandMessage) (err error)
- func (g *PushHandler) Typing(ctx context.Context, m gregor.OutOfBandMessage) (err error)
- func (g *PushHandler) UpgradeKBFSToImpteam(ctx context.Context, m gregor.OutOfBandMessage) (err error)
- type PutS3Result
- type ReadResetter
- type RemoteClient
- type RemoteConversationSource
- func (s *RemoteConversationSource) Clear(convID chat1.ConversationID, uid gregor1.UID) error
- func (s *RemoteConversationSource) Expunge(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) error
- func (s *RemoteConversationSource) GetMessages(ctx context.Context, conv types.UnboxConversationInfo, uid gregor1.UID, ...) ([]chat1.MessageUnboxed, error)
- func (s *RemoteConversationSource) GetMessagesWithRemotes(ctx context.Context, conv chat1.Conversation, uid gregor1.UID, ...) ([]chat1.MessageUnboxed, error)
- func (s *RemoteConversationSource) Pull(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) (chat1.ThreadView, []*chat1.RateLimit, error)
- func (s *RemoteConversationSource) PullLocalOnly(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) (chat1.ThreadView, error)
- func (s *RemoteConversationSource) Push(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) (chat1.MessageUnboxed, bool, error)
- func (s RemoteConversationSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
- func (s RemoteConversationSource) TransformSupersedes(ctx context.Context, conv chat1.Conversation, uid gregor1.UID, ...) ([]chat1.MessageUnboxed, error)
- type RemoteInboxSource
- func (s RemoteInboxSource) Connected(ctx context.Context)
- func (s RemoteInboxSource) Disconnected(ctx context.Context)
- func (s *RemoteInboxSource) Expunge(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (res *chat1.ConversationLocal, err error)
- func (b RemoteInboxSource) GetInboxQueryLocalToRemote(ctx context.Context, lquery *chat1.GetInboxLocalQuery) (rquery *chat1.GetInboxQuery, info *types.NameInfo, err error)
- func (b RemoteInboxSource) IsMember(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) (bool, *chat1.RateLimit, error)
- func (s RemoteInboxSource) IsOffline(ctx context.Context) bool
- func (s *RemoteInboxSource) MembershipUpdate(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (res types.MembershipUpdateRes, err error)
- func (s *RemoteInboxSource) NewConversation(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) error
- func (s *RemoteInboxSource) NewMessage(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (*chat1.ConversationLocal, error)
- func (s *RemoteInboxSource) Read(ctx context.Context, uid gregor1.UID, localizer types.ChatLocalizer, ...) (types.Inbox, *chat1.RateLimit, error)
- func (s *RemoteInboxSource) ReadMessage(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (*chat1.ConversationLocal, error)
- func (s *RemoteInboxSource) ReadUnverified(ctx context.Context, uid gregor1.UID, useLocalData bool, ...) (types.Inbox, *chat1.RateLimit, error)
- func (s *RemoteInboxSource) SetAppNotificationSettings(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (*chat1.ConversationLocal, error)
- func (s *RemoteInboxSource) SetConvRetention(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (res *chat1.ConversationLocal, err error)
- func (b RemoteInboxSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
- func (s *RemoteInboxSource) SetStatus(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (*chat1.ConversationLocal, error)
- func (s *RemoteInboxSource) SetTeamRetention(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (res []chat1.ConversationLocal, err error)
- func (s *RemoteInboxSource) TeamTypeChanged(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (conv *chat1.ConversationLocal, err error)
- func (s *RemoteInboxSource) TlfFinalize(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) ([]chat1.ConversationLocal, error)
- func (s *RemoteInboxSource) UpdateKBFSToImpteam(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, ...) (conv *chat1.ConversationLocal, err error)
- type Searcher
- type Server
- func (h *Server) AddTeamMemberAfterReset(ctx context.Context, arg chat1.AddTeamMemberAfterResetArg) (err error)
- func (h *Server) CancelPost(ctx context.Context, outboxID chat1.OutboxID) (err error)
- func (h *Server) DeleteConversationLocal(ctx context.Context, arg chat1.DeleteConversationLocalArg) (res chat1.DeleteConversationLocalRes, err error)
- func (h *Server) DownloadAttachmentLocal(ctx context.Context, arg chat1.DownloadAttachmentLocalArg) (res chat1.DownloadAttachmentLocalRes, err error)
- func (h *Server) DownloadFileAttachmentLocal(ctx context.Context, arg chat1.DownloadFileAttachmentLocalArg) (res chat1.DownloadAttachmentLocalRes, err error)
- func (h *Server) FindConversationsLocal(ctx context.Context, arg chat1.FindConversationsLocalArg) (res chat1.FindConversationsLocalRes, err error)
- func (h *Server) GenerateOutboxID(ctx context.Context) (res chat1.OutboxID, err error)
- func (h *Server) GetCachedThread(ctx context.Context, arg chat1.GetCachedThreadArg) (res chat1.GetThreadLocalRes, err error)
- func (h *Server) GetConversationForCLILocal(ctx context.Context, arg chat1.GetConversationForCLILocalQuery) (res chat1.GetConversationForCLILocalRes, err error)
- func (h *Server) GetGlobalAppNotificationSettingsLocal(ctx context.Context) (res chat1.GlobalAppNotificationSettings, err error)
- func (h *Server) GetInboxAndUnboxLocal(ctx context.Context, arg chat1.GetInboxAndUnboxLocalArg) (res chat1.GetInboxAndUnboxLocalRes, err error)
- func (h *Server) GetInboxNonblockLocal(ctx context.Context, arg chat1.GetInboxNonblockLocalArg) (res chat1.NonblockFetchRes, err error)
- func (h *Server) GetInboxSummaryForCLILocal(ctx context.Context, arg chat1.GetInboxSummaryForCLILocalQuery) (res chat1.GetInboxSummaryForCLILocalRes, err error)
- func (h *Server) GetMessagesLocal(ctx context.Context, arg chat1.GetMessagesLocalArg) (res chat1.GetMessagesLocalRes, err error)
- func (h *Server) GetSearchRegexp(ctx context.Context, arg chat1.GetSearchRegexpArg) (res chat1.GetSearchRegexpRes, err error)
- func (h *Server) GetTLFConversationsLocal(ctx context.Context, arg chat1.GetTLFConversationsLocalArg) (res chat1.GetTLFConversationsLocalRes, err error)
- func (h *Server) GetTeamRetentionLocal(ctx context.Context, teamID keybase1.TeamID) (res *chat1.RetentionPolicy, err error)
- func (h *Server) GetThreadLocal(ctx context.Context, arg chat1.GetThreadLocalArg) (res chat1.GetThreadLocalRes, err error)
- func (h *Server) GetThreadNonblock(ctx context.Context, arg chat1.GetThreadNonblockArg) (res chat1.NonblockFetchRes, fullErr error)
- func (h *Server) JoinConversationByIDLocal(ctx context.Context, convID chat1.ConversationID) (res chat1.JoinLeaveConversationLocalRes, err error)
- func (h *Server) JoinConversationLocal(ctx context.Context, arg chat1.JoinConversationLocalArg) (res chat1.JoinLeaveConversationLocalRes, err error)
- func (h *Server) LeaveConversationLocal(ctx context.Context, convID chat1.ConversationID) (res chat1.JoinLeaveConversationLocalRes, err error)
- func (h *Server) MakePreview(ctx context.Context, arg chat1.MakePreviewArg) (res chat1.MakePreviewRes, err error)
- func (h *Server) MarkAsReadLocal(ctx context.Context, arg chat1.MarkAsReadLocalArg) (res chat1.MarkAsReadLocalRes, err error)
- func (h *Server) NewConversationLocal(ctx context.Context, arg chat1.NewConversationLocalArg) (res chat1.NewConversationLocalRes, err error)
- func (h *Server) PostAttachmentLocal(ctx context.Context, arg chat1.PostAttachmentLocalArg) (res chat1.PostLocalRes, err error)
- func (h *Server) PostDeleteHistoryByAge(ctx context.Context, arg chat1.PostDeleteHistoryByAgeArg) (res chat1.PostLocalRes, err error)
- func (h *Server) PostDeleteHistoryThrough(ctx context.Context, arg chat1.PostDeleteHistoryThroughArg) (res chat1.PostLocalRes, err error)
- func (h *Server) PostDeleteHistoryUpto(ctx context.Context, arg chat1.PostDeleteHistoryUptoArg) (res chat1.PostLocalRes, err error)
- func (h *Server) PostDeleteNonblock(ctx context.Context, arg chat1.PostDeleteNonblockArg) (chat1.PostLocalNonblockRes, error)
- func (h *Server) PostEditNonblock(ctx context.Context, arg chat1.PostEditNonblockArg) (chat1.PostLocalNonblockRes, error)
- func (h *Server) PostFileAttachmentLocal(ctx context.Context, arg chat1.PostFileAttachmentLocalArg) (res chat1.PostLocalRes, err error)
- func (h *Server) PostHeadline(ctx context.Context, arg chat1.PostHeadlineArg) (chat1.PostLocalRes, error)
- func (h *Server) PostHeadlineNonblock(ctx context.Context, arg chat1.PostHeadlineNonblockArg) (chat1.PostLocalNonblockRes, error)
- func (h *Server) PostLocal(ctx context.Context, arg chat1.PostLocalArg) (res chat1.PostLocalRes, err error)
- func (h *Server) PostLocalNonblock(ctx context.Context, arg chat1.PostLocalNonblockArg) (res chat1.PostLocalNonblockRes, err error)
- func (h *Server) PostMetadata(ctx context.Context, arg chat1.PostMetadataArg) (chat1.PostLocalRes, error)
- func (h *Server) PostMetadataNonblock(ctx context.Context, arg chat1.PostMetadataNonblockArg) (chat1.PostLocalNonblockRes, error)
- func (h *Server) PostTextNonblock(ctx context.Context, arg chat1.PostTextNonblockArg) (chat1.PostLocalNonblockRes, error)
- func (h *Server) PreviewConversationByIDLocal(ctx context.Context, convID chat1.ConversationID) (res chat1.JoinLeaveConversationLocalRes, err error)
- func (h *Server) RetryPost(ctx context.Context, arg chat1.RetryPostArg) (err error)
- func (h *Server) SetAppNotificationSettingsLocal(ctx context.Context, arg chat1.SetAppNotificationSettingsLocalArg) (res chat1.SetAppNotificationSettingsLocalRes, err error)
- func (h *Server) SetClock(clock clockwork.Clock)
- func (h *Server) SetConvRetentionLocal(ctx context.Context, arg chat1.SetConvRetentionLocalArg) (err error)
- func (h *Server) SetConversationStatusLocal(ctx context.Context, arg chat1.SetConversationStatusLocalArg) (res chat1.SetConversationStatusLocalRes, err error)
- func (h *Server) SetGlobalAppNotificationSettingsLocal(ctx context.Context, strSettings map[string]bool) (err error)
- func (h *Server) SetTeamRetentionLocal(ctx context.Context, arg chat1.SetTeamRetentionLocalArg) (err error)
- func (h *Server) Sign(payload []byte) ([]byte, error)
- func (h *Server) UnboxMobilePushNotification(ctx context.Context, arg chat1.UnboxMobilePushNotificationArg) (res string, err error)
- func (h *Server) UpdateTyping(ctx context.Context, arg chat1.UpdateTypingArg) (err error)
- func (h *Server) UpgradeKBFSConversationToImpteam(ctx context.Context, convID chat1.ConversationID) (err error)
- type ServerConnection
- type SignDecrypter
- type SignEncrypter
- func (s *SignEncrypter) Encrypt(r io.Reader) (io.Reader, error)
- func (s *SignEncrypter) EncryptKey() []byte
- func (s *SignEncrypter) EncryptResume(r io.Reader, nonce signencrypt.Nonce, encKey signencrypt.SecretboxKey, ...) (io.Reader, error)
- func (s *SignEncrypter) EncryptWithNonce(r io.Reader, nonce signencrypt.Nonce) (io.Reader, error)
- func (s *SignEncrypter) EncryptedLen(size int) int
- func (s *SignEncrypter) SignKey() []byte
- func (s *SignEncrypter) VerifyKey() []byte
- type SimpleIdentifyNotifier
- type StashKey
- type Syncer
- func (s *Syncer) Connected(ctx context.Context, cli chat1.RemoteInterface, uid gregor1.UID, ...) (err error)
- func (s *Syncer) Disconnected(ctx context.Context)
- func (s *Syncer) IsConnected(ctx context.Context) bool
- func (s *Syncer) RegisterOfflinable(offlinable types.Offlinable)
- func (s *Syncer) SelectConversation(ctx context.Context, convID chat1.ConversationID)
- func (s *Syncer) SendChatStaleNotifications(ctx context.Context, uid gregor1.UID, updates []chat1.ConversationStaleUpdate, ...)
- func (s *Syncer) SetClock(clock clockwork.Clock)
- func (s *Syncer) Shutdown()
- func (s *Syncer) Sync(ctx context.Context, cli chat1.RemoteInterface, uid gregor1.UID, ...) (err error)
- type TeamLoader
- type TeamsNameInfoSource
- func (t *TeamsNameInfoSource) DecryptionKeys(ctx context.Context, name string, teamID chat1.TLFID, ...) (res *types.NameInfo, err error)
- func (t *TeamsNameInfoSource) EncryptionKeys(ctx context.Context, name string, teamID chat1.TLFID, ...) (res *types.NameInfo, err error)
- func (t *TeamsNameInfoSource) Lookup(ctx context.Context, name string, public bool) (res *types.NameInfo, err error)
- type TransientUnboxingError
- type TypingMonitor
- type UISource
- type UnboxingError
- type UploadTask
- type VersionError
Constants ¶
const CurrentMessageBoxedVersion = chat1.MessageBoxedVersion_V2
Variables ¶
var ActiveIntervalAfterSend = 30 * 24 * time.Hour
var ErrAbortOnPartMismatch = errors.New("local part mismatch, aborting upload")
ErrAbortOnPartMismatch is returned when there is a mismatch between a current part and a previous attempt part. If ErrAbortOnPartMismatch is returned, the caller should abort the upload attempt and start from scratch.
var ErrChatServerTimeout = errors.New("timeout calling chat server")
var ErrDuplicateConnection = errors.New("error calling chat server")
var ErrKeyServerTimeout = errors.New("timeout calling into key server")
var ErrPartNotFound = errors.New("part does not exist in stash")
var InitialAssumedActiveInterval = 24 * time.Hour
All devices are presumed active for the first 24 hours. See comment below.
Functions ¶
func BackgroundContext ¶ added in v1.0.19
func Context ¶ added in v1.0.19
func Context(ctx context.Context, g *globals.Context, mode keybase1.TLFIdentifyBehavior, breaks *[]keybase1.TLFIdentifyFailure, notifier types.IdentifyNotifier) context.Context
func CtxAddLogTags ¶ added in v1.0.19
func CtxIdentifyNotifier ¶ added in v1.0.19
func CtxIdentifyNotifier(ctx context.Context) types.IdentifyNotifier
func CtxModifyIdentifyNotifier ¶ added in v1.0.42
func CtxUPAKFinder ¶ added in v1.0.42
func FindConversations ¶ added in v1.0.27
func FindConversations(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ri func() chat1.RemoteInterface, uid gregor1.UID, tlfName string, topicType chat1.TopicType, membersTypeIn chat1.ConversationMembersType, vis keybase1.TLFVisibility, topicName string, oneChatPerTLF *bool) (res []chat1.ConversationLocal, rl []chat1.RateLimit, err error)
func GetInboxQueryNameInfo ¶ added in v1.0.27
func GetLastSendTime ¶ added in v1.0.39
Returns the zero time if there is no recorded last send time (either because the device has never sent a message, or because it hasn't sent one since we started recording).
func GetTopicNameState ¶ added in v1.0.27
func GetTopicNameState(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, convs []chat1.ConversationLocal, uid gregor1.UID, tlfID chat1.TLFID, topicType chat1.TopicType, membersType chat1.ConversationMembersType) (res chat1.TopicNameState, err error)
func GetUnverifiedConv ¶ added in v1.0.27
func IdentifyMode ¶ added in v1.0.19
func IdentifyMode(ctx context.Context) (ib keybase1.TLFIdentifyBehavior, breaks *[]keybase1.TLFIdentifyFailure, ok bool)
func IdentifyModeCtx ¶ added in v1.0.22
func IdentifyModeCtx(ctx context.Context, mode keybase1.TLFIdentifyBehavior, breaks *[]keybase1.TLFIdentifyFailure) context.Context
func JoinConversation ¶ added in v1.0.27
func JoinConversation(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ri func() chat1.RemoteInterface, uid gregor1.UID, convID chat1.ConversationID) (rl []chat1.RateLimit, err error)
func LeaveConversation ¶ added in v1.0.27
func LeaveConversation(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ri func() chat1.RemoteInterface, uid gregor1.UID, convID chat1.ConversationID) (rl []chat1.RateLimit, err error)
func NewConversation ¶ added in v1.0.27
func NewConversationSource ¶
func NewConversationSource(g *globals.Context, typ string, boxer *Boxer, storage *storage.Storage, ri func() chat1.RemoteInterface) types.ConversationSource
func NewInboxSource ¶ added in v1.0.19
func NewInboxSource(g *globals.Context, typ string, ri func() chat1.RemoteInterface) types.InboxSource
func PreviewConversation ¶ added in v1.0.34
func PreviewConversation(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ri func() chat1.RemoteInterface, uid gregor1.UID, convID chat1.ConversationID) (rl []chat1.RateLimit, err error)
func RecentConversationParticipants ¶ added in v1.0.27
func RecordChatSend ¶ added in v1.0.39
func TouchFirstChatActiveQueryTime ¶ added in v1.0.39
func TouchFirstChatActiveQueryTime(ctx context.Context, g *globals.Context, log utils.DebugLabeler) time.Time
If no first query time is found in the local db, this function writes the current time.
Types ¶
type AttachmentInfo ¶ added in v1.0.19
type AttachmentInfo struct { ObjectKey string // s3 destination EncKey signencrypt.SecretboxKey // encryption key SignKey signencrypt.SignKey // signing key VerifyKey signencrypt.VerifyKey // verification key Parts map[int]string // map of parts uploaded to S3, key == part number, value == hash of ciphertext StartedAt time.Time // when the upload started }
type AttachmentStash ¶ added in v1.0.19
type AttachmentStore ¶ added in v1.0.19
type AttachmentStore struct { utils.DebugLabeler // contains filtered or unexported fields }
func NewAttachmentStore ¶ added in v1.0.19
func NewAttachmentStore(log logger.Logger, runtimeDir string) *AttachmentStore
NewAttachmentStore creates a standard AttachmentStore that uses a real S3 connection.
func (*AttachmentStore) DeleteAsset ¶ added in v1.0.19
func (*AttachmentStore) DeleteAssets ¶ added in v1.0.19
func (*AttachmentStore) DownloadAsset ¶ added in v1.0.19
func (a *AttachmentStore) DownloadAsset(ctx context.Context, params chat1.S3Params, asset chat1.Asset, w io.Writer, signer s3.Signer, progress ProgressReporter) error
DownloadAsset gets an object from S3 as described in asset.
func (*AttachmentStore) PutS3 ¶ added in v1.0.19
func (a *AttachmentStore) PutS3(ctx context.Context, r io.Reader, size int64, task *UploadTask, previous *AttachmentInfo) (*PutS3Result, error)
PutS3 uploads the data in Reader r to S3. It chooses whether to use putSingle or putMultiPipeline based on the size of the object.
func (*AttachmentStore) UploadAsset ¶ added in v1.0.19
func (a *AttachmentStore) UploadAsset(ctx context.Context, task *UploadTask) (chat1.Asset, error)
type BackgroundConvLoader ¶ added in v1.0.27
type BackgroundConvLoader struct { globals.Contextified utils.DebugLabeler sync.Mutex // contains filtered or unexported fields }
func NewBackgroundConvLoader ¶ added in v1.0.27
func NewBackgroundConvLoader(g *globals.Context) *BackgroundConvLoader
func (*BackgroundConvLoader) Queue ¶ added in v1.0.27
func (b *BackgroundConvLoader) Queue(ctx context.Context, convID chat1.ConversationID) error
func (*BackgroundConvLoader) Resume ¶ added in v1.0.46
func (b *BackgroundConvLoader) Resume(ctx context.Context) bool
func (*BackgroundConvLoader) Start ¶ added in v1.0.27
func (b *BackgroundConvLoader) Start(ctx context.Context, uid gregor1.UID)
func (*BackgroundConvLoader) Stop ¶ added in v1.0.27
func (b *BackgroundConvLoader) Stop(ctx context.Context) chan struct{}
type BlockingLocalizer ¶ added in v1.0.19
type BlockingLocalizer struct { globals.Contextified // contains filtered or unexported fields }
func NewBlockingLocalizer ¶ added in v1.0.19
func NewBlockingLocalizer(g *globals.Context) *BlockingLocalizer
func (*BlockingLocalizer) Localize ¶ added in v1.0.19
func (b *BlockingLocalizer) Localize(ctx context.Context, uid gregor1.UID, inbox types.Inbox) (res []chat1.ConversationLocal, err error)
func (*BlockingLocalizer) Name ¶ added in v1.0.19
func (b *BlockingLocalizer) Name() string
func (*BlockingLocalizer) SetOffline ¶ added in v1.0.19
func (b *BlockingLocalizer) SetOffline()
type BlockingSender ¶ added in v1.0.19
type BlockingSender struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewBlockingSender ¶ added in v1.0.19
func NewBlockingSender(g *globals.Context, boxer *Boxer, store *AttachmentStore, getRi func() chat1.RemoteInterface) *BlockingSender
func (*BlockingSender) Prepare ¶ added in v1.0.19
func (s *BlockingSender) Prepare(ctx context.Context, plaintext chat1.MessagePlaintext, membersType chat1.ConversationMembersType, conv *chat1.Conversation) (*chat1.MessageBoxed, []chat1.Asset, []gregor1.UID, chat1.ChannelMention, *chat1.TopicNameState, error)
Prepare a message to be sent. Returns (boxedMessage, pendingAssetDeletes, error)
func (*BlockingSender) Send ¶ added in v1.0.19
func (s *BlockingSender) Send(ctx context.Context, convID chat1.ConversationID, msg chat1.MessagePlaintext, clientPrev chat1.MessageID, outboxID *chat1.OutboxID) (obid chat1.OutboxID, boxed *chat1.MessageBoxed, rl *chat1.RateLimit, err error)
type BodyHashInvalid ¶ added in v1.0.19
type BodyHashInvalid struct{}
func (BodyHashInvalid) Error ¶ added in v1.0.19
func (e BodyHashInvalid) Error() string
type Boxer ¶
type Boxer struct { utils.DebugLabeler globals.Contextified // contains filtered or unexported fields }
func (*Boxer) BoxMessage ¶
func (b *Boxer) BoxMessage(ctx context.Context, msg chat1.MessagePlaintext, membersType chat1.ConversationMembersType, signingKeyPair libkb.NaclSigningKeyPair) (res *chat1.MessageBoxed, err error)
BoxMessage encrypts a keybase1.MessagePlaintext into a chat1.MessageBoxed. It finds the most recent key for the TLF.
func (*Boxer) CompareTlfNames ¶ added in v1.0.21
func (*Boxer) UnboxMessage ¶
func (b *Boxer) UnboxMessage(ctx context.Context, boxed chat1.MessageBoxed, conv types.UnboxConversationInfo) (m chat1.MessageUnboxed, uberr UnboxingError)
UnboxMessage unboxes a chat1.MessageBoxed into a chat1.MessageUnboxed. It finds the appropriate keybase1.CryptKey, decrypts the message, and verifies several things:
- The message's signature is valid.
- (TODO) The signing KID was valid when the signature was made.
- (TODO) The signing KID belongs to the sending device.
- (TODO) The sending device belongs to the sender. [Note that we do currently check the KID -> UID relationship, independent of the device ID.]
- (TODO) The sender has write permission in the TLF.
- (TODO) The TLF name, public flag, and finalized info resolve to the TLF ID.
- The conversation ID derives from the ConversationIDTriple.
- The body hash is not a replay from another message we know about.
- The prev pointers are consistent with other messages we know about.
- (TODO) The prev pointers are not absurdly ancient.
- The ClientHeader provided with the BoxedMessage matches the one we decrypt.
The first return value is unusable if the err != nil. Returns (_, err) for non-permanent errors, and (MessageUnboxedError, nil) for permanent errors. Permanent errors can be cached and must be treated as a value to deal with, whereas temporary errors are transient failures.
func (*Boxer) UnboxMessages ¶
func (b *Boxer) UnboxMessages(ctx context.Context, boxed []chat1.MessageBoxed, conv types.UnboxConversationInfo) (unboxed []chat1.MessageUnboxed, err error)
func (*Boxer) UnboxThread ¶
func (b *Boxer) UnboxThread(ctx context.Context, boxed chat1.ThreadViewBoxed, conv types.UnboxConversationInfo) (thread chat1.ThreadView, err error)
unboxThread transforms a chat1.ThreadViewBoxed to a keybase1.ThreadView.
func (*Boxer) ValidSenderKey ¶ added in v1.0.19
func (b *Boxer) ValidSenderKey(ctx context.Context, sender gregor1.UID, key []byte, ctime gregor1.Time) (found, validAtCTime bool, revoked *gregor1.Time, unboxErr UnboxingError)
ValidSenderKey checks that the key was active for sender at ctime. This trusts the server for ctime, so a colluding server could use a revoked key and this check erroneously pass. But (revoked != nil) if the key was ever revoked, so that is irrespective of ctime. Returns (validAtCtime, revoked, err)
type BoxingCryptKeysError ¶ added in v1.0.19
type BoxingCryptKeysError struct {
Err error
}
func NewBoxingCryptKeysError ¶ added in v1.0.19
func NewBoxingCryptKeysError(err error) BoxingCryptKeysError
func (BoxingCryptKeysError) Error ¶ added in v1.0.19
func (e BoxingCryptKeysError) Error() string
func (BoxingCryptKeysError) Inner ¶ added in v1.0.19
func (e BoxingCryptKeysError) Inner() error
func (BoxingCryptKeysError) IsImmediateFail ¶ added in v1.0.19
func (e BoxingCryptKeysError) IsImmediateFail() (chat1.OutboxErrorType, bool)
type BoxingError ¶ added in v1.0.19
func NewBoxingError ¶ added in v1.0.19
func NewBoxingError(msg string, perm bool) BoxingError
func (BoxingError) Error ¶ added in v1.0.19
func (e BoxingError) Error() string
func (BoxingError) IsImmediateFail ¶ added in v1.0.19
func (e BoxingError) IsImmediateFail() (chat1.OutboxErrorType, bool)
type BufferSource ¶ added in v1.0.19
type BufferSource struct {
// contains filtered or unexported fields
}
func (*BufferSource) Basename ¶ added in v1.0.19
func (b *BufferSource) Basename() string
func (*BufferSource) Bytes ¶ added in v1.0.21
func (b *BufferSource) Bytes() []byte
func (*BufferSource) Close ¶ added in v1.0.19
func (b *BufferSource) Close() error
func (*BufferSource) FileSize ¶ added in v1.0.19
func (b *BufferSource) FileSize() int
func (*BufferSource) Open ¶ added in v1.0.19
func (b *BufferSource) Open(sessionID int, cli *keybase1.StreamUiClient) (ReadResetter, error)
type ByMsgID ¶ added in v1.0.19
type ByMsgID []chat1.MessageUnboxed
type CachingIdentifyNotifier ¶ added in v1.0.42
type CachingIdentifyNotifier struct { globals.Contextified utils.DebugLabeler sync.RWMutex // contains filtered or unexported fields }
func NewCachingIdentifyNotifier ¶ added in v1.0.42
func NewCachingIdentifyNotifier(g *globals.Context) *CachingIdentifyNotifier
func (*CachingIdentifyNotifier) Reset ¶ added in v1.0.42
func (i *CachingIdentifyNotifier) Reset()
func (*CachingIdentifyNotifier) ResetOnGUIConnect ¶ added in v1.0.42
func (i *CachingIdentifyNotifier) ResetOnGUIConnect()
func (*CachingIdentifyNotifier) Send ¶ added in v1.0.42
func (i *CachingIdentifyNotifier) Send(ctx context.Context, update keybase1.CanonicalTLFNameAndIDWithBreaks)
type CachingTeamChannelSource ¶ added in v1.0.34
type CachingTeamChannelSource struct { globals.Contextified utils.DebugLabeler sync.Mutex // contains filtered or unexported fields }
func NewCachingTeamChannelSource ¶ added in v1.0.34
func NewCachingTeamChannelSource(g *globals.Context, ri func() chat1.RemoteInterface) *CachingTeamChannelSource
func (*CachingTeamChannelSource) ChannelsChanged ¶ added in v1.0.34
func (c *CachingTeamChannelSource) ChannelsChanged(ctx context.Context, teamID chat1.TLFID)
func (*CachingTeamChannelSource) Connected ¶ added in v1.0.34
func (c *CachingTeamChannelSource) Connected(ctx context.Context)
func (*CachingTeamChannelSource) Disconnected ¶ added in v1.0.34
func (c *CachingTeamChannelSource) Disconnected(ctx context.Context)
func (*CachingTeamChannelSource) GetChannelTopicName ¶ added in v1.0.42
func (*CachingTeamChannelSource) GetChannelsFull ¶ added in v1.0.34
func (*CachingTeamChannelSource) GetChannelsTopicName ¶ added in v1.0.34
type CachingUPAKFinder ¶ added in v1.0.42
type CachingUPAKFinder struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewCachingUPAKFinder ¶ added in v1.0.42
func NewCachingUPAKFinder(g *globals.Context) *CachingUPAKFinder
func (*CachingUPAKFinder) CheckKIDForUID ¶ added in v1.0.42
func (*CachingUPAKFinder) LookupUsernameAndDevice ¶ added in v1.0.42
type ChatThreadConsistencyError ¶ added in v1.0.19
type ChatThreadConsistencyError interface { error Code() ConsistencyErrorCode }
func CheckPrevPointersAndGetUnpreved ¶
func CheckPrevPointersAndGetUnpreved(thread *chat1.ThreadView) ([]chat1.MessagePreviousPointer, ChatThreadConsistencyError)
Ingest a ThreadView, check several invariants, and produce a list of prev pointers to not-yet-pointed-to messages. Check several invariants at the same time: 1. No two messages have the same ID. 2. All prev pointers point to messages with lesser IDs. 3. All prev pointers to a message agree on that message's header hash. 4. For all messages we have locally, the hashes pointing to them are actually correct. TODO: All of this should happen in the cache instead of here all at once.
func NewChatThreadConsistencyError ¶ added in v1.0.19
func NewChatThreadConsistencyError(code ConsistencyErrorCode, msg string, formatArgs ...interface{}) ChatThreadConsistencyError
type ConsistencyErrorCode ¶ added in v1.0.19
type ConsistencyErrorCode int
const ( DuplicateID ConsistencyErrorCode = iota OutOfOrderID InconsistentHash IncorrectHash )
type ConversationRetry ¶ added in v1.0.27
type ConversationRetry struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewConversationRetry ¶ added in v1.0.27
func NewConversationRetry(g *globals.Context, convID chat1.ConversationID, tlfID *chat1.TLFID, kind FetchType) *ConversationRetry
func (*ConversationRetry) RekeyFixable ¶ added in v1.0.31
func (*ConversationRetry) SendStale ¶ added in v1.0.27
func (c *ConversationRetry) SendStale(ctx context.Context, uid gregor1.UID)
func (*ConversationRetry) String ¶ added in v1.0.27
func (c *ConversationRetry) String() string
type Decrypter ¶
type Decrypter interface { // Decrypt takes a ciphertext reader, encryption and verify keys. // It returns a plaintext reader. It uses the constant nonce. Decrypt(ciphertext io.Reader, encKey, verifyKey []byte) (plaintext io.Reader) // DecryptWithNonce takes a ciphertext reader, nonce, encryption and verify keys. // It returns a plaintext reader. DecryptWithNonce(ciphertext io.Reader, nonce signencrypt.Nonce, encKey, verifyKey []byte) (plaintext io.Reader) }
type Deliverer ¶ added in v1.0.19
type Deliverer struct { globals.Contextified sync.Mutex utils.DebugLabeler // contains filtered or unexported fields }
func NewDeliverer ¶ added in v1.0.19
func (*Deliverer) Disconnected ¶ added in v1.0.19
func (*Deliverer) ForceDeliverLoop ¶ added in v1.0.19
func (*Deliverer) Queue ¶ added in v1.0.19
func (s *Deliverer) Queue(ctx context.Context, convID chat1.ConversationID, msg chat1.MessagePlaintext, outboxID *chat1.OutboxID, identifyBehavior keybase1.TLFIdentifyBehavior) (obr chat1.OutboxRecord, err error)
type DelivererInfoError ¶ added in v1.0.19
type DelivererInfoError interface {
IsImmediateFail() (chat1.OutboxErrorType, bool)
}
type DummyIdentifyNotifier ¶ added in v1.0.42
type DummyIdentifyNotifier struct{}
func (DummyIdentifyNotifier) Reset ¶ added in v1.0.42
func (d DummyIdentifyNotifier) Reset()
func (DummyIdentifyNotifier) ResetOnGUIConnect ¶ added in v1.0.42
func (d DummyIdentifyNotifier) ResetOnGUIConnect()
func (DummyIdentifyNotifier) Send ¶ added in v1.0.42
func (d DummyIdentifyNotifier) Send(ctx context.Context, update keybase1.CanonicalTLFNameAndIDWithBreaks)
type DuplicateTopicNameError ¶ added in v1.0.27
type DuplicateTopicNameError struct {
TopicName string
}
func (DuplicateTopicNameError) Error ¶ added in v1.0.27
func (e DuplicateTopicNameError) Error() string
type Encrypter ¶
type Encrypter interface { // EncryptedLen returns the number of bytes that the ciphertext of // size plaintext bytes will be. EncryptedLen(size int) int // Encrypt takes a plaintext reader and returns a ciphertext reader. // It generates new keys every time it is called and uses a // constant nonce. Encrypt(plaintext io.Reader) (ciphertext io.Reader, err error) // EncryptWithNonce takes a plaintext reader and returns a ciphertext reader. // It generates new keys every time it is called and uses // the provided nonce. EncryptWithNonce(plaintext io.Reader, nonce signencrypt.Nonce) (ciphertext io.Reader, err error) // EncryptResume takes a plaintext reader and a set of keys. It // returns a ciphertext reader. It *does not* generate new keys // but uses the parameter keys. These keys should *only* be used // to encrypt the same plaintext as a previous attempt. EncryptResume(r io.Reader, nonce signencrypt.Nonce, encKey signencrypt.SecretboxKey, signKey signencrypt.SignKey, verifyKey signencrypt.VerifyKey) (io.Reader, error) // EncryptKey returns the ephemeral key that was used during the // last invocation of Encrypt. EncryptKey() []byte // VerifyKey returns the public portion of the signing key used during // the last invocation of Encrypt. It can be used for signature // verification. VerifyKey() []byte }
type ErrorWrapper ¶ added in v1.0.19
type ErrorWrapper struct {
// contains filtered or unexported fields
}
func NewErrorWrapper ¶ added in v1.0.19
func NewErrorWrapper(prefix string, err error) *ErrorWrapper
func (*ErrorWrapper) Details ¶ added in v1.0.19
func (e *ErrorWrapper) Details() string
func (*ErrorWrapper) Error ¶ added in v1.0.19
func (e *ErrorWrapper) Error() string
type FetchRetrier ¶ added in v1.0.22
type FetchRetrier struct { globals.Contextified utils.DebugLabeler sync.Mutex // contains filtered or unexported fields }
FetchRetrier is responsible for tracking any nonblock fetch failures, and retrying them automatically.
func NewFetchRetrier ¶ added in v1.0.22
func NewFetchRetrier(g *globals.Context) *FetchRetrier
func (*FetchRetrier) Connected ¶ added in v1.0.22
func (f *FetchRetrier) Connected(ctx context.Context)
Connected is called when a connection to the chat server is established, and forces a pass over the retry queue
func (*FetchRetrier) Disconnected ¶ added in v1.0.22
func (f *FetchRetrier) Disconnected(ctx context.Context)
Disconnected is called when we lose connection to the chat server, and pauses attempts on the retry queue.
func (*FetchRetrier) Failure ¶ added in v1.0.22
func (f *FetchRetrier) Failure(ctx context.Context, uid gregor1.UID, desc types.RetryDescription) (err error)
Failure indicates a failure of type kind has happened when loading a conversation.
func (*FetchRetrier) Force ¶ added in v1.0.22
func (f *FetchRetrier) Force(ctx context.Context)
Force forces a run of the retry loop.
func (*FetchRetrier) IsOffline ¶ added in v1.0.22
func (f *FetchRetrier) IsOffline(ctx context.Context) bool
IsOffline returns if the module thinks we are connected to the chat server.
func (*FetchRetrier) Rekey ¶ added in v1.0.31
func (f *FetchRetrier) Rekey(ctx context.Context, name string, membersType chat1.ConversationMembersType, public bool)
func (*FetchRetrier) SetClock ¶ added in v1.0.22
func (f *FetchRetrier) SetClock(clock clockwork.Clock)
SetClock sets a custom clock for testing.
func (*FetchRetrier) Start ¶ added in v1.0.22
func (f *FetchRetrier) Start(ctx context.Context, uid gregor1.UID)
func (*FetchRetrier) Stop ¶ added in v1.0.22
func (f *FetchRetrier) Stop(ctx context.Context) chan struct{}
func (*FetchRetrier) Success ¶ added in v1.0.22
func (f *FetchRetrier) Success(ctx context.Context, uid gregor1.UID, desc types.RetryDescription) (err error)
Success indicates a success of type kind loading a conversation. This effectively removes that conversation from the retry queue.
type FileStash ¶ added in v1.0.19
func NewFileStash ¶ added in v1.0.19
func (*FileStash) Lookup ¶ added in v1.0.19
func (f *FileStash) Lookup(key StashKey) (AttachmentInfo, bool, error)
func (*FileStash) RecordPart ¶ added in v1.0.19
type FullInboxRetry ¶ added in v1.0.27
type FullInboxRetry struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewFullInboxRetry ¶ added in v1.0.27
func NewFullInboxRetry(g *globals.Context, query *chat1.GetInboxLocalQuery, p *chat1.Pagination) FullInboxRetry
func (FullInboxRetry) RekeyFixable ¶ added in v1.0.31
func (FullInboxRetry) SendStale ¶ added in v1.0.27
func (f FullInboxRetry) SendStale(ctx context.Context, uid gregor1.UID)
func (FullInboxRetry) String ¶ added in v1.0.27
func (f FullInboxRetry) String() string
type HeaderMismatchError ¶ added in v1.0.19
type HeaderMismatchError struct {
Field string
}
func NewHeaderMismatchError ¶ added in v1.0.19
func NewHeaderMismatchError(field string) HeaderMismatchError
func (HeaderMismatchError) Error ¶ added in v1.0.19
func (e HeaderMismatchError) Error() string
type Helper ¶ added in v1.0.34
type Helper struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewHelper ¶ added in v1.0.34
func NewHelper(g *globals.Context, ri func() chat1.RemoteInterface) *Helper
func (*Helper) FindConversations ¶ added in v1.0.40
func (h *Helper) FindConversations(ctx context.Context, name string, topicName *string, topicType chat1.TopicType, membersType chat1.ConversationMembersType, vis keybase1.TLFVisibility) ([]chat1.ConversationLocal, error)
func (*Helper) FindConversationsByID ¶ added in v1.0.40
func (h *Helper) FindConversationsByID(ctx context.Context, convIDs []chat1.ConversationID) ([]chat1.ConversationLocal, error)
func (*Helper) GetChannelTopicName ¶ added in v1.0.42
func (h *Helper) GetChannelTopicName(ctx context.Context, teamID keybase1.TeamID, topicType chat1.TopicType, convID chat1.ConversationID) (topicName string, err error)
GetChannelTopicName gets the name of a team channel even if it's not in the inbox.
func (*Helper) SendMsgByID ¶ added in v1.0.34
func (h *Helper) SendMsgByID(ctx context.Context, convID chat1.ConversationID, trip chat1.ConversationIDTriple, tlfName string, body chat1.MessageBody, msgType chat1.MessageType) error
func (*Helper) SendMsgByIDNonblock ¶ added in v1.0.34
func (h *Helper) SendMsgByIDNonblock(ctx context.Context, convID chat1.ConversationID, trip chat1.ConversationIDTriple, tlfName string, body chat1.MessageBody, msgType chat1.MessageType) error
func (*Helper) SendMsgByName ¶ added in v1.0.34
func (h *Helper) SendMsgByName(ctx context.Context, name string, topicName *string, membersType chat1.ConversationMembersType, ident keybase1.TLFIdentifyBehavior, body chat1.MessageBody, msgType chat1.MessageType) error
func (*Helper) SendMsgByNameNonblock ¶ added in v1.0.34
func (h *Helper) SendMsgByNameNonblock(ctx context.Context, name string, topicName *string, membersType chat1.ConversationMembersType, ident keybase1.TLFIdentifyBehavior, body chat1.MessageBody, msgType chat1.MessageType) error
func (*Helper) SendTextByID ¶ added in v1.0.34
func (h *Helper) SendTextByID(ctx context.Context, convID chat1.ConversationID, trip chat1.ConversationIDTriple, tlfName string, text string) error
func (*Helper) SendTextByIDNonblock ¶ added in v1.0.34
func (h *Helper) SendTextByIDNonblock(ctx context.Context, convID chat1.ConversationID, trip chat1.ConversationIDTriple, tlfName string, text string) error
func (*Helper) SendTextByName ¶ added in v1.0.34
func (*Helper) SendTextByNameNonblock ¶ added in v1.0.34
type HybridConversationSource ¶
type HybridConversationSource struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewHybridConversationSource ¶
func NewHybridConversationSource(g *globals.Context, b *Boxer, storage *storage.Storage, ri func() chat1.RemoteInterface) *HybridConversationSource
func (*HybridConversationSource) Clear ¶
func (s *HybridConversationSource) Clear(convID chat1.ConversationID, uid gregor1.UID) error
func (*HybridConversationSource) Expunge ¶ added in v1.0.43
func (s *HybridConversationSource) Expunge(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, expunge chat1.Expunge) (err error)
Expunge from storage and maybe notify the gui of staleness
func (*HybridConversationSource) GetMessages ¶ added in v1.0.19
func (s *HybridConversationSource) GetMessages(ctx context.Context, conv types.UnboxConversationInfo, uid gregor1.UID, msgIDs []chat1.MessageID) ([]chat1.MessageUnboxed, error)
func (*HybridConversationSource) GetMessagesWithRemotes ¶ added in v1.0.19
func (s *HybridConversationSource) GetMessagesWithRemotes(ctx context.Context, conv chat1.Conversation, uid gregor1.UID, msgs []chat1.MessageBoxed) ([]chat1.MessageUnboxed, error)
func (*HybridConversationSource) Pull ¶
func (s *HybridConversationSource) Pull(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, query *chat1.GetThreadQuery, pagination *chat1.Pagination) (thread chat1.ThreadView, rl []*chat1.RateLimit, err error)
func (*HybridConversationSource) PullLocalOnly ¶ added in v1.0.19
func (s *HybridConversationSource) PullLocalOnly(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, query *chat1.GetThreadQuery, pagination *chat1.Pagination) (tv chat1.ThreadView, err error)
func (*HybridConversationSource) Push ¶
func (s *HybridConversationSource) Push(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msg chat1.MessageBoxed) (decmsg chat1.MessageUnboxed, continuousUpdate bool, err error)
func (HybridConversationSource) SetRemoteInterface ¶ added in v1.0.19
func (s HybridConversationSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
func (HybridConversationSource) TransformSupersedes ¶ added in v1.0.19
func (s HybridConversationSource) TransformSupersedes(ctx context.Context, conv chat1.Conversation, uid gregor1.UID, msgs []chat1.MessageUnboxed) ([]chat1.MessageUnboxed, error)
type HybridInboxSource ¶ added in v1.0.19
type HybridInboxSource struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewHybridInboxSource ¶ added in v1.0.19
func NewHybridInboxSource(g *globals.Context, getChatInterface func() chat1.RemoteInterface) *HybridInboxSource
func (HybridInboxSource) Disconnected ¶ added in v1.0.19
func (*HybridInboxSource) Expunge ¶ added in v1.0.43
func (s *HybridInboxSource) Expunge(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, expunge chat1.Expunge, maxMsgs []chat1.MessageSummary) (*chat1.ConversationLocal, error)
func (HybridInboxSource) GetInboxQueryLocalToRemote ¶ added in v1.0.27
func (b HybridInboxSource) GetInboxQueryLocalToRemote(ctx context.Context, lquery *chat1.GetInboxLocalQuery) (rquery *chat1.GetInboxQuery, info *types.NameInfo, err error)
func (*HybridInboxSource) MembershipUpdate ¶ added in v1.0.27
func (s *HybridInboxSource) MembershipUpdate(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, joined []chat1.ConversationMember, removed []chat1.ConversationMember, resets []chat1.ConversationMember, previews []chat1.ConversationID) (res types.MembershipUpdateRes, err error)
func (*HybridInboxSource) NewConversation ¶ added in v1.0.19
func (s *HybridInboxSource) NewConversation(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, conv chat1.Conversation) (err error)
func (*HybridInboxSource) NewMessage ¶ added in v1.0.19
func (s *HybridInboxSource) NewMessage(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, msg chat1.MessageBoxed, maxMsgs []chat1.MessageSummary) (conv *chat1.ConversationLocal, err error)
func (*HybridInboxSource) Read ¶ added in v1.0.19
func (s *HybridInboxSource) Read(ctx context.Context, uid gregor1.UID, localizer types.ChatLocalizer, useLocalData bool, query *chat1.GetInboxLocalQuery, p *chat1.Pagination) (inbox types.Inbox, rl *chat1.RateLimit, err error)
func (*HybridInboxSource) ReadMessage ¶ added in v1.0.19
func (s *HybridInboxSource) ReadMessage(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, msgID chat1.MessageID) (conv *chat1.ConversationLocal, err error)
func (*HybridInboxSource) ReadUnverified ¶ added in v1.0.19
func (s *HybridInboxSource) ReadUnverified(ctx context.Context, uid gregor1.UID, useLocalData bool, query *chat1.GetInboxQuery, p *chat1.Pagination) (res types.Inbox, rl *chat1.RateLimit, err error)
func (*HybridInboxSource) SetAppNotificationSettings ¶ added in v1.0.27
func (s *HybridInboxSource) SetAppNotificationSettings(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, settings chat1.ConversationNotificationInfo) (conv *chat1.ConversationLocal, err error)
func (*HybridInboxSource) SetConvRetention ¶ added in v1.0.41
func (s *HybridInboxSource) SetConvRetention(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, policy chat1.RetentionPolicy) (res *chat1.ConversationLocal, err error)
func (HybridInboxSource) SetRemoteInterface ¶ added in v1.0.19
func (b HybridInboxSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
func (*HybridInboxSource) SetStatus ¶ added in v1.0.19
func (s *HybridInboxSource) SetStatus(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, status chat1.ConversationStatus) (conv *chat1.ConversationLocal, err error)
func (*HybridInboxSource) SetTeamRetention ¶ added in v1.0.41
func (s *HybridInboxSource) SetTeamRetention(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, teamID keybase1.TeamID, policy chat1.RetentionPolicy) (convs []chat1.ConversationLocal, err error)
func (*HybridInboxSource) TeamTypeChanged ¶ added in v1.0.30
func (s *HybridInboxSource) TeamTypeChanged(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, teamType chat1.TeamType) (conv *chat1.ConversationLocal, err error)
func (*HybridInboxSource) TlfFinalize ¶ added in v1.0.19
func (s *HybridInboxSource) TlfFinalize(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convIDs []chat1.ConversationID, finalizeInfo chat1.ConversationFinalizeInfo) (convs []chat1.ConversationLocal, err error)
func (*HybridInboxSource) UpgradeKBFSToImpteam ¶ added in v1.0.41
func (s *HybridInboxSource) UpgradeKBFSToImpteam(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID) (conv *chat1.ConversationLocal, err error)
type IdentifyChangedHandler ¶ added in v1.0.19
type IdentifyChangedHandler struct { globals.Contextified utils.DebugLabeler }
func NewIdentifyChangedHandler ¶ added in v1.0.19
func NewIdentifyChangedHandler(g *globals.Context) *IdentifyChangedHandler
func (*IdentifyChangedHandler) BackgroundIdentifyChanged ¶ added in v1.0.19
func (h *IdentifyChangedHandler) BackgroundIdentifyChanged(ctx context.Context, job engine.IdentifyJob)
func (*IdentifyChangedHandler) HandleUserChanged ¶ added in v1.0.19
func (h *IdentifyChangedHandler) HandleUserChanged(uid keybase1.UID) (err error)
type ImplicitTeamsNameInfoSource ¶ added in v1.0.29
type ImplicitTeamsNameInfoSource struct { globals.Contextified utils.DebugLabeler *NameIdentifier // contains filtered or unexported fields }
func NewImplicitTeamsNameInfoSource ¶ added in v1.0.29
func NewImplicitTeamsNameInfoSource(g *globals.Context, lookupUpgraded bool) *ImplicitTeamsNameInfoSource
func (*ImplicitTeamsNameInfoSource) DecryptionKeys ¶ added in v1.0.42
func (*ImplicitTeamsNameInfoSource) EncryptionKeys ¶ added in v1.0.42
type ImpteamUpgradeBadteamError ¶ added in v1.0.46
type ImpteamUpgradeBadteamError struct {
Msg string
}
func (ImpteamUpgradeBadteamError) Error ¶ added in v1.0.46
func (e ImpteamUpgradeBadteamError) Error() string
type KBFSNameInfoSource ¶ added in v1.0.27
type KBFSNameInfoSource struct { globals.Contextified utils.DebugLabeler *NameIdentifier }
func NewKBFSNameInfoSource ¶ added in v1.0.27
func NewKBFSNameInfoSource(g *globals.Context) *KBFSNameInfoSource
func (*KBFSNameInfoSource) CompleteAndCanonicalizePrivateTlfName ¶ added in v1.0.27
func (t *KBFSNameInfoSource) CompleteAndCanonicalizePrivateTlfName(ctx context.Context, tlfName string) (res keybase1.CanonicalTLFNameAndIDWithBreaks, err error)
func (*KBFSNameInfoSource) CryptKeys ¶ added in v1.0.27
func (t *KBFSNameInfoSource) CryptKeys(ctx context.Context, tlfName string) (res keybase1.GetTLFCryptKeysRes, ferr error)
func (*KBFSNameInfoSource) DecryptionKeys ¶ added in v1.0.42
func (*KBFSNameInfoSource) EncryptionKeys ¶ added in v1.0.42
func (*KBFSNameInfoSource) PublicCanonicalTLFNameAndID ¶ added in v1.0.27
func (t *KBFSNameInfoSource) PublicCanonicalTLFNameAndID(ctx context.Context, tlfName string) (res keybase1.CanonicalTLFNameAndIDWithBreaks, ferr error)
type KeyFinder ¶
type KeyFinder interface { Find(ctx context.Context, name string, membersType chat1.ConversationMembersType, public bool) (*types.NameInfo, error) FindForEncryption(ctx context.Context, tlfName string, teamID chat1.TLFID, membersType chat1.ConversationMembersType, public bool) (*types.NameInfo, error) FindForDecryption(ctx context.Context, tlfName string, teamID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, keyGeneration int, kbfsEncrypted bool) (*types.NameInfo, error) Reset() SetNameInfoSourceOverride(types.NameInfoSource) }
KeyFinder remembers results from previous calls to CryptKeys().
func CtxKeyFinder ¶ added in v1.0.19
func NewKeyFinder ¶
NewKeyFinder creates a KeyFinder.
type KeyFinderImpl ¶
type KeyFinderImpl struct { globals.Contextified utils.DebugLabeler sync.Mutex // contains filtered or unexported fields }
func (*KeyFinderImpl) Find ¶
func (k *KeyFinderImpl) Find(ctx context.Context, name string, membersType chat1.ConversationMembersType, public bool) (res *types.NameInfo, err error)
Find finds keybase1.TLFCryptKeys for tlfName, checking for existing results.
func (*KeyFinderImpl) FindForDecryption ¶ added in v1.0.27
func (k *KeyFinderImpl) FindForDecryption(ctx context.Context, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, keyGeneration int, kbfsEncrypted bool) (res *types.NameInfo, err error)
FindForDecryption ignores tlfName or teamID based on membersType.
func (*KeyFinderImpl) FindForEncryption ¶ added in v1.0.27
func (k *KeyFinderImpl) FindForEncryption(ctx context.Context, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool) (res *types.NameInfo, err error)
FindForEncryption finds keys up-to-date enough for encrypting. Ignores tlfName or teamID based on membersType.
func (*KeyFinderImpl) Reset ¶ added in v1.0.42
func (k *KeyFinderImpl) Reset()
func (*KeyFinderImpl) SetNameInfoSourceOverride ¶ added in v1.0.27
func (k *KeyFinderImpl) SetNameInfoSourceOverride(ni types.NameInfoSource)
type NameIdentifier ¶ added in v1.0.29
type NameIdentifier struct { globals.Contextified utils.DebugLabeler }
func NewNameIdentifier ¶ added in v1.0.29
func NewNameIdentifier(g *globals.Context) *NameIdentifier
func (*NameIdentifier) Identify ¶ added in v1.0.29
func (t *NameIdentifier) Identify(ctx context.Context, names []string, private bool, getTLFID func() keybase1.TLFID, getCanonicalName func() keybase1.CanonicalTlfName) (res []keybase1.TLFIdentifyFailure, err error)
type NonblockInboxResult ¶ added in v1.0.19
type NonblockInboxResult struct { Conv chat1.Conversation Err *chat1.ConversationErrorLocal ConvRes *chat1.ConversationLocal InboxRes *types.Inbox }
type NonblockingLocalizer ¶ added in v1.0.19
type NonblockingLocalizer struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewNonblockingLocalizer ¶ added in v1.0.19
func NewNonblockingLocalizer(g *globals.Context, localizeCb chan NonblockInboxResult, maxUnbox *int) *NonblockingLocalizer
func (*NonblockingLocalizer) Localize ¶ added in v1.0.19
func (b *NonblockingLocalizer) Localize(ctx context.Context, uid gregor1.UID, inbox types.Inbox) (res []chat1.ConversationLocal, err error)
func (*NonblockingLocalizer) Name ¶ added in v1.0.19
func (b *NonblockingLocalizer) Name() string
func (*NonblockingLocalizer) SetOffline ¶ added in v1.0.19
func (b *NonblockingLocalizer) SetOffline()
type NonblockingSender ¶ added in v1.0.19
type NonblockingSender struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewNonblockingSender ¶ added in v1.0.19
func NewNonblockingSender(g *globals.Context, sender types.Sender) *NonblockingSender
func (*NonblockingSender) Prepare ¶ added in v1.0.19
func (s *NonblockingSender) Prepare(ctx context.Context, msg chat1.MessagePlaintext, membersType chat1.ConversationMembersType, conv *chat1.Conversation) (*chat1.MessageBoxed, []chat1.Asset, []gregor1.UID, chat1.ChannelMention, *chat1.TopicNameState, error)
func (*NonblockingSender) Send ¶ added in v1.0.19
func (s *NonblockingSender) Send(ctx context.Context, convID chat1.ConversationID, msg chat1.MessagePlaintext, clientPrev chat1.MessageID, outboxID *chat1.OutboxID) (chat1.OutboxID, *chat1.MessageBoxed, *chat1.RateLimit, error)
type OfflineClient ¶ added in v1.0.27
type OfflineClient struct { }
type OfflineError ¶ added in v1.0.19
type OfflineError struct { }
func (OfflineError) Error ¶ added in v1.0.19
func (e OfflineError) Error() string
type OfflineErrorKind ¶ added in v1.0.46
type OfflineErrorKind int
const ( OfflineErrorKindOnline OfflineErrorKind = iota OfflineErrorKindOfflineBasic OfflineErrorKindOfflineReconnect )
func IsOfflineError ¶ added in v1.0.46
func IsOfflineError(err error) OfflineErrorKind
type PermanentUnboxingError ¶ added in v1.0.19
type PermanentUnboxingError struct {
// contains filtered or unexported fields
}
func (PermanentUnboxingError) Error ¶ added in v1.0.19
func (e PermanentUnboxingError) Error() string
func (PermanentUnboxingError) ExportType ¶ added in v1.0.19
func (e PermanentUnboxingError) ExportType() chat1.MessageUnboxedErrorType
func (PermanentUnboxingError) Inner ¶ added in v1.0.19
func (e PermanentUnboxingError) Inner() error
func (PermanentUnboxingError) IsPermanent ¶ added in v1.0.19
func (e PermanentUnboxingError) IsPermanent() bool
type PreviewRes ¶ added in v1.0.19
type ProgressReporter ¶
type ProgressReporter func(bytesCompleted, bytesTotal int64)
type PushHandler ¶ added in v1.0.19
type PushHandler struct { globals.Contextified utils.DebugLabeler sync.Mutex // contains filtered or unexported fields }
func NewPushHandler ¶ added in v1.0.19
func NewPushHandler(g *globals.Context) *PushHandler
func (*PushHandler) Activity ¶ added in v1.0.19
func (g *PushHandler) Activity(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) HandleOobm ¶ added in v1.0.27
func (g *PushHandler) HandleOobm(ctx context.Context, obm gregor.OutOfBandMessage) (bool, error)
func (*PushHandler) MembershipUpdate ¶ added in v1.0.27
func (g *PushHandler) MembershipUpdate(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) SetBadger ¶ added in v1.0.27
func (g *PushHandler) SetBadger(badger *badges.Badger)
func (*PushHandler) SetClock ¶ added in v1.0.27
func (g *PushHandler) SetClock(clock clockwork.Clock)
func (*PushHandler) SetConvRetention ¶ added in v1.0.41
func (g *PushHandler) SetConvRetention(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) SetTeamRetention ¶ added in v1.0.41
func (g *PushHandler) SetTeamRetention(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) TeamChannels ¶ added in v1.0.34
func (g *PushHandler) TeamChannels(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) TlfFinalize ¶ added in v1.0.19
func (g *PushHandler) TlfFinalize(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) TlfResolve ¶ added in v1.0.19
func (g *PushHandler) TlfResolve(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) Typing ¶ added in v1.0.27
func (g *PushHandler) Typing(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) UpgradeKBFSToImpteam ¶ added in v1.0.41
func (g *PushHandler) UpgradeKBFSToImpteam(ctx context.Context, m gregor.OutOfBandMessage) (err error)
type PutS3Result ¶
PutS3Result is the success result of calling PutS3.
type ReadResetter ¶ added in v1.0.19
type RemoteClient ¶ added in v1.0.22
type RemoteClient struct { utils.DebugLabeler // contains filtered or unexported fields }
func NewRemoteClient ¶ added in v1.0.22
func NewRemoteClient(g *globals.Context, cli rpc.GenericClient) *RemoteClient
type RemoteConversationSource ¶
type RemoteConversationSource struct { globals.Contextified // contains filtered or unexported fields }
func NewRemoteConversationSource ¶
func NewRemoteConversationSource(g *globals.Context, b *Boxer, ri func() chat1.RemoteInterface) *RemoteConversationSource
func (*RemoteConversationSource) Clear ¶
func (s *RemoteConversationSource) Clear(convID chat1.ConversationID, uid gregor1.UID) error
func (*RemoteConversationSource) Expunge ¶ added in v1.0.43
func (s *RemoteConversationSource) Expunge(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, expunge chat1.Expunge) error
func (*RemoteConversationSource) GetMessages ¶ added in v1.0.19
func (s *RemoteConversationSource) GetMessages(ctx context.Context, conv types.UnboxConversationInfo, uid gregor1.UID, msgIDs []chat1.MessageID) ([]chat1.MessageUnboxed, error)
func (*RemoteConversationSource) GetMessagesWithRemotes ¶ added in v1.0.19
func (s *RemoteConversationSource) GetMessagesWithRemotes(ctx context.Context, conv chat1.Conversation, uid gregor1.UID, msgs []chat1.MessageBoxed) ([]chat1.MessageUnboxed, error)
func (*RemoteConversationSource) Pull ¶
func (s *RemoteConversationSource) Pull(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, query *chat1.GetThreadQuery, pagination *chat1.Pagination) (chat1.ThreadView, []*chat1.RateLimit, error)
func (*RemoteConversationSource) PullLocalOnly ¶ added in v1.0.19
func (s *RemoteConversationSource) PullLocalOnly(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, query *chat1.GetThreadQuery, pagination *chat1.Pagination) (chat1.ThreadView, error)
func (*RemoteConversationSource) Push ¶
func (s *RemoteConversationSource) Push(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msg chat1.MessageBoxed) (chat1.MessageUnboxed, bool, error)
func (RemoteConversationSource) SetRemoteInterface ¶ added in v1.0.19
func (s RemoteConversationSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
func (RemoteConversationSource) TransformSupersedes ¶ added in v1.0.19
func (s RemoteConversationSource) TransformSupersedes(ctx context.Context, conv chat1.Conversation, uid gregor1.UID, msgs []chat1.MessageUnboxed) ([]chat1.MessageUnboxed, error)
type RemoteInboxSource ¶ added in v1.0.19
type RemoteInboxSource struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewRemoteInboxSource ¶ added in v1.0.19
func NewRemoteInboxSource(g *globals.Context, ri func() chat1.RemoteInterface) *RemoteInboxSource
func (RemoteInboxSource) Disconnected ¶ added in v1.0.19
func (*RemoteInboxSource) Expunge ¶ added in v1.0.43
func (s *RemoteInboxSource) Expunge(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, expunge chat1.Expunge, maxMsgs []chat1.MessageSummary) (res *chat1.ConversationLocal, err error)
func (RemoteInboxSource) GetInboxQueryLocalToRemote ¶ added in v1.0.27
func (b RemoteInboxSource) GetInboxQueryLocalToRemote(ctx context.Context, lquery *chat1.GetInboxLocalQuery) (rquery *chat1.GetInboxQuery, info *types.NameInfo, err error)
func (*RemoteInboxSource) MembershipUpdate ¶ added in v1.0.27
func (s *RemoteInboxSource) MembershipUpdate(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, joined []chat1.ConversationMember, removed []chat1.ConversationMember, resets []chat1.ConversationMember, previews []chat1.ConversationID) (res types.MembershipUpdateRes, err error)
func (*RemoteInboxSource) NewConversation ¶ added in v1.0.19
func (s *RemoteInboxSource) NewConversation(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, conv chat1.Conversation) error
func (*RemoteInboxSource) NewMessage ¶ added in v1.0.19
func (s *RemoteInboxSource) NewMessage(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, msg chat1.MessageBoxed, maxMsgs []chat1.MessageSummary) (*chat1.ConversationLocal, error)
func (*RemoteInboxSource) Read ¶ added in v1.0.19
func (s *RemoteInboxSource) Read(ctx context.Context, uid gregor1.UID, localizer types.ChatLocalizer, useLocalData bool, query *chat1.GetInboxLocalQuery, p *chat1.Pagination) (types.Inbox, *chat1.RateLimit, error)
func (*RemoteInboxSource) ReadMessage ¶ added in v1.0.19
func (s *RemoteInboxSource) ReadMessage(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, msgID chat1.MessageID) (*chat1.ConversationLocal, error)
func (*RemoteInboxSource) ReadUnverified ¶ added in v1.0.19
func (s *RemoteInboxSource) ReadUnverified(ctx context.Context, uid gregor1.UID, useLocalData bool, rquery *chat1.GetInboxQuery, p *chat1.Pagination) (types.Inbox, *chat1.RateLimit, error)
func (*RemoteInboxSource) SetAppNotificationSettings ¶ added in v1.0.27
func (s *RemoteInboxSource) SetAppNotificationSettings(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, settings chat1.ConversationNotificationInfo) (*chat1.ConversationLocal, error)
func (*RemoteInboxSource) SetConvRetention ¶ added in v1.0.41
func (s *RemoteInboxSource) SetConvRetention(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, policy chat1.RetentionPolicy) (res *chat1.ConversationLocal, err error)
func (RemoteInboxSource) SetRemoteInterface ¶ added in v1.0.19
func (b RemoteInboxSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
func (*RemoteInboxSource) SetStatus ¶ added in v1.0.19
func (s *RemoteInboxSource) SetStatus(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, status chat1.ConversationStatus) (*chat1.ConversationLocal, error)
func (*RemoteInboxSource) SetTeamRetention ¶ added in v1.0.41
func (s *RemoteInboxSource) SetTeamRetention(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, teamID keybase1.TeamID, policy chat1.RetentionPolicy) (res []chat1.ConversationLocal, err error)
func (*RemoteInboxSource) TeamTypeChanged ¶ added in v1.0.41
func (s *RemoteInboxSource) TeamTypeChanged(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, teamType chat1.TeamType) (conv *chat1.ConversationLocal, err error)
func (*RemoteInboxSource) TlfFinalize ¶ added in v1.0.19
func (s *RemoteInboxSource) TlfFinalize(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convIDs []chat1.ConversationID, finalizeInfo chat1.ConversationFinalizeInfo) ([]chat1.ConversationLocal, error)
func (*RemoteInboxSource) UpdateKBFSToImpteam ¶ added in v1.0.41
func (s *RemoteInboxSource) UpdateKBFSToImpteam(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID) (conv *chat1.ConversationLocal, err error)
type Searcher ¶ added in v1.0.42
type Searcher struct { globals.Contextified utils.DebugLabeler }
func NewSearcher ¶ added in v1.0.42
func (*Searcher) SearchRegexp ¶ added in v1.0.42
type Server ¶ added in v1.0.22
type Server struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewServer ¶ added in v1.0.22
func NewServer(g *globals.Context, store *AttachmentStore, serverConn ServerConnection, uiSource UISource) *Server
func (*Server) AddTeamMemberAfterReset ¶ added in v1.0.39
func (*Server) CancelPost ¶ added in v1.0.22
func (*Server) DeleteConversationLocal ¶ added in v1.0.31
func (h *Server) DeleteConversationLocal(ctx context.Context, arg chat1.DeleteConversationLocalArg) (res chat1.DeleteConversationLocalRes, err error)
func (*Server) DownloadAttachmentLocal ¶ added in v1.0.22
func (h *Server) DownloadAttachmentLocal(ctx context.Context, arg chat1.DownloadAttachmentLocalArg) (res chat1.DownloadAttachmentLocalRes, err error)
DownloadAttachmentLocal implements chat1.LocalInterface.DownloadAttachmentLocal.
func (*Server) DownloadFileAttachmentLocal ¶ added in v1.0.22
func (h *Server) DownloadFileAttachmentLocal(ctx context.Context, arg chat1.DownloadFileAttachmentLocalArg) (res chat1.DownloadAttachmentLocalRes, err error)
DownloadFileAttachmentLocal implements chat1.LocalInterface.DownloadFileAttachmentLocal.
func (*Server) FindConversationsLocal ¶ added in v1.0.22
func (h *Server) FindConversationsLocal(ctx context.Context, arg chat1.FindConversationsLocalArg) (res chat1.FindConversationsLocalRes, err error)
func (*Server) GenerateOutboxID ¶ added in v1.0.27
func (*Server) GetCachedThread ¶ added in v1.0.22
func (h *Server) GetCachedThread(ctx context.Context, arg chat1.GetCachedThreadArg) (res chat1.GetThreadLocalRes, err error)
func (*Server) GetConversationForCLILocal ¶ added in v1.0.22
func (h *Server) GetConversationForCLILocal(ctx context.Context, arg chat1.GetConversationForCLILocalQuery) (res chat1.GetConversationForCLILocalRes, err error)
func (*Server) GetGlobalAppNotificationSettingsLocal ¶ added in v1.0.27
func (*Server) GetInboxAndUnboxLocal ¶ added in v1.0.22
func (h *Server) GetInboxAndUnboxLocal(ctx context.Context, arg chat1.GetInboxAndUnboxLocalArg) (res chat1.GetInboxAndUnboxLocalRes, err error)
GetInboxAndUnboxLocal implements keybase.chatLocal.getInboxAndUnboxLocal protocol.
func (*Server) GetInboxNonblockLocal ¶ added in v1.0.22
func (h *Server) GetInboxNonblockLocal(ctx context.Context, arg chat1.GetInboxNonblockLocalArg) (res chat1.NonblockFetchRes, err error)
func (*Server) GetInboxSummaryForCLILocal ¶ added in v1.0.22
func (h *Server) GetInboxSummaryForCLILocal(ctx context.Context, arg chat1.GetInboxSummaryForCLILocalQuery) (res chat1.GetInboxSummaryForCLILocalRes, err error)
func (*Server) GetMessagesLocal ¶ added in v1.0.22
func (h *Server) GetMessagesLocal(ctx context.Context, arg chat1.GetMessagesLocalArg) (res chat1.GetMessagesLocalRes, err error)
func (*Server) GetSearchRegexp ¶ added in v1.0.42
func (h *Server) GetSearchRegexp(ctx context.Context, arg chat1.GetSearchRegexpArg) (res chat1.GetSearchRegexpRes, err error)
func (*Server) GetTLFConversationsLocal ¶ added in v1.0.27
func (h *Server) GetTLFConversationsLocal(ctx context.Context, arg chat1.GetTLFConversationsLocalArg) (res chat1.GetTLFConversationsLocalRes, err error)
func (*Server) GetTeamRetentionLocal ¶ added in v1.0.46
func (*Server) GetThreadLocal ¶ added in v1.0.22
func (h *Server) GetThreadLocal(ctx context.Context, arg chat1.GetThreadLocalArg) (res chat1.GetThreadLocalRes, err error)
GetThreadLocal implements keybase.chatLocal.getThreadLocal protocol.
func (*Server) GetThreadNonblock ¶ added in v1.0.22
func (h *Server) GetThreadNonblock(ctx context.Context, arg chat1.GetThreadNonblockArg) (res chat1.NonblockFetchRes, fullErr error)
func (*Server) JoinConversationByIDLocal ¶ added in v1.0.27
func (h *Server) JoinConversationByIDLocal(ctx context.Context, convID chat1.ConversationID) (res chat1.JoinLeaveConversationLocalRes, err error)
func (*Server) JoinConversationLocal ¶ added in v1.0.27
func (h *Server) JoinConversationLocal(ctx context.Context, arg chat1.JoinConversationLocalArg) (res chat1.JoinLeaveConversationLocalRes, err error)
func (*Server) LeaveConversationLocal ¶ added in v1.0.27
func (h *Server) LeaveConversationLocal(ctx context.Context, convID chat1.ConversationID) (res chat1.JoinLeaveConversationLocalRes, err error)
func (*Server) MakePreview ¶ added in v1.0.22
func (h *Server) MakePreview(ctx context.Context, arg chat1.MakePreviewArg) (res chat1.MakePreviewRes, err error)
MakePreview implements chat1.LocalInterface.MakePreview.
func (*Server) MarkAsReadLocal ¶ added in v1.0.22
func (h *Server) MarkAsReadLocal(ctx context.Context, arg chat1.MarkAsReadLocalArg) (res chat1.MarkAsReadLocalRes, err error)
func (*Server) NewConversationLocal ¶ added in v1.0.22
func (h *Server) NewConversationLocal(ctx context.Context, arg chat1.NewConversationLocalArg) (res chat1.NewConversationLocalRes, err error)
NewConversationLocal implements keybase.chatLocal.newConversationLocal protocol. Create a new conversation. Or in the case of CHAT, create-or-get a conversation.
func (*Server) PostAttachmentLocal ¶ added in v1.0.22
func (h *Server) PostAttachmentLocal(ctx context.Context, arg chat1.PostAttachmentLocalArg) (res chat1.PostLocalRes, err error)
PostAttachmentLocal implements chat1.LocalInterface.PostAttachmentLocal.
func (*Server) PostDeleteHistoryByAge ¶ added in v1.0.40
func (h *Server) PostDeleteHistoryByAge(ctx context.Context, arg chat1.PostDeleteHistoryByAgeArg) (res chat1.PostLocalRes, err error)
func (*Server) PostDeleteHistoryThrough ¶ added in v1.0.43
func (h *Server) PostDeleteHistoryThrough(ctx context.Context, arg chat1.PostDeleteHistoryThroughArg) (res chat1.PostLocalRes, err error)
func (*Server) PostDeleteHistoryUpto ¶ added in v1.0.40
func (h *Server) PostDeleteHistoryUpto(ctx context.Context, arg chat1.PostDeleteHistoryUptoArg) (res chat1.PostLocalRes, err error)
func (*Server) PostDeleteNonblock ¶ added in v1.0.22
func (h *Server) PostDeleteNonblock(ctx context.Context, arg chat1.PostDeleteNonblockArg) (chat1.PostLocalNonblockRes, error)
func (*Server) PostEditNonblock ¶ added in v1.0.22
func (h *Server) PostEditNonblock(ctx context.Context, arg chat1.PostEditNonblockArg) (chat1.PostLocalNonblockRes, error)
func (*Server) PostFileAttachmentLocal ¶ added in v1.0.22
func (h *Server) PostFileAttachmentLocal(ctx context.Context, arg chat1.PostFileAttachmentLocalArg) (res chat1.PostLocalRes, err error)
PostFileAttachmentLocal implements chat1.LocalInterface.PostFileAttachmentLocal.
func (*Server) PostHeadline ¶ added in v1.0.29
func (h *Server) PostHeadline(ctx context.Context, arg chat1.PostHeadlineArg) (chat1.PostLocalRes, error)
func (*Server) PostHeadlineNonblock ¶ added in v1.0.29
func (h *Server) PostHeadlineNonblock(ctx context.Context, arg chat1.PostHeadlineNonblockArg) (chat1.PostLocalNonblockRes, error)
func (*Server) PostLocal ¶ added in v1.0.22
func (h *Server) PostLocal(ctx context.Context, arg chat1.PostLocalArg) (res chat1.PostLocalRes, err error)
PostLocal implements keybase.chatLocal.postLocal protocol.
func (*Server) PostLocalNonblock ¶ added in v1.0.22
func (h *Server) PostLocalNonblock(ctx context.Context, arg chat1.PostLocalNonblockArg) (res chat1.PostLocalNonblockRes, err error)
func (*Server) PostMetadata ¶ added in v1.0.34
func (h *Server) PostMetadata(ctx context.Context, arg chat1.PostMetadataArg) (chat1.PostLocalRes, error)
func (*Server) PostMetadataNonblock ¶ added in v1.0.34
func (h *Server) PostMetadataNonblock(ctx context.Context, arg chat1.PostMetadataNonblockArg) (chat1.PostLocalNonblockRes, error)
func (*Server) PostTextNonblock ¶ added in v1.0.22
func (h *Server) PostTextNonblock(ctx context.Context, arg chat1.PostTextNonblockArg) (chat1.PostLocalNonblockRes, error)
func (*Server) PreviewConversationByIDLocal ¶ added in v1.0.34
func (h *Server) PreviewConversationByIDLocal(ctx context.Context, convID chat1.ConversationID) (res chat1.JoinLeaveConversationLocalRes, err error)
func (*Server) SetAppNotificationSettingsLocal ¶ added in v1.0.27
func (h *Server) SetAppNotificationSettingsLocal(ctx context.Context, arg chat1.SetAppNotificationSettingsLocalArg) (res chat1.SetAppNotificationSettingsLocalRes, err error)
func (*Server) SetConvRetentionLocal ¶ added in v1.0.40
func (*Server) SetConversationStatusLocal ¶ added in v1.0.22
func (h *Server) SetConversationStatusLocal(ctx context.Context, arg chat1.SetConversationStatusLocalArg) (res chat1.SetConversationStatusLocalRes, err error)
func (*Server) SetGlobalAppNotificationSettingsLocal ¶ added in v1.0.27
func (*Server) SetTeamRetentionLocal ¶ added in v1.0.40
func (*Server) Sign ¶ added in v1.0.22
Sign implements github.com/keybase/go/chat/s3.Signer interface.
func (*Server) UnboxMobilePushNotification ¶ added in v1.0.27
func (*Server) UpdateTyping ¶ added in v1.0.27
func (*Server) UpgradeKBFSConversationToImpteam ¶ added in v1.0.41
type ServerConnection ¶ added in v1.0.22
type SignDecrypter ¶
type SignDecrypter struct{}
func NewSignDecrypter ¶
func NewSignDecrypter() *SignDecrypter
func (*SignDecrypter) DecryptWithNonce ¶ added in v1.0.19
func (s *SignDecrypter) DecryptWithNonce(r io.Reader, nonce signencrypt.Nonce, encKey, verifyKey []byte) (plaintext io.Reader)
type SignEncrypter ¶
type SignEncrypter struct {
// contains filtered or unexported fields
}
func NewSignEncrypter ¶
func NewSignEncrypter() *SignEncrypter
func (*SignEncrypter) EncryptKey ¶
func (s *SignEncrypter) EncryptKey() []byte
func (*SignEncrypter) EncryptResume ¶ added in v1.0.19
func (s *SignEncrypter) EncryptResume(r io.Reader, nonce signencrypt.Nonce, encKey signencrypt.SecretboxKey, signKey signencrypt.SignKey, verifyKey signencrypt.VerifyKey) (io.Reader, error)
EncryptResume is used to create a SignEncrypter to resume an interrupted attachment upload. It is *very* important that the keys passed in are not used to encrypt different plaintext than their original usage.
func (*SignEncrypter) EncryptWithNonce ¶ added in v1.0.19
func (s *SignEncrypter) EncryptWithNonce(r io.Reader, nonce signencrypt.Nonce) (io.Reader, error)
func (*SignEncrypter) EncryptedLen ¶
func (s *SignEncrypter) EncryptedLen(size int) int
func (*SignEncrypter) SignKey ¶ added in v1.0.19
func (s *SignEncrypter) SignKey() []byte
func (*SignEncrypter) VerifyKey ¶
func (s *SignEncrypter) VerifyKey() []byte
type SimpleIdentifyNotifier ¶ added in v1.0.42
type SimpleIdentifyNotifier struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewSimpleIdentifyNotifier ¶ added in v1.0.42
func NewSimpleIdentifyNotifier(g *globals.Context) *SimpleIdentifyNotifier
func (*SimpleIdentifyNotifier) Reset ¶ added in v1.0.42
func (d *SimpleIdentifyNotifier) Reset()
func (*SimpleIdentifyNotifier) ResetOnGUIConnect ¶ added in v1.0.42
func (d *SimpleIdentifyNotifier) ResetOnGUIConnect()
func (*SimpleIdentifyNotifier) Send ¶ added in v1.0.42
func (d *SimpleIdentifyNotifier) Send(ctx context.Context, update keybase1.CanonicalTLFNameAndIDWithBreaks)
type StashKey ¶ added in v1.0.19
type StashKey struct { PlaintextHash []byte ConversationID chat1.ConversationID UserID keybase1.UID }
func NewStashKey ¶ added in v1.0.19
type Syncer ¶ added in v1.0.19
type Syncer struct { globals.Contextified utils.DebugLabeler sync.Mutex // contains filtered or unexported fields }
func (*Syncer) Connected ¶ added in v1.0.19
func (s *Syncer) Connected(ctx context.Context, cli chat1.RemoteInterface, uid gregor1.UID, syncRes *chat1.SyncChatRes) (err error)
func (*Syncer) Disconnected ¶ added in v1.0.19
func (*Syncer) IsConnected ¶ added in v1.0.21
func (*Syncer) RegisterOfflinable ¶ added in v1.0.19
func (s *Syncer) RegisterOfflinable(offlinable types.Offlinable)
func (*Syncer) SelectConversation ¶ added in v1.0.47
func (s *Syncer) SelectConversation(ctx context.Context, convID chat1.ConversationID)
func (*Syncer) SendChatStaleNotifications ¶ added in v1.0.19
type TeamLoader ¶ added in v1.0.47
type TeamLoader struct { libkb.Contextified utils.DebugLabeler }
func NewTeamLoader ¶ added in v1.0.47
func NewTeamLoader(g *libkb.GlobalContext) *TeamLoader
type TeamsNameInfoSource ¶ added in v1.0.27
type TeamsNameInfoSource struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewTeamsNameInfoSource ¶ added in v1.0.27
func NewTeamsNameInfoSource(g *globals.Context) *TeamsNameInfoSource
func (*TeamsNameInfoSource) DecryptionKeys ¶ added in v1.0.42
func (*TeamsNameInfoSource) EncryptionKeys ¶ added in v1.0.42
type TransientUnboxingError ¶ added in v1.0.19
type TransientUnboxingError struct {
// contains filtered or unexported fields
}
func (TransientUnboxingError) Error ¶ added in v1.0.19
func (e TransientUnboxingError) Error() string
func (TransientUnboxingError) ExportType ¶ added in v1.0.19
func (e TransientUnboxingError) ExportType() chat1.MessageUnboxedErrorType
func (TransientUnboxingError) Inner ¶ added in v1.0.19
func (e TransientUnboxingError) Inner() error
func (TransientUnboxingError) IsPermanent ¶ added in v1.0.19
func (e TransientUnboxingError) IsPermanent() bool
type TypingMonitor ¶ added in v1.0.27
type TypingMonitor struct { globals.Contextified sync.Mutex utils.DebugLabeler // contains filtered or unexported fields }
func NewTypingMonitor ¶ added in v1.0.27
func NewTypingMonitor(g *globals.Context) *TypingMonitor
func (*TypingMonitor) SetClock ¶ added in v1.0.27
func (t *TypingMonitor) SetClock(clock clockwork.Clock)
func (*TypingMonitor) SetTimeout ¶ added in v1.0.27
func (t *TypingMonitor) SetTimeout(timeout time.Duration)
func (*TypingMonitor) Update ¶ added in v1.0.27
func (t *TypingMonitor) Update(ctx context.Context, typer chat1.TyperInfo, convID chat1.ConversationID, typing bool)
type UISource ¶ added in v1.0.22
type UISource interface { GetChatUI(sessionID int) libkb.ChatUI GetStreamUICli() *keybase1.StreamUiClient }
type UnboxingError ¶ added in v1.0.19
type UnboxingError interface { Error() string Inner() error IsPermanent() bool ExportType() chat1.MessageUnboxedErrorType }
func NewPermanentUnboxingError ¶ added in v1.0.19
func NewPermanentUnboxingError(inner error) UnboxingError
func NewTransientUnboxingError ¶ added in v1.0.19
func NewTransientUnboxingError(inner error) UnboxingError
type UploadTask ¶ added in v1.0.19
type UploadTask struct { S3Params chat1.S3Params Filename string FileSize int Plaintext ReadResetter S3Signer s3.Signer ConversationID chat1.ConversationID UserID keybase1.UID Progress ProgressReporter // contains filtered or unexported fields }
func (*UploadTask) Nonce ¶ added in v1.0.19
func (u *UploadTask) Nonce() signencrypt.Nonce
type VersionError ¶ added in v1.0.19
func NewBodyVersionError ¶ added in v1.0.19
func NewBodyVersionError(version chat1.BodyPlaintextVersion, defaultBody chat1.BodyPlaintextUnsupported) VersionError
func NewHeaderVersionError ¶ added in v1.0.19
func NewHeaderVersionError(version chat1.HeaderPlaintextVersion, defaultHeader chat1.HeaderPlaintextUnsupported) VersionError
func NewMessageBoxedVersionError ¶ added in v1.0.19
func NewMessageBoxedVersionError(version chat1.MessageBoxedVersion) VersionError
func (VersionError) Error ¶ added in v1.0.19
func (e VersionError) Error() string
func (VersionError) ExportType ¶ added in v1.0.19
func (e VersionError) ExportType() chat1.MessageUnboxedErrorType
Source Files ¶
- active.go
- attachment.go
- attachment_asset.go
- attachment_crypt.go
- attachment_preview.go
- attachment_progress.go
- attachment_s3.go
- attachment_stash.go
- boxer.go
- context.go
- convloader.go
- convsource.go
- errors.go
- helper.go
- identify.go
- identify_ui.go
- inboxsource.go
- keyfinder.go
- prev.go
- push.go
- remoteclient.go
- retry.go
- searcher.go
- sender.go
- server.go
- sourceofflinable.go
- supersedes.go
- sync.go
- teamchannelsource.go
- teams.go
- tlf.go
- typingmonitor.go
- upakfinder.go