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 CreateNameInfoSource(ctx context.Context, g *globals.Context, ...) types.NameInfoSource
- func CtxAddLogTags(ctx context.Context, env appTypeSource) context.Context
- func CtxAddRateLimit(ctx context.Context, rl []chat1.RateLimit)
- func CtxAddTestingNameInfoSource(ctx context.Context, ni types.NameInfoSource) context.Context
- func CtxIdentifyNotifier(ctx context.Context) types.IdentifyNotifier
- func CtxModifyIdentifyNotifier(ctx context.Context, notifier types.IdentifyNotifier) context.Context
- func CtxRateLimits(ctx context.Context) (res []chat1.RateLimit)
- func CtxTestingNameInfoSource(ctx context.Context) (types.NameInfoSource, bool)
- 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, err error)
- func GetInboxQueryNameInfo(ctx context.Context, g *globals.Context, lquery *chat1.GetInboxLocalQuery) (*types.NameInfoUntrusted, error)
- func GetLastSendTime(ctx context.Context, g *globals.Context, log utils.DebugLabeler) time.Time
- func GetMessages(ctx context.Context, g *globals.Context, uid gregor1.UID, ...) ([]chat1.MessageUnboxed, error)
- 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, error)
- func GetVerifiedConv(ctx context.Context, g *globals.Context, uid gregor1.UID, ...) (res chat1.ConversationLocal, err 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, ...) (err error)
- func LeaveConversation(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ...) (err error)
- func NewConversation(ctx context.Context, g *globals.Context, uid gregor1.UID, tlfName string, ...) (chat1.ConversationLocal, error)
- func NewConversationSource(g *globals.Context, typ string, boxer *Boxer, storage *storage.Storage, ...) types.ConversationSource
- func NewFTLError(s string) error
- func NewInboxSource(g *globals.Context, typ string, ri func() chat1.RemoteInterface) types.InboxSource
- func PresentConversationLocalWithFetchRetry(ctx context.Context, g *globals.Context, uid gregor1.UID, ...) (res *chat1.InboxUIItem)
- func PreviewConversation(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ...) (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 AttachmentHTTPSrv
- func (r *AttachmentHTTPSrv) GetAttachmentFetcher() types.AttachmentFetcher
- func (r *AttachmentHTTPSrv) GetPendingPreviewURL(ctx context.Context, outboxID chat1.OutboxID) string
- func (r *AttachmentHTTPSrv) GetURL(ctx context.Context, convID chat1.ConversationID, msgID chat1.MessageID, ...) string
- func (r *AttachmentHTTPSrv) Sign(payload []byte) ([]byte, error)
- type AttachmentUploadError
- type BackgroundConvLoader
- func (b *BackgroundConvLoader) Queue(ctx context.Context, job types.ConvLoaderJob) 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 BackgroundEphemeralPurger
- func (b *BackgroundEphemeralPurger) Queue(ctx context.Context, purgeInfo chat1.EphemeralPurgeInfo) error
- func (b *BackgroundEphemeralPurger) SetClock(clock clockwork.Clock)
- func (b *BackgroundEphemeralPurger) Start(ctx context.Context, uid gregor1.UID)
- func (b *BackgroundEphemeralPurger) Stop(ctx context.Context) chan struct{}
- 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, err error)
- func (s *BlockingSender) SetClock(clock clockwork.Clock)
- 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, ...) (bool, error)
- func (b *Boxer) SetClock(clock clockwork.Clock)
- 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 ByMsgID
- type CachingAttachmentFetcher
- func (c *CachingAttachmentFetcher) DeleteAssets(ctx context.Context, convID chat1.ConversationID, assets []chat1.Asset, ...) (err error)
- func (c *CachingAttachmentFetcher) FetchAttachment(ctx context.Context, w io.Writer, convID chat1.ConversationID, ...) (err error)
- func (c *CachingAttachmentFetcher) IsAssetLocal(ctx context.Context, asset chat1.Asset) (found bool, err error)
- func (c *CachingAttachmentFetcher) PutUploadedAsset(ctx context.Context, filename string, asset chat1.Asset) (err error)
- func (c *CachingAttachmentFetcher) StreamAttachment(ctx context.Context, convID chat1.ConversationID, asset chat1.Asset, ...) (res io.ReadSeeker, err error)
- 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, err error)
- func (c *CachingTeamChannelSource) GetChannelsFull(ctx context.Context, uid gregor1.UID, teamID chat1.TLFID, ...) (res []chat1.ConversationLocal, err error)
- func (c *CachingTeamChannelSource) GetChannelsTopicName(ctx context.Context, uid gregor1.UID, teamID chat1.TLFID, ...) (res []chat1.ChannelNameMention, 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 DecryptionKeyNotFoundError
- type Deliverer
- func (s *Deliverer) ActiveDeliveries(ctx context.Context) (res []chat1.ConversationID, err error)
- func (s *Deliverer) Connected(ctx context.Context)
- func (s *Deliverer) Disconnected(ctx context.Context)
- func (s *Deliverer) ForceDeliverLoop(ctx context.Context)
- func (s *Deliverer) IsDelivering() bool
- func (s *Deliverer) IsOffline(ctx context.Context) bool
- func (s *Deliverer) NextFailure() (chan []chat1.OutboxRecord, func())
- 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 EphemeralAlreadyExpiredError
- type EphemeralUnboxingError
- type FTLError
- 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 FullInboxRetry
- type HeaderMismatchError
- type Helper
- func (h *Helper) FindConversations(ctx context.Context, useLocalData bool, name string, topicName *string, ...) ([]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) GetMessages(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) ([]chat1.MessageUnboxed, 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) AcquireConversationLock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) error
- func (s *HybridConversationSource) Clear(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) error
- func (s *HybridConversationSource) ClearFromDelete(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) bool
- func (s HybridConversationSource) DeleteAssets(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- func (s *HybridConversationSource) EphemeralPurge(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) (newPurgeInfo *chat1.EphemeralPurgeInfo, explodedMsgs []chat1.MessageUnboxed, ...)
- 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, 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) PushUnboxed(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) (continuousUpdate bool, err error)
- func (s *HybridConversationSource) ReleaseConversationLock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID)
- func (s HybridConversationSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
- func (s HybridConversationSource) Sign(payload []byte) ([]byte, error)
- func (s HybridConversationSource) TransformSupersedes(ctx context.Context, unboxInfo types.UnboxConversationInfo, 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.NameInfoUntrusted, err error)
- func (b HybridInboxSource) IsMember(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) (bool, 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, 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, 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 (s *HybridInboxSource) SetConvSettings(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) SubteamRename(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) AllCryptKeys(ctx context.Context, name string, public bool) (res types.AllCryptKeys, err error)
- func (t *ImplicitTeamsNameInfoSource) DecryptionKey(ctx context.Context, name string, teamID chat1.TLFID, ...) (res types.CryptKey, err error)
- func (t *ImplicitTeamsNameInfoSource) EncryptionKey(ctx context.Context, name string, teamID chat1.TLFID, ...) (res types.CryptKey, ni *types.NameInfo, err error)
- func (t *ImplicitTeamsNameInfoSource) EphemeralDecryptionKey(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (teamEK keybase1.TeamEk, err error)
- func (t *ImplicitTeamsNameInfoSource) EphemeralEncryptionKey(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (teamEK keybase1.TeamEk, err error)
- func (t *ImplicitTeamsNameInfoSource) LookupID(ctx context.Context, name string, public bool) (res *types.NameInfo, err error)
- func (t *ImplicitTeamsNameInfoSource) LookupIDUntrusted(ctx context.Context, name string, public bool) (res *types.NameInfoUntrusted, err error)
- func (t *ImplicitTeamsNameInfoSource) LookupName(ctx context.Context, tlfID chat1.TLFID, public bool) (res *types.NameInfo, err error)
- func (t *ImplicitTeamsNameInfoSource) ShouldPairwiseMAC(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (bool, []keybase1.KID, error)
- type ImpteamBadteamError
- type InternalError
- type InvalidMACError
- type KBFSNameInfoSource
- func (t *KBFSNameInfoSource) AllCryptKeys(ctx context.Context, tlfName string, public bool) (res types.AllCryptKeys, err error)
- 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) DecryptionKey(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (res types.CryptKey, err error)
- func (t *KBFSNameInfoSource) EncryptionKey(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (res types.CryptKey, ni *types.NameInfo, err error)
- func (t *KBFSNameInfoSource) EphemeralDecryptionKey(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (teamEK keybase1.TeamEk, err error)
- func (t *KBFSNameInfoSource) EphemeralEncryptionKey(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (teamEK keybase1.TeamEk, err error)
- func (t *KBFSNameInfoSource) LookupID(ctx context.Context, tlfName string, public bool) (res *types.NameInfo, err error)
- func (t *KBFSNameInfoSource) LookupIDUntrusted(ctx context.Context, name string, public bool) (res *types.NameInfoUntrusted, err error)
- func (t *KBFSNameInfoSource) LookupName(ctx context.Context, tlfID chat1.TLFID, public bool) (res *types.NameInfo, err error)
- func (t *KBFSNameInfoSource) PublicCanonicalTLFNameAndID(ctx context.Context, tlfName string) (res keybase1.CanonicalTLFNameAndIDWithBreaks, ferr error)
- func (t *KBFSNameInfoSource) ShouldPairwiseMAC(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (bool, []keybase1.KID, error)
- type KeyFinder
- type KeyFinderImpl
- func (k *KeyFinderImpl) EphemeralKeyForDecryption(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (keybase1.TeamEk, error)
- func (k *KeyFinderImpl) EphemeralKeyForEncryption(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (ek keybase1.TeamEk, err error)
- func (k *KeyFinderImpl) FindForDecryption(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (res types.CryptKey, err error)
- func (k *KeyFinderImpl) FindForEncryption(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (res types.CryptKey, ni *types.NameInfo, err error)
- func (k *KeyFinderImpl) Reset()
- func (k *KeyFinderImpl) ShouldPairwiseMAC(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (bool, []keybase1.KID, error)
- type MobilePush
- func (h *MobilePush) AckNotificationSuccess(ctx context.Context, pushIDs []string)
- func (h *MobilePush) FormatPushText(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) (res string, err error)
- func (h *MobilePush) UnboxPushNotification(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) (res chat1.MessageUnboxed, err error)
- 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, error)
- type NotAuthenticatedForThisDeviceError
- type NotifyRouterActivityRouter
- func (n *NotifyRouterActivityRouter) Activity(ctx context.Context, uid gregor1.UID, topicType chat1.TopicType, ...)
- func (n *NotifyRouterActivityRouter) AttachmentUploadProgress(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- func (n *NotifyRouterActivityRouter) AttachmentUploadStart(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- func (n *NotifyRouterActivityRouter) InboxStale(ctx context.Context, uid gregor1.UID)
- func (n *NotifyRouterActivityRouter) InboxSyncStarted(ctx context.Context, uid gregor1.UID)
- func (n *NotifyRouterActivityRouter) InboxSynced(ctx context.Context, uid gregor1.UID, topicType chat1.TopicType, ...)
- func (n *NotifyRouterActivityRouter) JoinedConversation(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- func (n *NotifyRouterActivityRouter) KBFSToImpteamUpgrade(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- func (n *NotifyRouterActivityRouter) LeftConversation(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- func (n *NotifyRouterActivityRouter) ResetConversation(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- func (n *NotifyRouterActivityRouter) SetConvRetention(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- func (n *NotifyRouterActivityRouter) SetConvSettings(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- func (n *NotifyRouterActivityRouter) SetTeamRetention(ctx context.Context, uid gregor1.UID, teamID keybase1.TeamID, ...)
- func (n *NotifyRouterActivityRouter) SubteamRename(ctx context.Context, uid gregor1.UID, convIDs []chat1.ConversationID, ...)
- func (n *NotifyRouterActivityRouter) TLFFinalize(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- func (n *NotifyRouterActivityRouter) TLFResolve(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- func (n *NotifyRouterActivityRouter) ThreadsStale(ctx context.Context, uid gregor1.UID, updates []chat1.ConversationStaleUpdate)
- func (n *NotifyRouterActivityRouter) TypingUpdate(ctx context.Context, updates []chat1.ConvTypingUpdate)
- type OfflineClient
- type OfflineError
- type OfflineErrorKind
- type PermanentUnboxingError
- func (e PermanentUnboxingError) Error() string
- func (e PermanentUnboxingError) ExportType() chat1.MessageUnboxedErrorType
- func (e PermanentUnboxingError) Inner() error
- func (e PermanentUnboxingError) InternalError() string
- func (e PermanentUnboxingError) IsCritical() bool
- func (e PermanentUnboxingError) IsPermanent() bool
- func (e PermanentUnboxingError) VersionKind() chat1.VersionKind
- func (e PermanentUnboxingError) VersionNumber() int
- type PublicTeamEphemeralKeyError
- 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) SetConvSettings(ctx context.Context, m gregor.OutOfBandMessage) (err error)
- func (g *PushHandler) SetTeamRetention(ctx context.Context, m gregor.OutOfBandMessage) (err error)
- func (g *PushHandler) SubteamRename(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 RemoteAttachmentFetcher
- func (r *RemoteAttachmentFetcher) DeleteAssets(ctx context.Context, convID chat1.ConversationID, assets []chat1.Asset, ...) (err error)
- func (r *RemoteAttachmentFetcher) FetchAttachment(ctx context.Context, w io.Writer, convID chat1.ConversationID, ...) (err error)
- func (r *RemoteAttachmentFetcher) IsAssetLocal(ctx context.Context, asset chat1.Asset) (bool, error)
- func (r *RemoteAttachmentFetcher) PutUploadedAsset(ctx context.Context, filename string, asset chat1.Asset) error
- func (r *RemoteAttachmentFetcher) StreamAttachment(ctx context.Context, convID chat1.ConversationID, asset chat1.Asset, ...) (res io.ReadSeeker, err error)
- type RemoteClient
- type RemoteConversationSource
- func (s *RemoteConversationSource) AcquireConversationLock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) error
- func (s *RemoteConversationSource) Clear(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) error
- func (s *RemoteConversationSource) ClearFromDelete(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) bool
- func (s RemoteConversationSource) DeleteAssets(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- func (s *RemoteConversationSource) EphemeralPurge(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) (*chat1.EphemeralPurgeInfo, []chat1.MessageUnboxed, 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, 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) PushUnboxed(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) (bool, error)
- func (s *RemoteConversationSource) ReleaseConversationLock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID)
- func (s RemoteConversationSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
- func (s RemoteConversationSource) Sign(payload []byte) ([]byte, error)
- func (s RemoteConversationSource) TransformSupersedes(ctx context.Context, unboxInfo types.UnboxConversationInfo, 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.NameInfoUntrusted, err error)
- func (b RemoteInboxSource) IsMember(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) (bool, 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, 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, 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 (s *RemoteInboxSource) SetConvSettings(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 SenderTestImmediateFailError
- 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) GetInboxAndUnboxUILocal(ctx context.Context, arg chat1.GetInboxAndUnboxUILocalArg) (res chat1.GetInboxAndUnboxUILocalRes, 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) GetStaticConfig(ctx context.Context) (res chat1.StaticConfig, 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) 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) PostFileAttachmentMessageLocalNonblock(ctx context.Context, arg chat1.PostFileAttachmentMessageLocalNonblockArg) (res chat1.PostLocalNonblockRes, err error)
- func (h *Server) PostFileAttachmentUploadLocalNonblock(ctx context.Context, arg chat1.PostFileAttachmentUploadLocalNonblockArg) (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) PostReactionNonblock(ctx context.Context, arg chat1.PostReactionNonblockArg) (res chat1.PostLocalNonblockRes, err 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) SetConvMinWriterRoleLocal(ctx context.Context, arg chat1.SetConvMinWriterRoleLocalArg) (err error)
- 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) 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 SimpleIdentifyNotifier
- 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) GetSelectedConversation() chat1.ConversationID
- 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) AllCryptKeys(ctx context.Context, name string, public bool) (res types.AllCryptKeys, err error)
- func (t *TeamsNameInfoSource) DecryptionKey(ctx context.Context, name string, teamID chat1.TLFID, ...) (res types.CryptKey, err error)
- func (t *TeamsNameInfoSource) EncryptionKey(ctx context.Context, name string, teamID chat1.TLFID, ...) (res types.CryptKey, ni *types.NameInfo, err error)
- func (t *TeamsNameInfoSource) EphemeralDecryptionKey(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (teamEK keybase1.TeamEk, err error)
- func (t *TeamsNameInfoSource) EphemeralEncryptionKey(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (teamEK keybase1.TeamEk, err error)
- func (t *TeamsNameInfoSource) LookupID(ctx context.Context, name string, public bool) (res *types.NameInfo, err error)
- func (t *TeamsNameInfoSource) LookupIDUntrusted(ctx context.Context, name string, public bool) (res *types.NameInfoUntrusted, err error)
- func (t *TeamsNameInfoSource) LookupName(ctx context.Context, tlfID chat1.TLFID, public bool) (res *types.NameInfo, err error)
- func (t *TeamsNameInfoSource) ShouldPairwiseMAC(ctx context.Context, tlfName string, tlfID chat1.TLFID, ...) (bool, []keybase1.KID, error)
- type TransientUnboxingError
- func (e TransientUnboxingError) Error() string
- func (e TransientUnboxingError) ExportType() chat1.MessageUnboxedErrorType
- func (e TransientUnboxingError) Inner() error
- func (e TransientUnboxingError) InternalError() string
- func (e TransientUnboxingError) IsCritical() bool
- func (e TransientUnboxingError) IsPermanent() bool
- func (e TransientUnboxingError) VersionKind() chat1.VersionKind
- func (e TransientUnboxingError) VersionNumber() int
- type TypingMonitor
- type UISource
- type UnboxingError
- type UnknownTLFNameError
- type VersionError
Constants ¶
const CurrentMessageBoxedVersion = chat1.MessageBoxedVersion_V2
const MaxAllowedSearchHits = 10000
const MaxAllowedSearchMessages = 100000
Variables ¶
var ActiveIntervalAfterSend = 30 * 24 * time.Hour
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 InitialAssumedActiveInterval = 24 * time.Hour
All devices are presumed active for the first 24 hours. See comment below.
Functions ¶
func BackgroundContext ¶
func Context ¶
func Context(ctx context.Context, g *globals.Context, mode keybase1.TLFIdentifyBehavior, breaks *[]keybase1.TLFIdentifyFailure, notifier types.IdentifyNotifier) context.Context
func CreateNameInfoSource ¶
func CreateNameInfoSource(ctx context.Context, g *globals.Context, membersType chat1.ConversationMembersType) types.NameInfoSource
func CtxIdentifyNotifier ¶
func CtxIdentifyNotifier(ctx context.Context) types.IdentifyNotifier
func CtxTestingNameInfoSource ¶
func CtxTestingNameInfoSource(ctx context.Context) (types.NameInfoSource, bool)
func CtxUPAKFinder ¶
func FindConversations ¶
func FindConversations(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, useLocalData bool, 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, err error)
func GetInboxQueryNameInfo ¶
func GetInboxQueryNameInfo(ctx context.Context, g *globals.Context, lquery *chat1.GetInboxLocalQuery) (*types.NameInfoUntrusted, error)
func GetLastSendTime ¶
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 GetMessages ¶
func GetTopicNameState ¶
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 ¶
func GetVerifiedConv ¶
func IdentifyMode ¶
func IdentifyMode(ctx context.Context) (ib keybase1.TLFIdentifyBehavior, breaks *[]keybase1.TLFIdentifyFailure, ok bool)
func IdentifyModeCtx ¶
func IdentifyModeCtx(ctx context.Context, mode keybase1.TLFIdentifyBehavior, breaks *[]keybase1.TLFIdentifyFailure) context.Context
func JoinConversation ¶
func JoinConversation(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ri func() chat1.RemoteInterface, uid gregor1.UID, convID chat1.ConversationID) (err error)
func LeaveConversation ¶
func LeaveConversation(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ri func() chat1.RemoteInterface, uid gregor1.UID, convID chat1.ConversationID) (err error)
func NewConversation ¶
func NewConversation(ctx context.Context, g *globals.Context, uid gregor1.UID, tlfName string, topicName *string, topicType chat1.TopicType, membersType chat1.ConversationMembersType, vis keybase1.TLFVisibility, ri func() chat1.RemoteInterface) (chat1.ConversationLocal, error)
func NewConversationSource ¶
func NewConversationSource(g *globals.Context, typ string, boxer *Boxer, storage *storage.Storage, ri func() chat1.RemoteInterface) types.ConversationSource
func NewFTLError ¶
func NewInboxSource ¶
func NewInboxSource(g *globals.Context, typ string, ri func() chat1.RemoteInterface) types.InboxSource
func PresentConversationLocalWithFetchRetry ¶
func PresentConversationLocalWithFetchRetry(ctx context.Context, g *globals.Context, uid gregor1.UID, conv chat1.ConversationLocal) (res *chat1.InboxUIItem)
func PreviewConversation ¶
func PreviewConversation(ctx context.Context, g *globals.Context, debugger utils.DebugLabeler, ri func() chat1.RemoteInterface, uid gregor1.UID, convID chat1.ConversationID) (err error)
func RecordChatSend ¶
func TouchFirstChatActiveQueryTime ¶
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 AttachmentHTTPSrv ¶
type AttachmentHTTPSrv struct { sync.Mutex globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewAttachmentHTTPSrv ¶
func NewAttachmentHTTPSrv(g *globals.Context, fetcher types.AttachmentFetcher, ri func() chat1.RemoteInterface) *AttachmentHTTPSrv
func (*AttachmentHTTPSrv) GetAttachmentFetcher ¶
func (r *AttachmentHTTPSrv) GetAttachmentFetcher() types.AttachmentFetcher
func (*AttachmentHTTPSrv) GetPendingPreviewURL ¶
type AttachmentUploadError ¶
type AttachmentUploadError struct {
Msg string
}
func NewAttachmentUploadError ¶
func NewAttachmentUploadError(msg string) AttachmentUploadError
func (AttachmentUploadError) Error ¶
func (e AttachmentUploadError) Error() string
type BackgroundConvLoader ¶
type BackgroundConvLoader struct { globals.Contextified utils.DebugLabeler sync.Mutex // contains filtered or unexported fields }
func NewBackgroundConvLoader ¶
func NewBackgroundConvLoader(g *globals.Context) *BackgroundConvLoader
func (*BackgroundConvLoader) Queue ¶
func (b *BackgroundConvLoader) Queue(ctx context.Context, job types.ConvLoaderJob) error
func (*BackgroundConvLoader) Resume ¶
func (b *BackgroundConvLoader) Resume(ctx context.Context) bool
func (*BackgroundConvLoader) Start ¶
func (b *BackgroundConvLoader) Start(ctx context.Context, uid gregor1.UID)
func (*BackgroundConvLoader) Stop ¶
func (b *BackgroundConvLoader) Stop(ctx context.Context) chan struct{}
type BackgroundEphemeralPurger ¶
type BackgroundEphemeralPurger struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewBackgroundEphemeralPurger ¶
func NewBackgroundEphemeralPurger(g *globals.Context, storage *storage.Storage) *BackgroundEphemeralPurger
func (*BackgroundEphemeralPurger) Queue ¶
func (b *BackgroundEphemeralPurger) Queue(ctx context.Context, purgeInfo chat1.EphemeralPurgeInfo) error
func (*BackgroundEphemeralPurger) SetClock ¶
func (b *BackgroundEphemeralPurger) SetClock(clock clockwork.Clock)
func (*BackgroundEphemeralPurger) Start ¶
func (b *BackgroundEphemeralPurger) Start(ctx context.Context, uid gregor1.UID)
func (*BackgroundEphemeralPurger) Stop ¶
func (b *BackgroundEphemeralPurger) Stop(ctx context.Context) chan struct{}
type BlockingLocalizer ¶
type BlockingLocalizer struct { globals.Contextified // contains filtered or unexported fields }
func NewBlockingLocalizer ¶
func NewBlockingLocalizer(g *globals.Context) *BlockingLocalizer
func (*BlockingLocalizer) Localize ¶
func (b *BlockingLocalizer) Localize(ctx context.Context, uid gregor1.UID, inbox types.Inbox) (res []chat1.ConversationLocal, err error)
func (*BlockingLocalizer) Name ¶
func (b *BlockingLocalizer) Name() string
func (*BlockingLocalizer) SetOffline ¶
func (b *BlockingLocalizer) SetOffline()
type BlockingSender ¶
type BlockingSender struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewBlockingSender ¶
func NewBlockingSender(g *globals.Context, boxer *Boxer, getRi func() chat1.RemoteInterface) *BlockingSender
func (*BlockingSender) Prepare ¶
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 ¶
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, err error)
func (*BlockingSender) SetClock ¶
func (s *BlockingSender) SetClock(clock clockwork.Clock)
type BodyHashInvalid ¶
type BodyHashInvalid struct{}
func (BodyHashInvalid) Error ¶
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 ¶
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 ¶
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 ¶
type BoxingCryptKeysError struct {
Err error
}
func NewBoxingCryptKeysError ¶
func NewBoxingCryptKeysError(err error) BoxingCryptKeysError
func (BoxingCryptKeysError) Error ¶
func (e BoxingCryptKeysError) Error() string
func (BoxingCryptKeysError) Inner ¶
func (e BoxingCryptKeysError) Inner() error
func (BoxingCryptKeysError) IsImmediateFail ¶
func (e BoxingCryptKeysError) IsImmediateFail() (chat1.OutboxErrorType, bool)
type BoxingError ¶
func NewBoxingError ¶
func NewBoxingError(msg string, perm bool) BoxingError
func (BoxingError) Error ¶
func (e BoxingError) Error() string
func (BoxingError) IsImmediateFail ¶
func (e BoxingError) IsImmediateFail() (chat1.OutboxErrorType, bool)
type ByMsgID ¶
type ByMsgID []chat1.MessageUnboxed
type CachingAttachmentFetcher ¶
type CachingAttachmentFetcher struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewCachingAttachmentFetcher ¶
func NewCachingAttachmentFetcher(g *globals.Context, store attachments.Store, size int) *CachingAttachmentFetcher
func (*CachingAttachmentFetcher) DeleteAssets ¶
func (c *CachingAttachmentFetcher) DeleteAssets(ctx context.Context, convID chat1.ConversationID, assets []chat1.Asset, ri func() chat1.RemoteInterface, signer s3.Signer) (err error)
func (*CachingAttachmentFetcher) FetchAttachment ¶
func (c *CachingAttachmentFetcher) FetchAttachment(ctx context.Context, w io.Writer, convID chat1.ConversationID, asset chat1.Asset, ri func() chat1.RemoteInterface, signer s3.Signer, progress types.ProgressReporter) (err error)
func (*CachingAttachmentFetcher) IsAssetLocal ¶
func (*CachingAttachmentFetcher) PutUploadedAsset ¶
func (*CachingAttachmentFetcher) StreamAttachment ¶
func (c *CachingAttachmentFetcher) StreamAttachment(ctx context.Context, convID chat1.ConversationID, asset chat1.Asset, ri func() chat1.RemoteInterface, signer s3.Signer) (res io.ReadSeeker, err error)
type CachingIdentifyNotifier ¶
type CachingIdentifyNotifier struct { globals.Contextified utils.DebugLabeler sync.RWMutex // contains filtered or unexported fields }
func NewCachingIdentifyNotifier ¶
func NewCachingIdentifyNotifier(g *globals.Context) *CachingIdentifyNotifier
func (*CachingIdentifyNotifier) Reset ¶
func (i *CachingIdentifyNotifier) Reset()
func (*CachingIdentifyNotifier) ResetOnGUIConnect ¶
func (i *CachingIdentifyNotifier) ResetOnGUIConnect()
func (*CachingIdentifyNotifier) Send ¶
func (i *CachingIdentifyNotifier) Send(ctx context.Context, update keybase1.CanonicalTLFNameAndIDWithBreaks)
type CachingTeamChannelSource ¶
type CachingTeamChannelSource struct { globals.Contextified utils.DebugLabeler sync.Mutex // contains filtered or unexported fields }
func NewCachingTeamChannelSource ¶
func NewCachingTeamChannelSource(g *globals.Context, ri func() chat1.RemoteInterface) *CachingTeamChannelSource
func (*CachingTeamChannelSource) ChannelsChanged ¶
func (c *CachingTeamChannelSource) ChannelsChanged(ctx context.Context, teamID chat1.TLFID)
func (*CachingTeamChannelSource) Connected ¶
func (c *CachingTeamChannelSource) Connected(ctx context.Context)
func (*CachingTeamChannelSource) Disconnected ¶
func (c *CachingTeamChannelSource) Disconnected(ctx context.Context)
func (*CachingTeamChannelSource) GetChannelTopicName ¶
func (*CachingTeamChannelSource) GetChannelsFull ¶
func (*CachingTeamChannelSource) GetChannelsTopicName ¶
type CachingUPAKFinder ¶
type CachingUPAKFinder struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewCachingUPAKFinder ¶
func NewCachingUPAKFinder(g *globals.Context) *CachingUPAKFinder
func (*CachingUPAKFinder) CheckKIDForUID ¶
func (*CachingUPAKFinder) LookupUsernameAndDevice ¶
type ChatThreadConsistencyError ¶
type ChatThreadConsistencyError interface { error Code() ConsistencyErrorCode }
func CheckPrevPointersAndGetUnpreved ¶
func CheckPrevPointersAndGetUnpreved(thread *chat1.ThreadView) (newPrevsForRegular, newPrevsForExploding []chat1.MessagePreviousPointer, err 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 ¶
func NewChatThreadConsistencyError(code ConsistencyErrorCode, msg string, formatArgs ...interface{}) ChatThreadConsistencyError
type ConsistencyErrorCode ¶
type ConsistencyErrorCode int
const ( DuplicateID ConsistencyErrorCode = iota OutOfOrderID InconsistentHash IncorrectHash )
type ConversationRetry ¶
type ConversationRetry struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewConversationRetry ¶
func NewConversationRetry(g *globals.Context, convID chat1.ConversationID, tlfID *chat1.TLFID, kind FetchType) *ConversationRetry
func (*ConversationRetry) RekeyFixable ¶
func (*ConversationRetry) SendStale ¶
func (c *ConversationRetry) SendStale(ctx context.Context, uid gregor1.UID)
func (*ConversationRetry) String ¶
func (c *ConversationRetry) String() string
type DecryptionKeyNotFoundError ¶
type DecryptionKeyNotFoundError struct {
// contains filtered or unexported fields
}
func NewDecryptionKeyNotFoundError ¶
func NewDecryptionKeyNotFoundError(generation int, public, kbfsEncrypted bool) DecryptionKeyNotFoundError
func (DecryptionKeyNotFoundError) Error ¶
func (e DecryptionKeyNotFoundError) Error() string
type Deliverer ¶
type Deliverer struct { globals.Contextified sync.Mutex utils.DebugLabeler // contains filtered or unexported fields }
func (*Deliverer) ActiveDeliveries ¶
func (*Deliverer) Disconnected ¶
func (*Deliverer) ForceDeliverLoop ¶
func (*Deliverer) IsDelivering ¶
func (*Deliverer) NextFailure ¶
func (s *Deliverer) NextFailure() (chan []chat1.OutboxRecord, func())
func (*Deliverer) Queue ¶
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 ¶
type DelivererInfoError interface {
IsImmediateFail() (chat1.OutboxErrorType, bool)
}
type DummyIdentifyNotifier ¶
type DummyIdentifyNotifier struct{}
func (DummyIdentifyNotifier) Reset ¶
func (d DummyIdentifyNotifier) Reset()
func (DummyIdentifyNotifier) ResetOnGUIConnect ¶
func (d DummyIdentifyNotifier) ResetOnGUIConnect()
func (DummyIdentifyNotifier) Send ¶
func (d DummyIdentifyNotifier) Send(ctx context.Context, update keybase1.CanonicalTLFNameAndIDWithBreaks)
type DuplicateTopicNameError ¶
type DuplicateTopicNameError struct {
TopicName string
}
func (DuplicateTopicNameError) Error ¶
func (e DuplicateTopicNameError) Error() string
type EphemeralAlreadyExpiredError ¶
type EphemeralAlreadyExpiredError struct {
// contains filtered or unexported fields
}
func NewEphemeralAlreadyExpiredError ¶
func NewEphemeralAlreadyExpiredError() EphemeralAlreadyExpiredError
func (EphemeralAlreadyExpiredError) Error ¶
func (e EphemeralAlreadyExpiredError) Error() string
func (EphemeralAlreadyExpiredError) InternalError ¶
func (e EphemeralAlreadyExpiredError) InternalError() string
type EphemeralUnboxingError ¶
type EphemeralUnboxingError struct {
// contains filtered or unexported fields
}
func NewEphemeralUnboxingError ¶
func NewEphemeralUnboxingError(inner error) EphemeralUnboxingError
func (EphemeralUnboxingError) Error ¶
func (e EphemeralUnboxingError) Error() string
func (EphemeralUnboxingError) InternalError ¶
func (e EphemeralUnboxingError) InternalError() string
type FetchRetrier ¶
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 ¶
func NewFetchRetrier(g *globals.Context) *FetchRetrier
func (*FetchRetrier) Connected ¶
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 ¶
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 ¶
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 ¶
func (f *FetchRetrier) Force(ctx context.Context)
Force forces a run of the retry loop.
func (*FetchRetrier) IsOffline ¶
func (f *FetchRetrier) IsOffline(ctx context.Context) bool
IsOffline returns if the module thinks we are connected to the chat server.
func (*FetchRetrier) Rekey ¶
func (f *FetchRetrier) Rekey(ctx context.Context, name string, membersType chat1.ConversationMembersType, public bool)
func (*FetchRetrier) SetClock ¶
func (f *FetchRetrier) SetClock(clock clockwork.Clock)
SetClock sets a custom clock for testing.
func (*FetchRetrier) Stop ¶
func (f *FetchRetrier) Stop(ctx context.Context) chan struct{}
func (*FetchRetrier) Success ¶
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 FullInboxRetry ¶
type FullInboxRetry struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewFullInboxRetry ¶
func NewFullInboxRetry(g *globals.Context, query *chat1.GetInboxLocalQuery, p *chat1.Pagination) FullInboxRetry
func (FullInboxRetry) RekeyFixable ¶
func (FullInboxRetry) SendStale ¶
func (f FullInboxRetry) SendStale(ctx context.Context, uid gregor1.UID)
func (FullInboxRetry) String ¶
func (f FullInboxRetry) String() string
type HeaderMismatchError ¶
type HeaderMismatchError struct {
Field string
}
func NewHeaderMismatchError ¶
func NewHeaderMismatchError(field string) HeaderMismatchError
func (HeaderMismatchError) Error ¶
func (e HeaderMismatchError) Error() string
type Helper ¶
type Helper struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func (*Helper) FindConversations ¶
func (h *Helper) FindConversations(ctx context.Context, useLocalData bool, name string, topicName *string, topicType chat1.TopicType, membersType chat1.ConversationMembersType, vis keybase1.TLFVisibility) ([]chat1.ConversationLocal, error)
func (*Helper) FindConversationsByID ¶
func (h *Helper) FindConversationsByID(ctx context.Context, convIDs []chat1.ConversationID) ([]chat1.ConversationLocal, error)
func (*Helper) GetChannelTopicName ¶
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) GetMessages ¶
func (*Helper) SendMsgByID ¶
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 ¶
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 ¶
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 ¶
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 ¶
func (h *Helper) SendTextByID(ctx context.Context, convID chat1.ConversationID, trip chat1.ConversationIDTriple, tlfName string, text string) error
func (*Helper) SendTextByIDNonblock ¶
func (h *Helper) SendTextByIDNonblock(ctx context.Context, convID chat1.ConversationID, trip chat1.ConversationIDTriple, tlfName string, text string) error
func (*Helper) SendTextByName ¶
func (*Helper) SendTextByNameNonblock ¶
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) AcquireConversationLock ¶
func (s *HybridConversationSource) AcquireConversationLock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) error
func (*HybridConversationSource) Clear ¶
func (s *HybridConversationSource) Clear(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) error
func (*HybridConversationSource) ClearFromDelete ¶
func (s *HybridConversationSource) ClearFromDelete(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, deleteID chat1.MessageID) bool
ClearFromDelete clears the current cache if there is a delete that we don't know about and returns true to the caller if it schedules a background loader job
func (HybridConversationSource) DeleteAssets ¶
func (s HybridConversationSource) DeleteAssets(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, assets []chat1.Asset)
DeleteAssets implements github.com/keybase/go/chat/storage/storage.AssetDeleter interface.
func (*HybridConversationSource) EphemeralPurge ¶
func (s *HybridConversationSource) EphemeralPurge(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, purgeInfo *chat1.EphemeralPurgeInfo) (newPurgeInfo *chat1.EphemeralPurgeInfo, explodedMsgs []chat1.MessageUnboxed, err error)
func (*HybridConversationSource) Expunge ¶
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 ¶
func (s *HybridConversationSource) GetMessages(ctx context.Context, conv types.UnboxConversationInfo, uid gregor1.UID, msgIDs []chat1.MessageID, threadReason *chat1.GetThreadReason) ([]chat1.MessageUnboxed, error)
func (*HybridConversationSource) GetMessagesWithRemotes ¶
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, reason chat1.GetThreadReason, query *chat1.GetThreadQuery, pagination *chat1.Pagination) (thread chat1.ThreadView, err error)
func (*HybridConversationSource) PullLocalOnly ¶
func (s *HybridConversationSource) PullLocalOnly(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, query *chat1.GetThreadQuery, pagination *chat1.Pagination, maxPlaceholders int) (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) PushUnboxed ¶
func (s *HybridConversationSource) PushUnboxed(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msg chat1.MessageUnboxed) (continuousUpdate bool, err error)
func (*HybridConversationSource) ReleaseConversationLock ¶
func (s *HybridConversationSource) ReleaseConversationLock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID)
func (HybridConversationSource) SetRemoteInterface ¶
func (s HybridConversationSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
func (HybridConversationSource) Sign ¶
Sign implements github.com/keybase/go/chat/s3.Signer interface.
func (HybridConversationSource) TransformSupersedes ¶
func (s HybridConversationSource) TransformSupersedes(ctx context.Context, unboxInfo types.UnboxConversationInfo, uid gregor1.UID, msgs []chat1.MessageUnboxed) ([]chat1.MessageUnboxed, error)
type HybridInboxSource ¶
type HybridInboxSource struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewHybridInboxSource ¶
func NewHybridInboxSource(g *globals.Context, getChatInterface func() chat1.RemoteInterface) *HybridInboxSource
func (HybridInboxSource) Disconnected ¶
func (*HybridInboxSource) Expunge ¶
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 ¶
func (b HybridInboxSource) GetInboxQueryLocalToRemote(ctx context.Context, lquery *chat1.GetInboxLocalQuery) (rquery *chat1.GetInboxQuery, info *types.NameInfoUntrusted, err error)
func (*HybridInboxSource) MembershipUpdate ¶
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 ¶
func (s *HybridInboxSource) NewConversation(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, conv chat1.Conversation) (err error)
func (*HybridInboxSource) NewMessage ¶
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 ¶
func (s *HybridInboxSource) Read(ctx context.Context, uid gregor1.UID, localizer types.ChatLocalizer, useLocalData bool, query *chat1.GetInboxLocalQuery, p *chat1.Pagination) (inbox types.Inbox, err error)
func (*HybridInboxSource) ReadMessage ¶
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 ¶
func (s *HybridInboxSource) ReadUnverified(ctx context.Context, uid gregor1.UID, useLocalData bool, query *chat1.GetInboxQuery, p *chat1.Pagination) (res types.Inbox, err error)
func (*HybridInboxSource) SetAppNotificationSettings ¶
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 ¶
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) SetConvSettings ¶
func (s *HybridInboxSource) SetConvSettings(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, convSettings *chat1.ConversationSettings) (res *chat1.ConversationLocal, err error)
func (HybridInboxSource) SetRemoteInterface ¶
func (b HybridInboxSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
func (*HybridInboxSource) SetStatus ¶
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 ¶
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) SubteamRename ¶
func (s *HybridInboxSource) SubteamRename(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convIDs []chat1.ConversationID) (convs []chat1.ConversationLocal, err error)
func (*HybridInboxSource) TeamTypeChanged ¶
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 ¶
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 ¶
func (s *HybridInboxSource) UpgradeKBFSToImpteam(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID) (conv *chat1.ConversationLocal, err error)
type IdentifyChangedHandler ¶
type IdentifyChangedHandler struct { globals.Contextified utils.DebugLabeler }
func NewIdentifyChangedHandler ¶
func NewIdentifyChangedHandler(g *globals.Context) *IdentifyChangedHandler
func (*IdentifyChangedHandler) BackgroundIdentifyChanged ¶
func (h *IdentifyChangedHandler) BackgroundIdentifyChanged(ctx context.Context, job engine.IdentifyJob)
func (*IdentifyChangedHandler) HandleUserChanged ¶
func (h *IdentifyChangedHandler) HandleUserChanged(uid keybase1.UID) (err error)
type ImplicitTeamsNameInfoSource ¶
type ImplicitTeamsNameInfoSource struct { globals.Contextified utils.DebugLabeler *NameIdentifier // contains filtered or unexported fields }
func NewImplicitTeamsNameInfoSource ¶
func NewImplicitTeamsNameInfoSource(g *globals.Context, lookupUpgraded bool) *ImplicitTeamsNameInfoSource
func (*ImplicitTeamsNameInfoSource) AllCryptKeys ¶
func (t *ImplicitTeamsNameInfoSource) AllCryptKeys(ctx context.Context, name string, public bool) (res types.AllCryptKeys, err error)
func (*ImplicitTeamsNameInfoSource) DecryptionKey ¶
func (*ImplicitTeamsNameInfoSource) EncryptionKey ¶
func (*ImplicitTeamsNameInfoSource) EphemeralDecryptionKey ¶
func (t *ImplicitTeamsNameInfoSource) EphemeralDecryptionKey(ctx context.Context, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, generation keybase1.EkGeneration) (teamEK keybase1.TeamEk, err error)
func (*ImplicitTeamsNameInfoSource) EphemeralEncryptionKey ¶
func (*ImplicitTeamsNameInfoSource) LookupIDUntrusted ¶
func (t *ImplicitTeamsNameInfoSource) LookupIDUntrusted(ctx context.Context, name string, public bool) (res *types.NameInfoUntrusted, err error)
func (*ImplicitTeamsNameInfoSource) LookupName ¶
func (*ImplicitTeamsNameInfoSource) ShouldPairwiseMAC ¶
type ImpteamBadteamError ¶
type ImpteamBadteamError struct {
Msg string
}
func (ImpteamBadteamError) Error ¶
func (e ImpteamBadteamError) Error() string
type InternalError ¶
type InternalError interface { // verbose error info for debugging but not user display InternalError() string }
type InvalidMACError ¶
type InvalidMACError struct{}
func NewInvalidMACError ¶
func NewInvalidMACError() InvalidMACError
func (InvalidMACError) Error ¶
func (e InvalidMACError) Error() string
type KBFSNameInfoSource ¶
type KBFSNameInfoSource struct { globals.Contextified utils.DebugLabeler *NameIdentifier }
func NewKBFSNameInfoSource ¶
func NewKBFSNameInfoSource(g *globals.Context) *KBFSNameInfoSource
func (*KBFSNameInfoSource) AllCryptKeys ¶
func (t *KBFSNameInfoSource) AllCryptKeys(ctx context.Context, tlfName string, public bool) (res types.AllCryptKeys, err error)
func (*KBFSNameInfoSource) CompleteAndCanonicalizePrivateTlfName ¶
func (t *KBFSNameInfoSource) CompleteAndCanonicalizePrivateTlfName(ctx context.Context, tlfName string) (res keybase1.CanonicalTLFNameAndIDWithBreaks, err error)
func (*KBFSNameInfoSource) CryptKeys ¶
func (t *KBFSNameInfoSource) CryptKeys(ctx context.Context, tlfName string) (res keybase1.GetTLFCryptKeysRes, ferr error)
func (*KBFSNameInfoSource) DecryptionKey ¶
func (*KBFSNameInfoSource) EncryptionKey ¶
func (*KBFSNameInfoSource) EphemeralDecryptionKey ¶
func (t *KBFSNameInfoSource) EphemeralDecryptionKey(ctx context.Context, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, generation keybase1.EkGeneration) (teamEK keybase1.TeamEk, err error)
func (*KBFSNameInfoSource) EphemeralEncryptionKey ¶
func (*KBFSNameInfoSource) LookupIDUntrusted ¶
func (t *KBFSNameInfoSource) LookupIDUntrusted(ctx context.Context, name string, public bool) (res *types.NameInfoUntrusted, err error)
func (*KBFSNameInfoSource) LookupName ¶
func (*KBFSNameInfoSource) PublicCanonicalTLFNameAndID ¶
func (t *KBFSNameInfoSource) PublicCanonicalTLFNameAndID(ctx context.Context, tlfName string) (res keybase1.CanonicalTLFNameAndIDWithBreaks, ferr error)
func (*KBFSNameInfoSource) ShouldPairwiseMAC ¶
type KeyFinder ¶
type KeyFinder interface { FindForEncryption(ctx context.Context, tlfName string, teamID chat1.TLFID, membersType chat1.ConversationMembersType, public bool) (types.CryptKey, *types.NameInfo, error) FindForDecryption(ctx context.Context, tlfName string, teamID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, keyGeneration int, kbfsEncrypted bool) (types.CryptKey, error) EphemeralKeyForEncryption(ctx context.Context, tlfName string, teamID chat1.TLFID, membersType chat1.ConversationMembersType, public bool) (keybase1.TeamEk, error) EphemeralKeyForDecryption(ctx context.Context, tlfName string, teamID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, generation keybase1.EkGeneration) (keybase1.TeamEk, error) ShouldPairwiseMAC(ctx context.Context, tlfName string, teamID chat1.TLFID, membersType chat1.ConversationMembersType, public bool) (bool, []keybase1.KID, error) Reset() }
KeyFinder remembers results from previous calls to CryptKeys().
func NewKeyFinder ¶
NewKeyFinder creates a KeyFinder.
type KeyFinderImpl ¶
type KeyFinderImpl struct { globals.Contextified utils.DebugLabeler sync.Mutex // contains filtered or unexported fields }
func (*KeyFinderImpl) EphemeralKeyForDecryption ¶
func (k *KeyFinderImpl) EphemeralKeyForDecryption(ctx context.Context, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, generation keybase1.EkGeneration) (keybase1.TeamEk, error)
func (*KeyFinderImpl) EphemeralKeyForEncryption ¶
func (*KeyFinderImpl) FindForDecryption ¶
func (k *KeyFinderImpl) FindForDecryption(ctx context.Context, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, keyGeneration int, kbfsEncrypted bool) (res types.CryptKey, err error)
FindForDecryption ignores tlfName or teamID based on membersType.
func (*KeyFinderImpl) FindForEncryption ¶
func (k *KeyFinderImpl) FindForEncryption(ctx context.Context, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool) (res types.CryptKey, ni *types.NameInfo, err error)
FindForEncryption finds keys up-to-date enough for encrypting. Ignores tlfName or teamID based on membersType.
func (*KeyFinderImpl) Reset ¶
func (k *KeyFinderImpl) Reset()
func (*KeyFinderImpl) ShouldPairwiseMAC ¶
type MobilePush ¶
type MobilePush struct { globals.Contextified utils.DebugLabeler }
func NewMobilePush ¶
func NewMobilePush(g *globals.Context) *MobilePush
func (*MobilePush) AckNotificationSuccess ¶
func (h *MobilePush) AckNotificationSuccess(ctx context.Context, pushIDs []string)
func (*MobilePush) FormatPushText ¶
func (h *MobilePush) FormatPushText(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, membersType chat1.ConversationMembersType, msg chat1.MessageUnboxed) (res string, err error)
func (*MobilePush) UnboxPushNotification ¶
func (h *MobilePush) UnboxPushNotification(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, membersType chat1.ConversationMembersType, payload string) (res chat1.MessageUnboxed, err error)
type NameIdentifier ¶
type NameIdentifier struct { globals.Contextified utils.DebugLabeler }
func NewNameIdentifier ¶
func NewNameIdentifier(g *globals.Context) *NameIdentifier
func (*NameIdentifier) Identify ¶
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 ¶
type NonblockInboxResult struct { Conv chat1.Conversation Err *chat1.ConversationErrorLocal ConvRes *chat1.ConversationLocal InboxRes *types.Inbox }
type NonblockingLocalizer ¶
type NonblockingLocalizer struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewNonblockingLocalizer ¶
func NewNonblockingLocalizer(g *globals.Context, localizeCb chan NonblockInboxResult, maxUnbox *int) *NonblockingLocalizer
func (*NonblockingLocalizer) Localize ¶
func (b *NonblockingLocalizer) Localize(ctx context.Context, uid gregor1.UID, inbox types.Inbox) (res []chat1.ConversationLocal, err error)
func (*NonblockingLocalizer) Name ¶
func (b *NonblockingLocalizer) Name() string
func (*NonblockingLocalizer) SetOffline ¶
func (b *NonblockingLocalizer) SetOffline()
type NonblockingSender ¶
type NonblockingSender struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewNonblockingSender ¶
func NewNonblockingSender(g *globals.Context, sender types.Sender) *NonblockingSender
func (*NonblockingSender) Prepare ¶
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 ¶
func (s *NonblockingSender) Send(ctx context.Context, convID chat1.ConversationID, msg chat1.MessagePlaintext, clientPrev chat1.MessageID, outboxID *chat1.OutboxID) (chat1.OutboxID, *chat1.MessageBoxed, error)
type NotAuthenticatedForThisDeviceError ¶
type NotAuthenticatedForThisDeviceError struct{}
func NewNotAuthenticatedForThisDeviceError ¶
func NewNotAuthenticatedForThisDeviceError() NotAuthenticatedForThisDeviceError
func (NotAuthenticatedForThisDeviceError) Error ¶
func (e NotAuthenticatedForThisDeviceError) Error() string
type NotifyRouterActivityRouter ¶
type NotifyRouterActivityRouter struct { utils.DebugLabeler globals.Contextified sync.Mutex // contains filtered or unexported fields }
func NewNotifyRouterActivityRouter ¶
func NewNotifyRouterActivityRouter(g *globals.Context) *NotifyRouterActivityRouter
func (*NotifyRouterActivityRouter) Activity ¶
func (n *NotifyRouterActivityRouter) Activity(ctx context.Context, uid gregor1.UID, topicType chat1.TopicType, activity *chat1.ChatActivity, source chat1.ChatActivitySource)
func (*NotifyRouterActivityRouter) AttachmentUploadProgress ¶
func (n *NotifyRouterActivityRouter) AttachmentUploadProgress(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, outboxID chat1.OutboxID, bytesComplete, bytesTotal int64)
func (*NotifyRouterActivityRouter) AttachmentUploadStart ¶
func (n *NotifyRouterActivityRouter) AttachmentUploadStart(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, outboxID chat1.OutboxID)
func (*NotifyRouterActivityRouter) InboxStale ¶
func (n *NotifyRouterActivityRouter) InboxStale(ctx context.Context, uid gregor1.UID)
func (*NotifyRouterActivityRouter) InboxSyncStarted ¶
func (n *NotifyRouterActivityRouter) InboxSyncStarted(ctx context.Context, uid gregor1.UID)
func (*NotifyRouterActivityRouter) InboxSynced ¶
func (n *NotifyRouterActivityRouter) InboxSynced(ctx context.Context, uid gregor1.UID, topicType chat1.TopicType, syncRes chat1.ChatSyncResult)
func (*NotifyRouterActivityRouter) JoinedConversation ¶
func (n *NotifyRouterActivityRouter) JoinedConversation(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType, conv *chat1.InboxUIItem)
func (*NotifyRouterActivityRouter) KBFSToImpteamUpgrade ¶
func (n *NotifyRouterActivityRouter) KBFSToImpteamUpgrade(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType)
func (*NotifyRouterActivityRouter) LeftConversation ¶
func (n *NotifyRouterActivityRouter) LeftConversation(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType)
func (*NotifyRouterActivityRouter) ResetConversation ¶
func (n *NotifyRouterActivityRouter) ResetConversation(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType)
func (*NotifyRouterActivityRouter) SetConvRetention ¶
func (n *NotifyRouterActivityRouter) SetConvRetention(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType, conv *chat1.InboxUIItem)
func (*NotifyRouterActivityRouter) SetConvSettings ¶
func (n *NotifyRouterActivityRouter) SetConvSettings(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType, conv *chat1.InboxUIItem)
func (*NotifyRouterActivityRouter) SetTeamRetention ¶
func (*NotifyRouterActivityRouter) SubteamRename ¶
func (n *NotifyRouterActivityRouter) SubteamRename(ctx context.Context, uid gregor1.UID, convIDs []chat1.ConversationID, topicType chat1.TopicType, convs []chat1.InboxUIItem)
func (*NotifyRouterActivityRouter) TLFFinalize ¶
func (n *NotifyRouterActivityRouter) TLFFinalize(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType, finalizeInfo chat1.ConversationFinalizeInfo, conv *chat1.InboxUIItem)
func (*NotifyRouterActivityRouter) TLFResolve ¶
func (n *NotifyRouterActivityRouter) TLFResolve(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType, resolveInfo chat1.ConversationResolveInfo)
func (*NotifyRouterActivityRouter) ThreadsStale ¶
func (n *NotifyRouterActivityRouter) ThreadsStale(ctx context.Context, uid gregor1.UID, updates []chat1.ConversationStaleUpdate)
func (*NotifyRouterActivityRouter) TypingUpdate ¶
func (n *NotifyRouterActivityRouter) TypingUpdate(ctx context.Context, updates []chat1.ConvTypingUpdate)
type OfflineClient ¶
type OfflineClient struct { }
type OfflineError ¶
type OfflineError struct { }
func (OfflineError) Error ¶
func (e OfflineError) Error() string
type OfflineErrorKind ¶
type OfflineErrorKind int
const ( OfflineErrorKindOnline OfflineErrorKind = iota OfflineErrorKindOfflineBasic OfflineErrorKindOfflineReconnect )
func IsOfflineError ¶
func IsOfflineError(err error) OfflineErrorKind
type PermanentUnboxingError ¶
type PermanentUnboxingError struct {
// contains filtered or unexported fields
}
func (PermanentUnboxingError) Error ¶
func (e PermanentUnboxingError) Error() string
func (PermanentUnboxingError) ExportType ¶
func (e PermanentUnboxingError) ExportType() chat1.MessageUnboxedErrorType
func (PermanentUnboxingError) Inner ¶
func (e PermanentUnboxingError) Inner() error
func (PermanentUnboxingError) InternalError ¶
func (e PermanentUnboxingError) InternalError() string
func (PermanentUnboxingError) IsCritical ¶
func (e PermanentUnboxingError) IsCritical() bool
func (PermanentUnboxingError) IsPermanent ¶
func (e PermanentUnboxingError) IsPermanent() bool
func (PermanentUnboxingError) VersionKind ¶
func (e PermanentUnboxingError) VersionKind() chat1.VersionKind
func (PermanentUnboxingError) VersionNumber ¶
func (e PermanentUnboxingError) VersionNumber() int
type PublicTeamEphemeralKeyError ¶
type PublicTeamEphemeralKeyError struct{}
func NewPublicTeamEphemeralKeyError ¶
func NewPublicTeamEphemeralKeyError() PublicTeamEphemeralKeyError
func (PublicTeamEphemeralKeyError) Error ¶
func (e PublicTeamEphemeralKeyError) Error() string
type PushHandler ¶
type PushHandler struct { globals.Contextified utils.DebugLabeler sync.Mutex // contains filtered or unexported fields }
func NewPushHandler ¶
func NewPushHandler(g *globals.Context) *PushHandler
func (*PushHandler) Activity ¶
func (g *PushHandler) Activity(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) HandleOobm ¶
func (g *PushHandler) HandleOobm(ctx context.Context, obm gregor.OutOfBandMessage) (bool, error)
func (*PushHandler) MembershipUpdate ¶
func (g *PushHandler) MembershipUpdate(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) SetBadger ¶
func (g *PushHandler) SetBadger(badger *badges.Badger)
func (*PushHandler) SetClock ¶
func (g *PushHandler) SetClock(clock clockwork.Clock)
func (*PushHandler) SetConvRetention ¶
func (g *PushHandler) SetConvRetention(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) SetConvSettings ¶
func (g *PushHandler) SetConvSettings(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) SetTeamRetention ¶
func (g *PushHandler) SetTeamRetention(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) SubteamRename ¶
func (g *PushHandler) SubteamRename(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) TeamChannels ¶
func (g *PushHandler) TeamChannels(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) TlfFinalize ¶
func (g *PushHandler) TlfFinalize(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) TlfResolve ¶
func (g *PushHandler) TlfResolve(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) Typing ¶
func (g *PushHandler) Typing(ctx context.Context, m gregor.OutOfBandMessage) (err error)
func (*PushHandler) UpgradeKBFSToImpteam ¶
func (g *PushHandler) UpgradeKBFSToImpteam(ctx context.Context, m gregor.OutOfBandMessage) (err error)
type RemoteAttachmentFetcher ¶
type RemoteAttachmentFetcher struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewRemoteAttachmentFetcher ¶
func NewRemoteAttachmentFetcher(g *globals.Context, store attachments.Store) *RemoteAttachmentFetcher
func (*RemoteAttachmentFetcher) DeleteAssets ¶
func (r *RemoteAttachmentFetcher) DeleteAssets(ctx context.Context, convID chat1.ConversationID, assets []chat1.Asset, ri func() chat1.RemoteInterface, signer s3.Signer) (err error)
func (*RemoteAttachmentFetcher) FetchAttachment ¶
func (r *RemoteAttachmentFetcher) FetchAttachment(ctx context.Context, w io.Writer, convID chat1.ConversationID, asset chat1.Asset, ri func() chat1.RemoteInterface, signer s3.Signer, progress types.ProgressReporter) (err error)
func (*RemoteAttachmentFetcher) IsAssetLocal ¶
func (*RemoteAttachmentFetcher) PutUploadedAsset ¶
func (*RemoteAttachmentFetcher) StreamAttachment ¶
func (r *RemoteAttachmentFetcher) StreamAttachment(ctx context.Context, convID chat1.ConversationID, asset chat1.Asset, ri func() chat1.RemoteInterface, signer s3.Signer) (res io.ReadSeeker, err error)
type RemoteClient ¶
type RemoteClient struct { utils.DebugLabeler // contains filtered or unexported fields }
func NewRemoteClient ¶
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) AcquireConversationLock ¶
func (s *RemoteConversationSource) AcquireConversationLock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) error
func (*RemoteConversationSource) Clear ¶
func (s *RemoteConversationSource) Clear(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) error
func (*RemoteConversationSource) ClearFromDelete ¶
func (s *RemoteConversationSource) ClearFromDelete(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, msgID chat1.MessageID) bool
func (RemoteConversationSource) DeleteAssets ¶
func (s RemoteConversationSource) DeleteAssets(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, assets []chat1.Asset)
DeleteAssets implements github.com/keybase/go/chat/storage/storage.AssetDeleter interface.
func (*RemoteConversationSource) EphemeralPurge ¶
func (s *RemoteConversationSource) EphemeralPurge(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, purgeInfo *chat1.EphemeralPurgeInfo) (*chat1.EphemeralPurgeInfo, []chat1.MessageUnboxed, error)
func (*RemoteConversationSource) Expunge ¶
func (s *RemoteConversationSource) Expunge(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, expunge chat1.Expunge) error
func (*RemoteConversationSource) GetMessages ¶
func (s *RemoteConversationSource) GetMessages(ctx context.Context, conv types.UnboxConversationInfo, uid gregor1.UID, msgIDs []chat1.MessageID, threadReason *chat1.GetThreadReason) ([]chat1.MessageUnboxed, error)
func (*RemoteConversationSource) GetMessagesWithRemotes ¶
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, reason chat1.GetThreadReason, query *chat1.GetThreadQuery, pagination *chat1.Pagination) (chat1.ThreadView, error)
func (*RemoteConversationSource) PullLocalOnly ¶
func (s *RemoteConversationSource) PullLocalOnly(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, query *chat1.GetThreadQuery, pagination *chat1.Pagination, maxPlaceholders int) (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) PushUnboxed ¶
func (s *RemoteConversationSource) PushUnboxed(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msg chat1.MessageUnboxed) (bool, error)
func (*RemoteConversationSource) ReleaseConversationLock ¶
func (s *RemoteConversationSource) ReleaseConversationLock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID)
func (RemoteConversationSource) SetRemoteInterface ¶
func (s RemoteConversationSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
func (RemoteConversationSource) Sign ¶
Sign implements github.com/keybase/go/chat/s3.Signer interface.
func (RemoteConversationSource) TransformSupersedes ¶
func (s RemoteConversationSource) TransformSupersedes(ctx context.Context, unboxInfo types.UnboxConversationInfo, uid gregor1.UID, msgs []chat1.MessageUnboxed) ([]chat1.MessageUnboxed, error)
type RemoteInboxSource ¶
type RemoteInboxSource struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewRemoteInboxSource ¶
func NewRemoteInboxSource(g *globals.Context, ri func() chat1.RemoteInterface) *RemoteInboxSource
func (RemoteInboxSource) Disconnected ¶
func (*RemoteInboxSource) Expunge ¶
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 ¶
func (b RemoteInboxSource) GetInboxQueryLocalToRemote(ctx context.Context, lquery *chat1.GetInboxLocalQuery) (rquery *chat1.GetInboxQuery, info *types.NameInfoUntrusted, err error)
func (*RemoteInboxSource) MembershipUpdate ¶
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 ¶
func (s *RemoteInboxSource) NewConversation(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, conv chat1.Conversation) error
func (*RemoteInboxSource) NewMessage ¶
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 ¶
func (s *RemoteInboxSource) Read(ctx context.Context, uid gregor1.UID, localizer types.ChatLocalizer, useLocalData bool, query *chat1.GetInboxLocalQuery, p *chat1.Pagination) (types.Inbox, error)
func (*RemoteInboxSource) ReadMessage ¶
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 ¶
func (s *RemoteInboxSource) ReadUnverified(ctx context.Context, uid gregor1.UID, useLocalData bool, rquery *chat1.GetInboxQuery, p *chat1.Pagination) (types.Inbox, error)
func (*RemoteInboxSource) SetAppNotificationSettings ¶
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 ¶
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) SetConvSettings ¶
func (s *RemoteInboxSource) SetConvSettings(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, convSettings *chat1.ConversationSettings) (res *chat1.ConversationLocal, err error)
func (RemoteInboxSource) SetRemoteInterface ¶
func (b RemoteInboxSource) SetRemoteInterface(ri func() chat1.RemoteInterface)
func (*RemoteInboxSource) SetStatus ¶
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 ¶
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 ¶
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 ¶
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 ¶
func (s *RemoteInboxSource) UpdateKBFSToImpteam(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID) (conv *chat1.ConversationLocal, err error)
type Searcher ¶
type Searcher struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewSearcher ¶
func (*Searcher) SearchRegexp ¶
func (s *Searcher) SearchRegexp(ctx context.Context, uiCh chan chat1.ChatSearchHit, convID chat1.ConversationID, re *regexp.Regexp, opts chat1.SearchOpts) (hits []chat1.ChatSearchHit, err error)
type SenderTestImmediateFailError ¶
type SenderTestImmediateFailError struct { }
func (SenderTestImmediateFailError) Error ¶
func (e SenderTestImmediateFailError) Error() string
func (SenderTestImmediateFailError) IsImmediateFail ¶
func (e SenderTestImmediateFailError) IsImmediateFail() (chat1.OutboxErrorType, bool)
type Server ¶
type Server struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewServer ¶
func NewServer(g *globals.Context, serverConn ServerConnection, uiSource UISource) *Server
func (*Server) AddTeamMemberAfterReset ¶
func (*Server) CancelPost ¶
func (*Server) DeleteConversationLocal ¶
func (h *Server) DeleteConversationLocal(ctx context.Context, arg chat1.DeleteConversationLocalArg) (res chat1.DeleteConversationLocalRes, err error)
func (*Server) DownloadAttachmentLocal ¶
func (h *Server) DownloadAttachmentLocal(ctx context.Context, arg chat1.DownloadAttachmentLocalArg) (res chat1.DownloadAttachmentLocalRes, err error)
DownloadAttachmentLocal implements chat1.LocalInterface.DownloadAttachmentLocal.
func (*Server) DownloadFileAttachmentLocal ¶
func (h *Server) DownloadFileAttachmentLocal(ctx context.Context, arg chat1.DownloadFileAttachmentLocalArg) (res chat1.DownloadAttachmentLocalRes, err error)
DownloadFileAttachmentLocal implements chat1.LocalInterface.DownloadFileAttachmentLocal.
func (*Server) FindConversationsLocal ¶
func (h *Server) FindConversationsLocal(ctx context.Context, arg chat1.FindConversationsLocalArg) (res chat1.FindConversationsLocalRes, err error)
func (*Server) GenerateOutboxID ¶
func (*Server) GetCachedThread ¶
func (h *Server) GetCachedThread(ctx context.Context, arg chat1.GetCachedThreadArg) (res chat1.GetThreadLocalRes, err error)
func (*Server) GetConversationForCLILocal ¶
func (h *Server) GetConversationForCLILocal(ctx context.Context, arg chat1.GetConversationForCLILocalQuery) (res chat1.GetConversationForCLILocalRes, err error)
func (*Server) GetGlobalAppNotificationSettingsLocal ¶
func (*Server) GetInboxAndUnboxLocal ¶
func (h *Server) GetInboxAndUnboxLocal(ctx context.Context, arg chat1.GetInboxAndUnboxLocalArg) (res chat1.GetInboxAndUnboxLocalRes, err error)
GetInboxAndUnboxLocal implements keybase.chatLocal.getInboxAndUnboxLocal protocol.
func (*Server) GetInboxAndUnboxUILocal ¶
func (h *Server) GetInboxAndUnboxUILocal(ctx context.Context, arg chat1.GetInboxAndUnboxUILocalArg) (res chat1.GetInboxAndUnboxUILocalRes, err error)
func (*Server) GetInboxNonblockLocal ¶
func (h *Server) GetInboxNonblockLocal(ctx context.Context, arg chat1.GetInboxNonblockLocalArg) (res chat1.NonblockFetchRes, err error)
func (*Server) GetInboxSummaryForCLILocal ¶
func (h *Server) GetInboxSummaryForCLILocal(ctx context.Context, arg chat1.GetInboxSummaryForCLILocalQuery) (res chat1.GetInboxSummaryForCLILocalRes, err error)
func (*Server) GetMessagesLocal ¶
func (h *Server) GetMessagesLocal(ctx context.Context, arg chat1.GetMessagesLocalArg) (res chat1.GetMessagesLocalRes, err error)
func (*Server) GetSearchRegexp ¶
func (h *Server) GetSearchRegexp(ctx context.Context, arg chat1.GetSearchRegexpArg) (res chat1.GetSearchRegexpRes, err error)
func (*Server) GetStaticConfig ¶
func (*Server) GetTLFConversationsLocal ¶
func (h *Server) GetTLFConversationsLocal(ctx context.Context, arg chat1.GetTLFConversationsLocalArg) (res chat1.GetTLFConversationsLocalRes, err error)
func (*Server) GetTeamRetentionLocal ¶
func (*Server) GetThreadLocal ¶
func (h *Server) GetThreadLocal(ctx context.Context, arg chat1.GetThreadLocalArg) (res chat1.GetThreadLocalRes, err error)
GetThreadLocal implements keybase.chatLocal.getThreadLocal protocol.
func (*Server) GetThreadNonblock ¶
func (h *Server) GetThreadNonblock(ctx context.Context, arg chat1.GetThreadNonblockArg) (res chat1.NonblockFetchRes, fullErr error)
func (*Server) JoinConversationByIDLocal ¶
func (h *Server) JoinConversationByIDLocal(ctx context.Context, convID chat1.ConversationID) (res chat1.JoinLeaveConversationLocalRes, err error)
func (*Server) JoinConversationLocal ¶
func (h *Server) JoinConversationLocal(ctx context.Context, arg chat1.JoinConversationLocalArg) (res chat1.JoinLeaveConversationLocalRes, err error)
func (*Server) LeaveConversationLocal ¶
func (h *Server) LeaveConversationLocal(ctx context.Context, convID chat1.ConversationID) (res chat1.JoinLeaveConversationLocalRes, err error)
func (*Server) MakePreview ¶
func (h *Server) MakePreview(ctx context.Context, arg chat1.MakePreviewArg) (res chat1.MakePreviewRes, err error)
MakePreview implements chat1.LocalInterface.MakePreview.
func (*Server) MarkAsReadLocal ¶
func (h *Server) MarkAsReadLocal(ctx context.Context, arg chat1.MarkAsReadLocalArg) (res chat1.MarkAsReadLocalRes, err error)
func (*Server) NewConversationLocal ¶
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) PostDeleteHistoryByAge ¶
func (h *Server) PostDeleteHistoryByAge(ctx context.Context, arg chat1.PostDeleteHistoryByAgeArg) (res chat1.PostLocalRes, err error)
func (*Server) PostDeleteHistoryThrough ¶
func (h *Server) PostDeleteHistoryThrough(ctx context.Context, arg chat1.PostDeleteHistoryThroughArg) (res chat1.PostLocalRes, err error)
func (*Server) PostDeleteHistoryUpto ¶
func (h *Server) PostDeleteHistoryUpto(ctx context.Context, arg chat1.PostDeleteHistoryUptoArg) (res chat1.PostLocalRes, err error)
func (*Server) PostDeleteNonblock ¶
func (h *Server) PostDeleteNonblock(ctx context.Context, arg chat1.PostDeleteNonblockArg) (chat1.PostLocalNonblockRes, error)
func (*Server) PostEditNonblock ¶
func (h *Server) PostEditNonblock(ctx context.Context, arg chat1.PostEditNonblockArg) (chat1.PostLocalNonblockRes, error)
func (*Server) PostFileAttachmentLocal ¶
func (h *Server) PostFileAttachmentLocal(ctx context.Context, arg chat1.PostFileAttachmentLocalArg) (res chat1.PostLocalRes, err error)
PostFileAttachmentLocal implements chat1.LocalInterface.PostFileAttachmentLocal.
func (*Server) PostFileAttachmentMessageLocalNonblock ¶
func (h *Server) PostFileAttachmentMessageLocalNonblock(ctx context.Context, arg chat1.PostFileAttachmentMessageLocalNonblockArg) (res chat1.PostLocalNonblockRes, err error)
func (*Server) PostFileAttachmentUploadLocalNonblock ¶
func (*Server) PostHeadline ¶
func (h *Server) PostHeadline(ctx context.Context, arg chat1.PostHeadlineArg) (chat1.PostLocalRes, error)
func (*Server) PostHeadlineNonblock ¶
func (h *Server) PostHeadlineNonblock(ctx context.Context, arg chat1.PostHeadlineNonblockArg) (chat1.PostLocalNonblockRes, error)
func (*Server) PostLocal ¶
func (h *Server) PostLocal(ctx context.Context, arg chat1.PostLocalArg) (res chat1.PostLocalRes, err error)
PostLocal implements keybase.chatLocal.postLocal protocol.
func (*Server) PostLocalNonblock ¶
func (h *Server) PostLocalNonblock(ctx context.Context, arg chat1.PostLocalNonblockArg) (res chat1.PostLocalNonblockRes, err error)
func (*Server) PostMetadata ¶
func (h *Server) PostMetadata(ctx context.Context, arg chat1.PostMetadataArg) (chat1.PostLocalRes, error)
func (*Server) PostMetadataNonblock ¶
func (h *Server) PostMetadataNonblock(ctx context.Context, arg chat1.PostMetadataNonblockArg) (chat1.PostLocalNonblockRes, error)
func (*Server) PostReactionNonblock ¶
func (h *Server) PostReactionNonblock(ctx context.Context, arg chat1.PostReactionNonblockArg) (res chat1.PostLocalNonblockRes, err error)
func (*Server) PostTextNonblock ¶
func (h *Server) PostTextNonblock(ctx context.Context, arg chat1.PostTextNonblockArg) (chat1.PostLocalNonblockRes, error)
func (*Server) PreviewConversationByIDLocal ¶
func (h *Server) PreviewConversationByIDLocal(ctx context.Context, convID chat1.ConversationID) (res chat1.JoinLeaveConversationLocalRes, err error)
func (*Server) SetAppNotificationSettingsLocal ¶
func (h *Server) SetAppNotificationSettingsLocal(ctx context.Context, arg chat1.SetAppNotificationSettingsLocalArg) (res chat1.SetAppNotificationSettingsLocalRes, err error)
func (*Server) SetConvMinWriterRoleLocal ¶
func (*Server) SetConvRetentionLocal ¶
func (*Server) SetConversationStatusLocal ¶
func (h *Server) SetConversationStatusLocal(ctx context.Context, arg chat1.SetConversationStatusLocalArg) (res chat1.SetConversationStatusLocalRes, err error)
func (*Server) SetGlobalAppNotificationSettingsLocal ¶
func (*Server) SetTeamRetentionLocal ¶
func (*Server) UnboxMobilePushNotification ¶
func (*Server) UpdateTyping ¶
func (*Server) UpgradeKBFSConversationToImpteam ¶
type ServerConnection ¶
type SimpleIdentifyNotifier ¶
type SimpleIdentifyNotifier struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewSimpleIdentifyNotifier ¶
func NewSimpleIdentifyNotifier(g *globals.Context) *SimpleIdentifyNotifier
func (*SimpleIdentifyNotifier) Reset ¶
func (d *SimpleIdentifyNotifier) Reset()
func (*SimpleIdentifyNotifier) ResetOnGUIConnect ¶
func (d *SimpleIdentifyNotifier) ResetOnGUIConnect()
func (*SimpleIdentifyNotifier) Send ¶
func (d *SimpleIdentifyNotifier) Send(ctx context.Context, update keybase1.CanonicalTLFNameAndIDWithBreaks)
type Syncer ¶
type Syncer struct { globals.Contextified utils.DebugLabeler sync.Mutex // contains filtered or unexported fields }
func (*Syncer) Connected ¶
func (s *Syncer) Connected(ctx context.Context, cli chat1.RemoteInterface, uid gregor1.UID, syncRes *chat1.SyncChatRes) (err error)
func (*Syncer) Disconnected ¶
func (*Syncer) GetSelectedConversation ¶
func (s *Syncer) GetSelectedConversation() chat1.ConversationID
func (*Syncer) RegisterOfflinable ¶
func (s *Syncer) RegisterOfflinable(offlinable types.Offlinable)
func (*Syncer) SelectConversation ¶
func (s *Syncer) SelectConversation(ctx context.Context, convID chat1.ConversationID)
func (*Syncer) SendChatStaleNotifications ¶
type TeamLoader ¶
type TeamLoader struct { libkb.Contextified utils.DebugLabeler }
func NewTeamLoader ¶
func NewTeamLoader(g *libkb.GlobalContext) *TeamLoader
type TeamsNameInfoSource ¶
type TeamsNameInfoSource struct { globals.Contextified utils.DebugLabeler // contains filtered or unexported fields }
func NewTeamsNameInfoSource ¶
func NewTeamsNameInfoSource(g *globals.Context) *TeamsNameInfoSource
func (*TeamsNameInfoSource) AllCryptKeys ¶
func (t *TeamsNameInfoSource) AllCryptKeys(ctx context.Context, name string, public bool) (res types.AllCryptKeys, err error)
func (*TeamsNameInfoSource) DecryptionKey ¶
func (*TeamsNameInfoSource) EncryptionKey ¶
func (*TeamsNameInfoSource) EphemeralDecryptionKey ¶
func (t *TeamsNameInfoSource) EphemeralDecryptionKey(ctx context.Context, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, generation keybase1.EkGeneration) (teamEK keybase1.TeamEk, err error)
func (*TeamsNameInfoSource) EphemeralEncryptionKey ¶
func (*TeamsNameInfoSource) LookupIDUntrusted ¶
func (t *TeamsNameInfoSource) LookupIDUntrusted(ctx context.Context, name string, public bool) (res *types.NameInfoUntrusted, err error)
func (*TeamsNameInfoSource) LookupName ¶
func (*TeamsNameInfoSource) ShouldPairwiseMAC ¶
type TransientUnboxingError ¶
type TransientUnboxingError struct {
// contains filtered or unexported fields
}
func (TransientUnboxingError) Error ¶
func (e TransientUnboxingError) Error() string
func (TransientUnboxingError) ExportType ¶
func (e TransientUnboxingError) ExportType() chat1.MessageUnboxedErrorType
func (TransientUnboxingError) Inner ¶
func (e TransientUnboxingError) Inner() error
func (TransientUnboxingError) InternalError ¶
func (e TransientUnboxingError) InternalError() string
func (TransientUnboxingError) IsCritical ¶
func (e TransientUnboxingError) IsCritical() bool
func (TransientUnboxingError) IsPermanent ¶
func (e TransientUnboxingError) IsPermanent() bool
func (TransientUnboxingError) VersionKind ¶
func (e TransientUnboxingError) VersionKind() chat1.VersionKind
func (TransientUnboxingError) VersionNumber ¶
func (e TransientUnboxingError) VersionNumber() int
type TypingMonitor ¶
type TypingMonitor struct { globals.Contextified sync.Mutex utils.DebugLabeler // contains filtered or unexported fields }
func NewTypingMonitor ¶
func NewTypingMonitor(g *globals.Context) *TypingMonitor
func (*TypingMonitor) SetClock ¶
func (t *TypingMonitor) SetClock(clock clockwork.Clock)
func (*TypingMonitor) SetTimeout ¶
func (t *TypingMonitor) SetTimeout(timeout time.Duration)
func (*TypingMonitor) Update ¶
func (t *TypingMonitor) Update(ctx context.Context, typer chat1.TyperInfo, convID chat1.ConversationID, typing bool)
type UISource ¶
type UISource interface { GetChatUI(sessionID int) libkb.ChatUI GetStreamUICli() *keybase1.StreamUiClient }
type UnboxingError ¶
type UnboxingError interface { InternalError Error() string Inner() error IsPermanent() bool ExportType() chat1.MessageUnboxedErrorType VersionKind() chat1.VersionKind VersionNumber() int IsCritical() bool }
func NewPermanentUnboxingError ¶
func NewPermanentUnboxingError(inner error) UnboxingError
func NewTransientUnboxingError ¶
func NewTransientUnboxingError(inner error) UnboxingError
type UnknownTLFNameError ¶
type UnknownTLFNameError struct {
// contains filtered or unexported fields
}
func NewUnknownTLFNameError ¶
func NewUnknownTLFNameError(name string) UnknownTLFNameError
func (UnknownTLFNameError) Error ¶
func (e UnknownTLFNameError) Error() string
type VersionError ¶
func NewBodyVersionError ¶
func NewBodyVersionError(version chat1.BodyPlaintextVersion, defaultBody chat1.BodyPlaintextUnsupported) VersionError
func NewHeaderVersionError ¶
func NewHeaderVersionError(version chat1.HeaderPlaintextVersion, defaultHeader chat1.HeaderPlaintextUnsupported) VersionError
func NewMessageBoxedVersionError ¶
func NewMessageBoxedVersionError(version chat1.MessageBoxedVersion) VersionError
func (VersionError) Error ¶
func (e VersionError) Error() string
func (VersionError) ExportType ¶
func (e VersionError) ExportType() chat1.MessageUnboxedErrorType
func (VersionError) IsCritical ¶
func (e VersionError) IsCritical() bool
func (VersionError) VersionKind ¶
func (e VersionError) VersionKind() chat1.VersionKind
func (VersionError) VersionNumber ¶
func (e VersionError) VersionNumber() int
Source Files ¶
- active.go
- activitynotifier.go
- attachment_httpsrv.go
- boxer.go
- context.go
- convloader.go
- convsource.go
- ephemeral_purger.go
- errors.go
- helper.go
- identify.go
- identify_ui.go
- inboxsource.go
- keyfinder.go
- mobilepush.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