Documentation ¶
Index ¶
- Constants
- type ActivityNotifier
- type AllCryptKeys
- type AsyncInboxResult
- type AttachmentFetcher
- type AttachmentURLSrv
- type AttachmentUploadResult
- type AttachmentUploader
- type AttachmentUploaderResultCb
- type AttachmentUploaderTaskStatus
- type BackgroundRunnable
- type BotCommandManager
- type BoxerEncryptionInfo
- type CoinFlipManager
- type ContextFactory
- type ConvLoader
- type ConvLoaderJob
- type ConvLoaderPriority
- type ConvLoaderUniqueness
- type ConversationBackedStorage
- type ConversationCommand
- type ConversationCommandsSource
- type ConversationCommandsSpec
- type ConversationLocalizerTyp
- type ConversationSource
- type CryptKey
- type DummyAttachmentFetcher
- func (d DummyAttachmentFetcher) DeleteAssets(ctx context.Context, convID chat1.ConversationID, assets []chat1.Asset, ...) (err error)
- func (d DummyAttachmentFetcher) FetchAttachment(ctx context.Context, w io.Writer, convID chat1.ConversationID, ...) error
- func (d DummyAttachmentFetcher) IsAssetLocal(ctx context.Context, asset chat1.Asset) (bool, error)
- func (d DummyAttachmentFetcher) OnDbNuke(mctx libkb.MetaContext) error
- func (d DummyAttachmentFetcher) OnStart(mctx libkb.MetaContext)
- func (d DummyAttachmentFetcher) PutUploadedAsset(ctx context.Context, filename string, asset chat1.Asset) error
- func (d DummyAttachmentFetcher) StreamAttachment(ctx context.Context, convID chat1.ConversationID, asset chat1.Asset, ...) (io.ReadSeeker, error)
- type DummyAttachmentHTTPSrv
- func (d DummyAttachmentHTTPSrv) GetAttachmentFetcher() AttachmentFetcher
- func (d DummyAttachmentHTTPSrv) GetGiphyGalleryURL(ctx context.Context, convID chat1.ConversationID, tlfName string, ...) string
- func (d DummyAttachmentHTTPSrv) GetGiphyURL(ctx context.Context, giphyURL string) string
- func (d DummyAttachmentHTTPSrv) GetPendingPreviewURL(ctx context.Context, outboxID chat1.OutboxID) string
- func (d DummyAttachmentHTTPSrv) GetURL(ctx context.Context, convID chat1.ConversationID, msgID chat1.MessageID, ...) string
- func (d DummyAttachmentHTTPSrv) GetUnfurlAssetURL(ctx context.Context, convID chat1.ConversationID, asset chat1.Asset) string
- func (d DummyAttachmentHTTPSrv) OnDbNuke(mctx libkb.MetaContext) error
- type DummyBotCommandManager
- func (d DummyBotCommandManager) Advertise(ctx context.Context, alias *string, ads []chat1.AdvertiseCommandsParam) error
- func (d DummyBotCommandManager) Clear(context.Context) error
- func (d DummyBotCommandManager) ListCommands(ctx context.Context, convID chat1.ConversationID) ([]chat1.UserBotCommandOutput, error)
- func (d DummyBotCommandManager) PublicCommandsConv(ctx context.Context, username string) (chat1.ConversationID, error)
- func (d DummyBotCommandManager) Start(ctx context.Context, uid gregor1.UID)
- func (d DummyBotCommandManager) Stop(ctx context.Context) chan struct{}
- func (d DummyBotCommandManager) UpdateCommands(ctx context.Context, convID chat1.ConversationID, info *chat1.BotInfo) (chan error, error)
- type DummyCoinFlipManager
- func (d DummyCoinFlipManager) DescribeFlipText(ctx context.Context, text string) string
- func (d DummyCoinFlipManager) HasActiveGames(ctx context.Context) bool
- func (d DummyCoinFlipManager) IsFlipConversationCreated(ctx context.Context, outboxID chat1.OutboxID) (chat1.ConversationID, FlipSendStatus)
- func (d DummyCoinFlipManager) LoadFlip(ctx context.Context, uid gregor1.UID, hostConvID chat1.ConversationID, ...) (chan chat1.UICoinFlipStatus, chan error)
- func (d DummyCoinFlipManager) MaybeInjectFlipMessage(ctx context.Context, boxedMsg chat1.MessageBoxed, inboxVers chat1.InboxVers, ...) bool
- func (d DummyCoinFlipManager) Start(ctx context.Context, uid gregor1.UID)
- func (d DummyCoinFlipManager) StartFlip(ctx context.Context, uid gregor1.UID, hostConvID chat1.ConversationID, ...) error
- func (d DummyCoinFlipManager) Stop(ctx context.Context) chan struct{}
- type DummyEphemeralPurger
- type DummyExternalAPIKeySource
- type DummyIndexer
- func (d DummyIndexer) Add(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) error
- func (d DummyIndexer) ClearCache()
- func (d DummyIndexer) FullyIndexed(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) (bool, error)
- func (d DummyIndexer) IndexInbox(ctx context.Context, uid gregor1.UID) (map[string]chat1.ProfileSearchConvStats, error)
- func (d DummyIndexer) IsBackgroundActive() bool
- func (d DummyIndexer) OnDbNuke(mctx libkb.MetaContext) error
- func (d DummyIndexer) OnLogout(mctx libkb.MetaContext) error
- func (d DummyIndexer) PercentIndexed(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) (int, error)
- func (d DummyIndexer) Remove(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) error
- func (d DummyIndexer) Resume(ctx context.Context) bool
- func (d DummyIndexer) Search(ctx context.Context, uid gregor1.UID, query, origQuery string, ...) (*chat1.ChatSearchInboxResults, error)
- func (d DummyIndexer) SearchableConvs(ctx context.Context, uid gregor1.UID, convID *chat1.ConversationID) ([]RemoteConversation, error)
- func (d DummyIndexer) Start(ctx context.Context, uid gregor1.UID)
- func (d DummyIndexer) Stop(ctx context.Context) chan struct{}
- func (d DummyIndexer) Suspend(ctx context.Context) bool
- type DummyNativeVideoHelper
- type DummyStellarLoader
- type DummyStellarSender
- func (d DummyStellarSender) DecorateWithPayments(ctx context.Context, body string, payments []chat1.TextPayment) string
- func (d DummyStellarSender) DescribePayments(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) (res chat1.UIChatPaymentSummary, toSend []ParsedStellarPayment, err error)
- func (d DummyStellarSender) ParsePayments(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, body string) []ParsedStellarPayment
- func (d DummyStellarSender) SendPayments(ctx context.Context, convID chat1.ConversationID, ...) ([]chat1.TextPayment, error)
- type DummyTeamMentionLoader
- func (d DummyTeamMentionLoader) IsTeamMention(ctx context.Context, uid gregor1.UID, maybeMention chat1.MaybeMention, ...) bool
- func (d DummyTeamMentionLoader) LoadTeamMention(ctx context.Context, uid gregor1.UID, maybeMention chat1.MaybeMention, ...) error
- func (d DummyTeamMentionLoader) Start(ctx context.Context, uid gregor1.UID)
- func (d DummyTeamMentionLoader) Stop(ctx context.Context) chan struct{}
- type DummyUIInboxLoader
- func (d DummyUIInboxLoader) LoadNonblock(ctx context.Context, query *chat1.GetInboxLocalQuery, ...) error
- func (d DummyUIInboxLoader) Start(ctx context.Context, uid gregor1.UID)
- func (d DummyUIInboxLoader) Stop(ctx context.Context) chan struct{}
- func (d DummyUIInboxLoader) UpdateConvs(ctx context.Context, convIDs []chat1.ConversationID) error
- func (d DummyUIInboxLoader) UpdateLayout(ctx context.Context, reselectMode chat1.InboxLayoutReselectMode, reason string)
- func (d DummyUIInboxLoader) UpdateLayoutFromNewMessage(ctx context.Context, conv RemoteConversation)
- func (d DummyUIInboxLoader) UpdateLayoutFromSubteamRename(ctx context.Context, convs []RemoteConversation)
- type DummyUnfurler
- func (d DummyUnfurler) Complete(ctx context.Context, outboxID chat1.OutboxID)
- func (d DummyUnfurler) GetSettings(ctx context.Context, uid gregor1.UID) (res chat1.UnfurlSettings, err error)
- func (d DummyUnfurler) Prefetch(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) int
- func (d DummyUnfurler) Retry(ctx context.Context, outboxID chat1.OutboxID)
- func (d DummyUnfurler) SetMode(ctx context.Context, uid gregor1.UID, mode chat1.UnfurlMode) error
- func (d DummyUnfurler) SetSettings(ctx context.Context, uid gregor1.UID, settings chat1.UnfurlSettings) error
- func (d DummyUnfurler) Status(ctx context.Context, outboxID chat1.OutboxID) (UnfurlerTaskStatus, *chat1.UnfurlResult, error)
- func (d DummyUnfurler) UnfurlAndSend(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- func (d DummyUnfurler) WhitelistAdd(ctx context.Context, uid gregor1.UID, domain string) error
- func (d DummyUnfurler) WhitelistAddExemption(ctx context.Context, uid gregor1.UID, exemption WhitelistExemption)
- func (d DummyUnfurler) WhitelistRemove(ctx context.Context, uid gregor1.UID, domain string) error
- type EphemeralCryptKey
- type EphemeralPurger
- type ExternalAPIKeySource
- type FetchRetrier
- type FlipSendStatus
- type IdentifyNotifier
- type Inbox
- type InboxSource
- type InboxSourceDataSourceTyp
- type InboxSyncRes
- type InboxSyncResExpunge
- type Indexer
- type InternalError
- type JourneyCardManager
- type KeyFinder
- type LiveLocationKey
- type LiveLocationTracker
- type MembershipUpdateRes
- type MessageDeliverer
- type MobileAppState
- type NameInfo
- type NameInfoSource
- type NativeVideoHelper
- type Offlinable
- type OobmHandler
- type ParsedStellarPayment
- type ProgressReporter
- type PushHandler
- type RateLimitedResult
- type RegexpSearcher
- type RemoteConversation
- func (rc RemoteConversation) GetConvID() chat1.ConversationID
- func (rc RemoteConversation) GetMembersType() chat1.ConversationMembersType
- func (rc RemoteConversation) GetMtime() gregor1.Time
- func (rc RemoteConversation) GetTeamType() chat1.TeamType
- func (rc RemoteConversation) GetTopicName() string
- func (rc RemoteConversation) GetTopicType() chat1.TopicType
- func (rc RemoteConversation) GetVersion() chat1.ConversationVers
- func (rc RemoteConversation) IsLocallyRead() bool
- func (rc RemoteConversation) MaxVisibleMsgID() chat1.MessageID
- type RemoteConversationMetadata
- type ReplyFiller
- type Resumable
- type RetryDescription
- type Sender
- type SenderPrepareOptions
- type SenderPrepareResult
- type ServerCacheVersions
- type StellarLoader
- type StellarSender
- type SupersedesTransform
- type Suspendable
- type Syncer
- type TeamChannelSource
- type TeamMentionLoader
- type UIInboxLoader
- type UPAKFinder
- type UnboxConversationInfo
- type UnboxMode
- type UnboxingError
- type Unfurler
- type UnfurlerTaskStatus
- type WhitelistExemption
Constants ¶
View Source
const ( ActionNewConversation = "newConversation" ActionNewMessage = "newMessage" ActionReadMessage = "readMessage" ActionSetStatus = "setStatus" ActionSetAppNotificationSettings = "setAppNotificationSettings" ActionTeamType = "teamType" ActionExpunge = "expunge" PushActivity = "chat.activity" PushTyping = "chat.typing" PushMembershipUpdate = "chat.membershipUpdate" PushTLFFinalize = "chat.tlffinalize" PushTLFResolve = "chat.tlfresolve" PushTeamChannels = "chat.teamchannels" PushKBFSUpgrade = "chat.kbfsupgrade" PushConvRetention = "chat.convretention" PushTeamRetention = "chat.teamretention" PushConvSettings = "chat.convsettings" PushSubteamRename = "chat.subteamrename" PushConversationsUpdate = "chat.conversationsupdate" MapsDomain = "keybasemaps" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActivityNotifier ¶
type ActivityNotifier interface { Activity(ctx context.Context, uid gregor1.UID, topicType chat1.TopicType, activity *chat1.ChatActivity, source chat1.ChatActivitySource) TypingUpdate(ctx context.Context, updates []chat1.ConvTypingUpdate) JoinedConversation(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType, conv *chat1.InboxUIItem) LeftConversation(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType) ResetConversation(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType) KBFSToImpteamUpgrade(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType) SetConvRetention(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType, conv *chat1.InboxUIItem) SetTeamRetention(ctx context.Context, uid gregor1.UID, teamID keybase1.TeamID, topicType chat1.TopicType, convs []chat1.InboxUIItem) SetConvSettings(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType, conv *chat1.InboxUIItem) SubteamRename(ctx context.Context, uid gregor1.UID, convIDs []chat1.ConversationID, topicType chat1.TopicType, convs []chat1.InboxUIItem) InboxSyncStarted(ctx context.Context, uid gregor1.UID) InboxSynced(ctx context.Context, uid gregor1.UID, topicType chat1.TopicType, syncRes chat1.ChatSyncResult) InboxStale(ctx context.Context, uid gregor1.UID) ThreadsStale(ctx context.Context, uid gregor1.UID, updates []chat1.ConversationStaleUpdate) TLFFinalize(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType, finalizeInfo chat1.ConversationFinalizeInfo, conv *chat1.InboxUIItem) TLFResolve(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType, resolveInfo chat1.ConversationResolveInfo) AttachmentUploadStart(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, outboxID chat1.OutboxID) AttachmentUploadProgress(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, outboxID chat1.OutboxID, bytesComplete, bytesTotal int64) PromptUnfurl(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, msgID chat1.MessageID, domain string) ConvUpdate(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType, conv *chat1.InboxUIItem) }
type AllCryptKeys ¶ added in v1.0.42
type AllCryptKeys map[chat1.ConversationMembersType][]CryptKey
func NewAllCryptKeys ¶ added in v1.0.42
func NewAllCryptKeys() AllCryptKeys
type AsyncInboxResult ¶
type AsyncInboxResult struct { Conv RemoteConversation ConvLocal chat1.ConversationLocal InboxRes *Inbox // set if we are returning the whole inbox }
type AttachmentFetcher ¶ added in v1.0.48
type AttachmentFetcher interface { DeleteAssets(ctx context.Context, convID chat1.ConversationID, assets []chat1.Asset, ri func() chat1.RemoteInterface, signer s3.Signer) error FetchAttachment(ctx context.Context, w io.Writer, convID chat1.ConversationID, asset chat1.Asset, ri func() chat1.RemoteInterface, signer s3.Signer, progress ProgressReporter) error StreamAttachment(ctx context.Context, convID chat1.ConversationID, asset chat1.Asset, ri func() chat1.RemoteInterface, signer s3.Signer) (io.ReadSeeker, error) PutUploadedAsset(ctx context.Context, filename string, asset chat1.Asset) error IsAssetLocal(ctx context.Context, asset chat1.Asset) (bool, error) OnDbNuke(mctx libkb.MetaContext) error OnStart(mctx libkb.MetaContext) }
type AttachmentURLSrv ¶ added in v1.0.48
type AttachmentURLSrv interface { GetURL(ctx context.Context, convID chat1.ConversationID, msgID chat1.MessageID, preview bool) string GetPendingPreviewURL(ctx context.Context, outboxID chat1.OutboxID) string GetUnfurlAssetURL(ctx context.Context, convID chat1.ConversationID, asset chat1.Asset) string GetGiphyURL(ctx context.Context, giphyURL string) string GetGiphyGalleryURL(ctx context.Context, convID chat1.ConversationID, tlfName string, results []chat1.GiphySearchResult) string GetAttachmentFetcher() AttachmentFetcher OnDbNuke(mctx libkb.MetaContext) error }
type AttachmentUploadResult ¶
type AttachmentUploader ¶
type AttachmentUploader interface { Register(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, outboxID chat1.OutboxID, title, filename string, metadata []byte, callerPreview *chat1.MakePreviewRes) (AttachmentUploaderResultCb, error) Status(ctx context.Context, outboxID chat1.OutboxID) (AttachmentUploaderTaskStatus, AttachmentUploadResult, error) Retry(ctx context.Context, outboxID chat1.OutboxID) (AttachmentUploaderResultCb, error) Cancel(ctx context.Context, outboxID chat1.OutboxID) error Complete(ctx context.Context, outboxID chat1.OutboxID) GetUploadTempFile(ctx context.Context, outboxID chat1.OutboxID, filename string) (string, error) CancelUploadTempFile(ctx context.Context, outboxID chat1.OutboxID) error OnDbNuke(mctx libkb.MetaContext) error }
type AttachmentUploaderResultCb ¶
type AttachmentUploaderResultCb interface {
Wait() chan AttachmentUploadResult
}
type AttachmentUploaderTaskStatus ¶
type AttachmentUploaderTaskStatus int
const ( AttachmentUploaderTaskStatusUploading AttachmentUploaderTaskStatus = iota AttachmentUploaderTaskStatusSuccess AttachmentUploaderTaskStatusFailed )
type BackgroundRunnable ¶
type BackgroundRunnable interface {
IsBackgroundActive() bool
}
type BotCommandManager ¶
type BotCommandManager interface { Resumable Advertise(ctx context.Context, alias *string, ads []chat1.AdvertiseCommandsParam) error Clear(ctx context.Context) error PublicCommandsConv(ctx context.Context, username string) (chat1.ConversationID, error) ListCommands(ctx context.Context, convID chat1.ConversationID) ([]chat1.UserBotCommandOutput, error) UpdateCommands(ctx context.Context, convID chat1.ConversationID, info *chat1.BotInfo) (chan error, error) }
type BoxerEncryptionInfo ¶
type BoxerEncryptionInfo struct { Key CryptKey SigningKeyPair libkb.NaclSigningKeyPair EphemeralKey EphemeralCryptKey PairwiseMACRecipients []keybase1.KID Version chat1.MessageBoxedVersion }
type CoinFlipManager ¶
type CoinFlipManager interface { Resumable StartFlip(ctx context.Context, uid gregor1.UID, hostConvID chat1.ConversationID, tlfName, text string, outboxID *chat1.OutboxID) error MaybeInjectFlipMessage(ctx context.Context, boxedMsg chat1.MessageBoxed, inboxVers chat1.InboxVers, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType) bool LoadFlip(ctx context.Context, uid gregor1.UID, hostConvID chat1.ConversationID, hostMsgID chat1.MessageID, flipConvID chat1.ConversationID, gameID chat1.FlipGameID) (chan chat1.UICoinFlipStatus, chan error) DescribeFlipText(ctx context.Context, text string) string HasActiveGames(ctx context.Context) bool IsFlipConversationCreated(ctx context.Context, outboxID chat1.OutboxID) (chat1.ConversationID, FlipSendStatus) }
type ContextFactory ¶
type ContextFactory interface { NewKeyFinder() KeyFinder NewUPAKFinder() UPAKFinder }
type ConvLoader ¶ added in v1.0.27
type ConvLoader interface { Resumable Suspendable BackgroundRunnable Queue(ctx context.Context, job ConvLoaderJob) error }
type ConvLoaderJob ¶ added in v1.0.48
type ConvLoaderJob struct { ConvID chat1.ConversationID Pagination *chat1.Pagination Priority ConvLoaderPriority Uniqueness ConvLoaderUniqueness PostLoadHook func(context.Context, chat1.ThreadView, ConvLoaderJob) }
func NewConvLoaderJob ¶ added in v1.0.48
func NewConvLoaderJob(convID chat1.ConversationID, pagination *chat1.Pagination, priority ConvLoaderPriority, uniqueness ConvLoaderUniqueness, postLoadHook func(context.Context, chat1.ThreadView, ConvLoaderJob)) ConvLoaderJob
func (ConvLoaderJob) HigherPriorityThan ¶ added in v1.0.48
func (j ConvLoaderJob) HigherPriorityThan(j2 ConvLoaderJob) bool
func (ConvLoaderJob) String ¶ added in v1.0.48
func (j ConvLoaderJob) String() string
type ConvLoaderPriority ¶ added in v1.0.48
type ConvLoaderPriority int
var ( ConvLoaderPriorityHighest ConvLoaderPriority = 10 ConvLoaderPriorityHigh ConvLoaderPriority = 7 ConvLoaderPriorityMedium ConvLoaderPriority = 5 ConvLoaderPriorityLow ConvLoaderPriority = 3 ConvLoaderPriorityLowest ConvLoaderPriority )
func (ConvLoaderPriority) HigherThan ¶ added in v1.0.48
func (c ConvLoaderPriority) HigherThan(c2 ConvLoaderPriority) bool
type ConvLoaderUniqueness ¶
type ConvLoaderUniqueness int
const ( ConvLoaderUnique ConvLoaderUniqueness = iota ConvLoaderGeneric )
type ConversationCommand ¶
type ConversationCommand interface { Match(ctx context.Context, text string) bool Execute(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, tlfName, text string, replyTo *chat1.MessageID) error Preview(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, tflName, text string) Name() string Usage() string Description() string HasHelpText() bool Export() chat1.ConversationCommand }
type ConversationCommandsSource ¶
type ConversationCommandsSource interface { ListCommands(ctx context.Context, uid gregor1.UID, conv ConversationCommandsSpec) (chat1.ConversationCommandGroups, error) GetBuiltins(ctx context.Context) []chat1.BuiltinCommandGroup GetBuiltinCommandType(ctx context.Context, c ConversationCommandsSpec) chat1.ConversationBuiltinCommandTyp AttemptBuiltinCommand(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, tlfName string, body chat1.MessageBody, replyTo *chat1.MessageID) (bool, error) PreviewBuiltinCommand(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, tlfName, text string) }
type ConversationCommandsSpec ¶
type ConversationCommandsSpec interface { GetMembersType() chat1.ConversationMembersType GetTeamType() chat1.TeamType GetTopicName() string }
type ConversationLocalizerTyp ¶
type ConversationLocalizerTyp int
const ( ConversationLocalizerBlocking ConversationLocalizerTyp = iota ConversationLocalizerNonblocking )
type ConversationSource ¶
type ConversationSource interface { AcquireConversationLock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) error ReleaseConversationLock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) Push(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msg chat1.MessageBoxed) (chat1.MessageUnboxed, bool, error) PushUnboxed(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msg []chat1.MessageUnboxed) error Pull(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, reason chat1.GetThreadReason, query *chat1.GetThreadQuery, pagination *chat1.Pagination) (chat1.ThreadView, error) PullLocalOnly(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, query *chat1.GetThreadQuery, p *chat1.Pagination, maxPlaceholders int) (chat1.ThreadView, error) PullFull(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, reason chat1.GetThreadReason, query *chat1.GetThreadQuery, maxPages *int) (chat1.ThreadView, error) GetMessages(ctx context.Context, conv UnboxConversationInfo, uid gregor1.UID, msgIDs []chat1.MessageID, reason *chat1.GetThreadReason) ([]chat1.MessageUnboxed, error) GetMessagesWithRemotes(ctx context.Context, conv chat1.Conversation, uid gregor1.UID, msgs []chat1.MessageBoxed) ([]chat1.MessageUnboxed, error) GetUnreadline(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, readMsgID chat1.MessageID) (*chat1.MessageID, error) Clear(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) error TransformSupersedes(ctx context.Context, unboxInfo UnboxConversationInfo, uid gregor1.UID, msgs []chat1.MessageUnboxed, q *chat1.GetThreadQuery, superXform SupersedesTransform, replyFiller ReplyFiller) ([]chat1.MessageUnboxed, error) Expunge(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, expunge chat1.Expunge) error ClearFromDelete(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, deleteID chat1.MessageID) bool EphemeralPurge(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, purgeInfo *chat1.EphemeralPurgeInfo) (*chat1.EphemeralPurgeInfo, []chat1.MessageUnboxed, error) SetRemoteInterface(func() chat1.RemoteInterface) DeleteAssets(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, assets []chat1.Asset) }
type DummyAttachmentFetcher ¶
type DummyAttachmentFetcher struct{}
func (DummyAttachmentFetcher) DeleteAssets ¶
func (d DummyAttachmentFetcher) DeleteAssets(ctx context.Context, convID chat1.ConversationID, assets []chat1.Asset, ri func() chat1.RemoteInterface, signer s3.Signer) (err error)
func (DummyAttachmentFetcher) FetchAttachment ¶
func (d DummyAttachmentFetcher) FetchAttachment(ctx context.Context, w io.Writer, convID chat1.ConversationID, asset chat1.Asset, r func() chat1.RemoteInterface, signer s3.Signer, progress ProgressReporter) error
func (DummyAttachmentFetcher) IsAssetLocal ¶
func (DummyAttachmentFetcher) OnDbNuke ¶
func (d DummyAttachmentFetcher) OnDbNuke(mctx libkb.MetaContext) error
func (DummyAttachmentFetcher) OnStart ¶
func (d DummyAttachmentFetcher) OnStart(mctx libkb.MetaContext)
func (DummyAttachmentFetcher) PutUploadedAsset ¶
func (DummyAttachmentFetcher) StreamAttachment ¶
func (d DummyAttachmentFetcher) StreamAttachment(ctx context.Context, convID chat1.ConversationID, asset chat1.Asset, ri func() chat1.RemoteInterface, signer s3.Signer) (io.ReadSeeker, error)
type DummyAttachmentHTTPSrv ¶
type DummyAttachmentHTTPSrv struct{}
func (DummyAttachmentHTTPSrv) GetAttachmentFetcher ¶
func (d DummyAttachmentHTTPSrv) GetAttachmentFetcher() AttachmentFetcher
func (DummyAttachmentHTTPSrv) GetGiphyGalleryURL ¶
func (d DummyAttachmentHTTPSrv) GetGiphyGalleryURL(ctx context.Context, convID chat1.ConversationID, tlfName string, results []chat1.GiphySearchResult) string
func (DummyAttachmentHTTPSrv) GetGiphyURL ¶
func (d DummyAttachmentHTTPSrv) GetGiphyURL(ctx context.Context, giphyURL string) string
func (DummyAttachmentHTTPSrv) GetPendingPreviewURL ¶
func (DummyAttachmentHTTPSrv) GetURL ¶
func (d DummyAttachmentHTTPSrv) GetURL(ctx context.Context, convID chat1.ConversationID, msgID chat1.MessageID, preview bool) string
func (DummyAttachmentHTTPSrv) GetUnfurlAssetURL ¶
func (d DummyAttachmentHTTPSrv) GetUnfurlAssetURL(ctx context.Context, convID chat1.ConversationID, asset chat1.Asset) string
func (DummyAttachmentHTTPSrv) OnDbNuke ¶
func (d DummyAttachmentHTTPSrv) OnDbNuke(mctx libkb.MetaContext) error
type DummyBotCommandManager ¶
type DummyBotCommandManager struct{}
func (DummyBotCommandManager) Advertise ¶
func (d DummyBotCommandManager) Advertise(ctx context.Context, alias *string, ads []chat1.AdvertiseCommandsParam) error
func (DummyBotCommandManager) ListCommands ¶
func (d DummyBotCommandManager) ListCommands(ctx context.Context, convID chat1.ConversationID) ([]chat1.UserBotCommandOutput, error)
func (DummyBotCommandManager) PublicCommandsConv ¶
func (d DummyBotCommandManager) PublicCommandsConv(ctx context.Context, username string) (chat1.ConversationID, error)
func (DummyBotCommandManager) Start ¶
func (d DummyBotCommandManager) Start(ctx context.Context, uid gregor1.UID)
func (DummyBotCommandManager) Stop ¶
func (d DummyBotCommandManager) Stop(ctx context.Context) chan struct{}
func (DummyBotCommandManager) UpdateCommands ¶
func (d DummyBotCommandManager) UpdateCommands(ctx context.Context, convID chat1.ConversationID, info *chat1.BotInfo) (chan error, error)
type DummyCoinFlipManager ¶
type DummyCoinFlipManager struct{}
func (DummyCoinFlipManager) DescribeFlipText ¶
func (d DummyCoinFlipManager) DescribeFlipText(ctx context.Context, text string) string
func (DummyCoinFlipManager) HasActiveGames ¶
func (d DummyCoinFlipManager) HasActiveGames(ctx context.Context) bool
func (DummyCoinFlipManager) IsFlipConversationCreated ¶
func (d DummyCoinFlipManager) IsFlipConversationCreated(ctx context.Context, outboxID chat1.OutboxID) (chat1.ConversationID, FlipSendStatus)
func (DummyCoinFlipManager) LoadFlip ¶
func (d DummyCoinFlipManager) LoadFlip(ctx context.Context, uid gregor1.UID, hostConvID chat1.ConversationID, hostMsgID chat1.MessageID, flipConvID chat1.ConversationID, gameID chat1.FlipGameID) (chan chat1.UICoinFlipStatus, chan error)
func (DummyCoinFlipManager) MaybeInjectFlipMessage ¶
func (d DummyCoinFlipManager) MaybeInjectFlipMessage(ctx context.Context, boxedMsg chat1.MessageBoxed, inboxVers chat1.InboxVers, uid gregor1.UID, convID chat1.ConversationID, topicType chat1.TopicType) bool
func (DummyCoinFlipManager) Start ¶
func (d DummyCoinFlipManager) Start(ctx context.Context, uid gregor1.UID)
func (DummyCoinFlipManager) Stop ¶
func (d DummyCoinFlipManager) Stop(ctx context.Context) chan struct{}
type DummyEphemeralPurger ¶
type DummyEphemeralPurger struct{}
func (DummyEphemeralPurger) Queue ¶
func (d DummyEphemeralPurger) Queue(ctx context.Context, purgeInfo chat1.EphemeralPurgeInfo) error
func (DummyEphemeralPurger) Start ¶
func (d DummyEphemeralPurger) Start(ctx context.Context, uid gregor1.UID)
func (DummyEphemeralPurger) Stop ¶
func (d DummyEphemeralPurger) Stop(ctx context.Context) chan struct{}
type DummyExternalAPIKeySource ¶
type DummyExternalAPIKeySource struct{}
func (DummyExternalAPIKeySource) GetAllKeys ¶
func (d DummyExternalAPIKeySource) GetAllKeys(ctx context.Context) (res []chat1.ExternalAPIKey, err error)
func (DummyExternalAPIKeySource) GetKey ¶
func (d DummyExternalAPIKeySource) GetKey(ctx context.Context, typ chat1.ExternalAPIKeyTyp) (res chat1.ExternalAPIKey, err error)
type DummyIndexer ¶
type DummyIndexer struct{}
func (DummyIndexer) Add ¶
func (d DummyIndexer) Add(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msg []chat1.MessageUnboxed) error
func (DummyIndexer) ClearCache ¶
func (d DummyIndexer) ClearCache()
func (DummyIndexer) FullyIndexed ¶
func (d DummyIndexer) FullyIndexed(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) (bool, error)
func (DummyIndexer) IndexInbox ¶
func (d DummyIndexer) IndexInbox(ctx context.Context, uid gregor1.UID) (map[string]chat1.ProfileSearchConvStats, error)
func (DummyIndexer) IsBackgroundActive ¶
func (d DummyIndexer) IsBackgroundActive() bool
func (DummyIndexer) OnDbNuke ¶
func (d DummyIndexer) OnDbNuke(mctx libkb.MetaContext) error
func (DummyIndexer) OnLogout ¶
func (d DummyIndexer) OnLogout(mctx libkb.MetaContext) error
func (DummyIndexer) PercentIndexed ¶
func (d DummyIndexer) PercentIndexed(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) (int, error)
func (DummyIndexer) Remove ¶
func (d DummyIndexer) Remove(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msg []chat1.MessageUnboxed) error
func (DummyIndexer) Search ¶
func (d DummyIndexer) Search(ctx context.Context, uid gregor1.UID, query, origQuery string, opts chat1.SearchOpts, hitUICh chan chat1.ChatSearchInboxHit, indexUICh chan chat1.ChatSearchIndexStatus) (*chat1.ChatSearchInboxResults, error)
func (DummyIndexer) SearchableConvs ¶
func (d DummyIndexer) SearchableConvs(ctx context.Context, uid gregor1.UID, convID *chat1.ConversationID) ([]RemoteConversation, error)
func (DummyIndexer) Stop ¶
func (d DummyIndexer) Stop(ctx context.Context) chan struct{}
type DummyNativeVideoHelper ¶
type DummyNativeVideoHelper struct{}
func (DummyNativeVideoHelper) ThumbnailAndDuration ¶
type DummyStellarLoader ¶
type DummyStellarLoader struct{}
func (DummyStellarLoader) LoadPayment ¶
func (d DummyStellarLoader) LoadPayment(ctx context.Context, convID chat1.ConversationID, msgID chat1.MessageID, senderUsername string, paymentID stellar1.PaymentID) *chat1.UIPaymentInfo
func (DummyStellarLoader) LoadRequest ¶
func (d DummyStellarLoader) LoadRequest(ctx context.Context, convID chat1.ConversationID, msgID chat1.MessageID, senderUsername string, requestID stellar1.KeybaseRequestID) *chat1.UIRequestInfo
type DummyStellarSender ¶
type DummyStellarSender struct{}
func (DummyStellarSender) DecorateWithPayments ¶
func (d DummyStellarSender) DecorateWithPayments(ctx context.Context, body string, payments []chat1.TextPayment) string
func (DummyStellarSender) DescribePayments ¶
func (d DummyStellarSender) DescribePayments(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, payments []ParsedStellarPayment) (res chat1.UIChatPaymentSummary, toSend []ParsedStellarPayment, err error)
func (DummyStellarSender) ParsePayments ¶
func (d DummyStellarSender) ParsePayments(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, body string) []ParsedStellarPayment
func (DummyStellarSender) SendPayments ¶
func (d DummyStellarSender) SendPayments(ctx context.Context, convID chat1.ConversationID, payments []ParsedStellarPayment) ([]chat1.TextPayment, error)
type DummyTeamMentionLoader ¶
type DummyTeamMentionLoader struct{}
func (DummyTeamMentionLoader) IsTeamMention ¶
func (d DummyTeamMentionLoader) IsTeamMention(ctx context.Context, uid gregor1.UID, maybeMention chat1.MaybeMention, knownTeamMentions []chat1.KnownTeamMention) bool
func (DummyTeamMentionLoader) LoadTeamMention ¶
func (d DummyTeamMentionLoader) LoadTeamMention(ctx context.Context, uid gregor1.UID, maybeMention chat1.MaybeMention, knownTeamMentions []chat1.KnownTeamMention, forceRemote bool) error
func (DummyTeamMentionLoader) Start ¶
func (d DummyTeamMentionLoader) Start(ctx context.Context, uid gregor1.UID)
func (DummyTeamMentionLoader) Stop ¶
func (d DummyTeamMentionLoader) Stop(ctx context.Context) chan struct{}
type DummyUIInboxLoader ¶
type DummyUIInboxLoader struct{}
func (DummyUIInboxLoader) LoadNonblock ¶
func (d DummyUIInboxLoader) LoadNonblock(ctx context.Context, query *chat1.GetInboxLocalQuery, pagination *chat1.Pagination, maxUnbox *int, skipUnverified bool) error
func (DummyUIInboxLoader) Start ¶
func (d DummyUIInboxLoader) Start(ctx context.Context, uid gregor1.UID)
func (DummyUIInboxLoader) Stop ¶
func (d DummyUIInboxLoader) Stop(ctx context.Context) chan struct{}
func (DummyUIInboxLoader) UpdateConvs ¶
func (d DummyUIInboxLoader) UpdateConvs(ctx context.Context, convIDs []chat1.ConversationID) error
func (DummyUIInboxLoader) UpdateLayout ¶
func (d DummyUIInboxLoader) UpdateLayout(ctx context.Context, reselectMode chat1.InboxLayoutReselectMode, reason string)
func (DummyUIInboxLoader) UpdateLayoutFromNewMessage ¶
func (d DummyUIInboxLoader) UpdateLayoutFromNewMessage(ctx context.Context, conv RemoteConversation)
func (DummyUIInboxLoader) UpdateLayoutFromSubteamRename ¶
func (d DummyUIInboxLoader) UpdateLayoutFromSubteamRename(ctx context.Context, convs []RemoteConversation)
type DummyUnfurler ¶
type DummyUnfurler struct{}
func (DummyUnfurler) Complete ¶
func (d DummyUnfurler) Complete(ctx context.Context, outboxID chat1.OutboxID)
func (DummyUnfurler) GetSettings ¶
func (d DummyUnfurler) GetSettings(ctx context.Context, uid gregor1.UID) (res chat1.UnfurlSettings, err error)
func (DummyUnfurler) Prefetch ¶
func (d DummyUnfurler) Prefetch(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, msgText string) int
func (DummyUnfurler) Retry ¶
func (d DummyUnfurler) Retry(ctx context.Context, outboxID chat1.OutboxID)
func (DummyUnfurler) SetMode ¶
func (d DummyUnfurler) SetMode(ctx context.Context, uid gregor1.UID, mode chat1.UnfurlMode) error
func (DummyUnfurler) SetSettings ¶
func (d DummyUnfurler) SetSettings(ctx context.Context, uid gregor1.UID, settings chat1.UnfurlSettings) error
func (DummyUnfurler) Status ¶
func (d DummyUnfurler) Status(ctx context.Context, outboxID chat1.OutboxID) (UnfurlerTaskStatus, *chat1.UnfurlResult, error)
func (DummyUnfurler) UnfurlAndSend ¶
func (d DummyUnfurler) UnfurlAndSend(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, msg chat1.MessageUnboxed)
func (DummyUnfurler) WhitelistAdd ¶
func (DummyUnfurler) WhitelistAddExemption ¶
func (d DummyUnfurler) WhitelistAddExemption(ctx context.Context, uid gregor1.UID, exemption WhitelistExemption)
func (DummyUnfurler) WhitelistRemove ¶
type EphemeralCryptKey ¶
type EphemeralCryptKey interface { Material() keybase1.Bytes32 Generation() keybase1.EkGeneration }
type EphemeralPurger ¶
type ExternalAPIKeySource ¶
type ExternalAPIKeySource interface { GetKey(ctx context.Context, typ chat1.ExternalAPIKeyTyp) (chat1.ExternalAPIKey, error) GetAllKeys(ctx context.Context) ([]chat1.ExternalAPIKey, error) }
type FetchRetrier ¶ added in v1.0.22
type FetchRetrier interface { Offlinable Resumable Failure(ctx context.Context, uid gregor1.UID, desc RetryDescription) Success(ctx context.Context, uid gregor1.UID, desc RetryDescription) Force(ctx context.Context) Rekey(ctx context.Context, name string, membersType chat1.ConversationMembersType, public bool) }
type FlipSendStatus ¶
type FlipSendStatus int
const ( FlipSendStatusInProgress FlipSendStatus = iota FlipSendStatusSent FlipSendStatusError )
type IdentifyNotifier ¶ added in v1.0.42
type IdentifyNotifier interface { Reset() ResetOnGUIConnect() Send(ctx context.Context, update keybase1.CanonicalTLFNameAndIDWithBreaks) }
type Inbox ¶ added in v1.0.33
type Inbox struct { Version chat1.InboxVers ConvsUnverified []RemoteConversation Convs []chat1.ConversationLocal Pagination *chat1.Pagination }
type InboxSource ¶
type InboxSource interface { Offlinable Resumable Suspendable badges.LocalChatState Clear(ctx context.Context, uid gregor1.UID) error Read(ctx context.Context, uid gregor1.UID, localizeTyp ConversationLocalizerTyp, dataSource InboxSourceDataSourceTyp, maxLocalize *int, query *chat1.GetInboxLocalQuery, p *chat1.Pagination) (Inbox, chan AsyncInboxResult, error) ReadUnverified(ctx context.Context, uid gregor1.UID, dataSource InboxSourceDataSourceTyp, query *chat1.GetInboxQuery, p *chat1.Pagination) (Inbox, error) Localize(ctx context.Context, uid gregor1.UID, convs []RemoteConversation, localizeTyp ConversationLocalizerTyp) ([]chat1.ConversationLocal, chan AsyncInboxResult, error) RemoteSetConversationStatus(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, status chat1.ConversationStatus) error Search(ctx context.Context, uid gregor1.UID, query string, limit int) ([]RemoteConversation, error) MarkAsRead(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msgID *chat1.MessageID) error Draft(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, text *string) error NotifyUpdate(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) MergeLocalMetadata(ctx context.Context, uid gregor1.UID, convs []chat1.ConversationLocal) error Sync(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convs []chat1.Conversation) (InboxSyncRes, error) NewConversation(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, conv chat1.Conversation) error IsMember(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) (bool, error) IsTeam(ctx context.Context, uid gregor1.UID, item string) (bool, error) NewMessage(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, msg chat1.MessageBoxed, maxMsgs []chat1.MessageSummary) (*chat1.ConversationLocal, error) ReadMessage(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, msgID chat1.MessageID) (*chat1.ConversationLocal, error) SetStatus(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, status chat1.ConversationStatus) (*chat1.ConversationLocal, error) SetAppNotificationSettings(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, settings chat1.ConversationNotificationInfo) (*chat1.ConversationLocal, error) TlfFinalize(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convIDs []chat1.ConversationID, finalizeInfo chat1.ConversationFinalizeInfo) ([]chat1.ConversationLocal, error) MembershipUpdate(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, joined []chat1.ConversationMember, removed []chat1.ConversationMember, resets []chat1.ConversationMember, previews []chat1.ConversationID, teamMemberRoleUpdate *chat1.TeamMemberRoleUpdate) (MembershipUpdateRes, error) ConversationsUpdate(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convUpdates []chat1.ConversationUpdate) error TeamTypeChanged(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, teamType chat1.TeamType) (*chat1.ConversationLocal, error) UpgradeKBFSToImpteam(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID) (*chat1.ConversationLocal, error) Expunge(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, expunge chat1.Expunge, maxMsgs []chat1.MessageSummary) (*chat1.ConversationLocal, error) SetConvRetention(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, policy chat1.RetentionPolicy) (*chat1.ConversationLocal, error) SetTeamRetention(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, teamID keybase1.TeamID, policy chat1.RetentionPolicy) ([]chat1.ConversationLocal, error) SetConvSettings(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convID chat1.ConversationID, convSettings *chat1.ConversationSettings) (*chat1.ConversationLocal, error) SubteamRename(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers, convIDs []chat1.ConversationID) ([]chat1.ConversationLocal, error) UpdateInboxVersion(ctx context.Context, uid gregor1.UID, vers chat1.InboxVers) error GetInboxQueryLocalToRemote(ctx context.Context, lquery *chat1.GetInboxLocalQuery) (*chat1.GetInboxQuery, NameInfo, error) UpdateLocalMtime(ctx context.Context, uid gregor1.UID, updates []chat1.LocalMtimeUpdate) error TeamBotSettingsForConv(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) ( map[keybase1.UID]keybase1.TeamBotSettings, error) SetRemoteInterface(func() chat1.RemoteInterface) }
type InboxSourceDataSourceTyp ¶
type InboxSourceDataSourceTyp int
const ( InboxSourceDataSourceAll InboxSourceDataSourceTyp = iota InboxSourceDataSourceRemoteOnly InboxSourceDataSourceLocalOnly )
type InboxSyncRes ¶
type InboxSyncRes struct { FilteredConvs []RemoteConversation TeamTypeChanged bool MembersTypeChanged []chat1.ConversationID Expunges []InboxSyncResExpunge TopicNameChanged []chat1.ConversationID }
type InboxSyncResExpunge ¶
type InboxSyncResExpunge struct { ConvID chat1.ConversationID Expunge chat1.Expunge }
type Indexer ¶
type Indexer interface { Resumable Suspendable BackgroundRunnable Search(ctx context.Context, uid gregor1.UID, query, origQuery string, opts chat1.SearchOpts, hitUICh chan chat1.ChatSearchInboxHit, indexUICh chan chat1.ChatSearchIndexStatus) (*chat1.ChatSearchInboxResults, error) // Add/update the index with the given messages Add(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msg []chat1.MessageUnboxed) error // Remove the given messages from the index Remove(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msg []chat1.MessageUnboxed) error FullyIndexed(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) (bool, error) PercentIndexed(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) (int, error) SearchableConvs(ctx context.Context, uid gregor1.UID, convID *chat1.ConversationID) ([]RemoteConversation, error) OnDbNuke(mctx libkb.MetaContext) error // For devel/testing IndexInbox(ctx context.Context, uid gregor1.UID) (map[string]chat1.ProfileSearchConvStats, error) }
type InternalError ¶
type InternalError interface { // verbose error info for debugging but not user display InternalError() string }
type JourneyCardManager ¶
type JourneyCardManager interface { Resumable PickCard(context.Context, gregor1.UID, chat1.ConversationID, *chat1.ConversationLocal, *chat1.ThreadView) (*chat1.MessageUnboxedJourneycard, error) SentMessage(context.Context, gregor1.UID, chat1.ConversationID) // Tell JourneyCardManager that the user has sent a message. OnDbNuke(libkb.MetaContext) error }
type KeyFinder ¶
type KeyFinder interface { FindForEncryption(ctx context.Context, tlfName string, teamID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, botUID *gregor1.UID) (CryptKey, NameInfo, error) FindForDecryption(ctx context.Context, tlfName string, teamID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, keyGeneration int, kbfsEncrypted bool, botUID *gregor1.UID) (CryptKey, error) EphemeralKeyForEncryption(mctx libkb.MetaContext, tlfName string, teamID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, botUID *gregor1.UID) (EphemeralCryptKey, error) EphemeralKeyForDecryption(mctx libkb.MetaContext, tlfName string, teamID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, botUID *gregor1.UID, generation keybase1.EkGeneration, contentCtime *gregor1.Time) (EphemeralCryptKey, error) ShouldPairwiseMAC(ctx context.Context, tlfName string, teamID chat1.TLFID, membersType chat1.ConversationMembersType, public bool) (bool, []keybase1.KID, error) Reset() }
type LiveLocationKey ¶
type LiveLocationKey string
type LiveLocationTracker ¶
type LiveLocationTracker interface { Resumable GetCurrentPosition(ctx context.Context, convID chat1.ConversationID, msgID chat1.MessageID) StartTracking(ctx context.Context, convID chat1.ConversationID, msgID chat1.MessageID, endTime time.Time) LocationUpdate(ctx context.Context, coord chat1.Coordinate) GetCoordinates(ctx context.Context, key LiveLocationKey) []chat1.Coordinate GetEndTime(ctx context.Context, key LiveLocationKey) *time.Time ActivelyTracking(ctx context.Context) bool StopAllTracking(ctx context.Context) }
type MembershipUpdateRes ¶ added in v1.0.27
type MembershipUpdateRes struct { RoleUpdates []chat1.ConversationLocal UserJoinedConvs []chat1.ConversationLocal UserRemovedConvs []chat1.ConversationMember UserResetConvs []chat1.ConversationMember OthersJoinedConvs []chat1.ConversationMember OthersRemovedConvs []chat1.ConversationMember OthersResetConvs []chat1.ConversationMember }
func (MembershipUpdateRes) AllOtherUsers ¶
func (m MembershipUpdateRes) AllOtherUsers() (res []gregor1.UID)
type MessageDeliverer ¶
type MessageDeliverer interface { Offlinable Resumable Queue(ctx context.Context, convID chat1.ConversationID, msg chat1.MessagePlaintext, outboxID *chat1.OutboxID, sendOpts *chat1.SenderSendOptions, prepareOpts *chat1.SenderPrepareOptions, identifyBehavior keybase1.TLFIdentifyBehavior) (chat1.OutboxRecord, error) ForceDeliverLoop(ctx context.Context) ActiveDeliveries(ctx context.Context) ([]chat1.OutboxRecord, error) NextFailure() (chan []chat1.OutboxRecord, func()) }
type MobileAppState ¶
type MobileAppState interface { State() keybase1.MobileAppState NextUpdate() chan keybase1.MobileAppState }
type NameInfo ¶ added in v1.0.27
type NameInfo struct { ID chat1.TLFID CanonicalName string VerifiedMembers []gregor1.UID // may be empty if we couldn't satisfy the request }
func NewNameInfo ¶ added in v1.0.41
func NewNameInfo() *NameInfo
type NameInfoSource ¶ added in v1.0.27
type NameInfoSource interface { LookupID(ctx context.Context, name string, public bool) (NameInfo, error) LookupName(ctx context.Context, tlfID chat1.TLFID, public bool, unverifiedTLFName string) (NameInfo, error) AllCryptKeys(ctx context.Context, name string, public bool) (AllCryptKeys, error) EncryptionKey(ctx context.Context, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, botUID *gregor1.UID) (CryptKey, NameInfo, error) DecryptionKey(ctx context.Context, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, keyGeneration int, kbfsEncrypted bool, botUID *gregor1.UID) (CryptKey, error) EphemeralEncryptionKey(mctx libkb.MetaContext, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, botUID *gregor1.UID) (EphemeralCryptKey, error) EphemeralDecryptionKey(mctx libkb.MetaContext, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool, botUID *gregor1.UID, generation keybase1.EkGeneration, contentCtime *gregor1.Time) (EphemeralCryptKey, error) ShouldPairwiseMAC(ctx context.Context, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool) (bool, []keybase1.KID, error) TeamBotSettings(ctx context.Context, tlfName string, tlfID chat1.TLFID, membersType chat1.ConversationMembersType, public bool) (map[keybase1.UserVersion]keybase1.TeamBotSettings, error) }
type NativeVideoHelper ¶
type Offlinable ¶
type OobmHandler ¶
type ParsedStellarPayment ¶
type ParsedStellarPayment struct { Username libkb.NormalizedUsername Full string Amount string Currency string }
func (ParsedStellarPayment) ToMini ¶
func (p ParsedStellarPayment) ToMini() libkb.MiniChatPayment
type ProgressReporter ¶ added in v1.0.48
type ProgressReporter func(bytesCompleted, bytesTotal int64)
type PushHandler ¶ added in v1.0.27
type PushHandler interface { TlfFinalize(context.Context, gregor.OutOfBandMessage) error TlfResolve(context.Context, gregor.OutOfBandMessage) error Activity(context.Context, gregor.OutOfBandMessage) error Typing(context.Context, gregor.OutOfBandMessage) error MembershipUpdate(context.Context, gregor.OutOfBandMessage) error UpgradeKBFSToImpteam(ctx context.Context, m gregor.OutOfBandMessage) error OobmHandler }
type RateLimitedResult ¶
type RegexpSearcher ¶
type RegexpSearcher interface { Search(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, re *regexp.Regexp, uiCh chan chat1.ChatSearchHit, opts chat1.SearchOpts) ([]chat1.ChatSearchHit, []chat1.MessageUnboxed, error) }
type RemoteConversation ¶ added in v1.0.33
type RemoteConversation struct { Conv chat1.Conversation `codec:"c"` LocalMetadata *RemoteConversationMetadata `codec:"l"` LocalReadMsgID chat1.MessageID `codec:"r"` LocalDraft *string `codec:"d"` LocalMtime gregor1.Time `codec:"t"` }
func (RemoteConversation) GetConvID ¶ added in v1.0.33
func (rc RemoteConversation) GetConvID() chat1.ConversationID
func (RemoteConversation) GetMembersType ¶
func (rc RemoteConversation) GetMembersType() chat1.ConversationMembersType
func (RemoteConversation) GetMtime ¶ added in v1.0.33
func (rc RemoteConversation) GetMtime() gregor1.Time
func (RemoteConversation) GetTeamType ¶
func (rc RemoteConversation) GetTeamType() chat1.TeamType
func (RemoteConversation) GetTopicName ¶
func (rc RemoteConversation) GetTopicName() string
func (RemoteConversation) GetTopicType ¶
func (rc RemoteConversation) GetTopicType() chat1.TopicType
func (RemoteConversation) GetVersion ¶
func (rc RemoteConversation) GetVersion() chat1.ConversationVers
func (RemoteConversation) IsLocallyRead ¶
func (rc RemoteConversation) IsLocallyRead() bool
func (RemoteConversation) MaxVisibleMsgID ¶
func (rc RemoteConversation) MaxVisibleMsgID() chat1.MessageID
type RemoteConversationMetadata ¶ added in v1.0.33
type ReplyFiller ¶
type ReplyFiller interface { Fill(ctx context.Context, uid gregor1.UID, conv UnboxConversationInfo, msgs []chat1.MessageUnboxed) ([]chat1.MessageUnboxed, error) }
type RetryDescription ¶ added in v1.0.27
type Sender ¶ added in v1.0.27
type Sender interface { Send(ctx context.Context, convID chat1.ConversationID, msg chat1.MessagePlaintext, clientPrev chat1.MessageID, outboxID *chat1.OutboxID, sendOpts *chat1.SenderSendOptions, prepareOpts *chat1.SenderPrepareOptions) (chat1.OutboxID, *chat1.MessageBoxed, error) Prepare(ctx context.Context, msg chat1.MessagePlaintext, membersType chat1.ConversationMembersType, conv *chat1.ConversationLocal, opts *chat1.SenderPrepareOptions) (SenderPrepareResult, error) }
type SenderPrepareOptions ¶
type SenderPrepareOptions struct {
SkipTopicNameState bool
}
type SenderPrepareResult ¶
type SenderPrepareResult struct { Boxed chat1.MessageBoxed EncryptionInfo BoxerEncryptionInfo PendingAssetDeletes []chat1.Asset AtMentions []gregor1.UID ChannelMention chat1.ChannelMention TopicNameState *chat1.TopicNameState }
type ServerCacheVersions ¶
type StellarLoader ¶
type StellarLoader interface { LoadPayment(ctx context.Context, convID chat1.ConversationID, msgID chat1.MessageID, senderUsername string, paymentID stellar1.PaymentID) *chat1.UIPaymentInfo LoadRequest(ctx context.Context, convID chat1.ConversationID, msgID chat1.MessageID, senderUsername string, requestID stellar1.KeybaseRequestID) *chat1.UIRequestInfo }
type StellarSender ¶
type StellarSender interface { ParsePayments(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, body string) []ParsedStellarPayment DescribePayments(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, payments []ParsedStellarPayment) (chat1.UIChatPaymentSummary, []ParsedStellarPayment, error) DecorateWithPayments(ctx context.Context, body string, payments []chat1.TextPayment) string SendPayments(ctx context.Context, convID chat1.ConversationID, payments []ParsedStellarPayment) ([]chat1.TextPayment, error) }
type SupersedesTransform ¶
type SupersedesTransform interface { Run(ctx context.Context, conv UnboxConversationInfo, uid gregor1.UID, originalMsgs []chat1.MessageUnboxed) ([]chat1.MessageUnboxed, error) }
type Suspendable ¶
type Syncer ¶
type Syncer interface { IsConnected(ctx context.Context) bool Connected(ctx context.Context, cli chat1.RemoteInterface, uid gregor1.UID, syncRes *chat1.SyncChatRes) error Disconnected(ctx context.Context) Sync(ctx context.Context, cli chat1.RemoteInterface, uid gregor1.UID, syncRes *chat1.SyncChatRes) error RegisterOfflinable(offlinable Offlinable) SendChatStaleNotifications(ctx context.Context, uid gregor1.UID, updates []chat1.ConversationStaleUpdate, immediate bool) SelectConversation(ctx context.Context, convID chat1.ConversationID) GetSelectedConversation() chat1.ConversationID Shutdown() }
type TeamChannelSource ¶ added in v1.0.34
type TeamChannelSource interface { GetChannelsFull(context.Context, gregor1.UID, chat1.TLFID, chat1.TopicType) ([]chat1.ConversationLocal, error) GetChannelsTopicName(ctx context.Context, uid gregor1.UID, teamID chat1.TLFID, topicType chat1.TopicType) ([]chat1.ChannelNameMention, error) GetChannelTopicName(ctx context.Context, uid gregor1.UID, tlfID chat1.TLFID, topicType chat1.TopicType, convID chat1.ConversationID) (string, error) }
type TeamMentionLoader ¶
type TeamMentionLoader interface { Resumable LoadTeamMention(ctx context.Context, uid gregor1.UID, maybeMention chat1.MaybeMention, knownTeamMentions []chat1.KnownTeamMention, forceRemote bool) error IsTeamMention(ctx context.Context, uid gregor1.UID, maybeMention chat1.MaybeMention, knownTeamMentions []chat1.KnownTeamMention) bool }
type UIInboxLoader ¶
type UIInboxLoader interface { Resumable UpdateLayout(ctx context.Context, reselectMode chat1.InboxLayoutReselectMode, reason string) UpdateLayoutFromNewMessage(ctx context.Context, conv RemoteConversation) UpdateLayoutFromSubteamRename(ctx context.Context, convs []RemoteConversation) UpdateConvs(ctx context.Context, convIDs []chat1.ConversationID) error LoadNonblock(ctx context.Context, query *chat1.GetInboxLocalQuery, pagination *chat1.Pagination, maxUnbox *int, skipUnverified bool) error }
type UPAKFinder ¶ added in v1.0.42
type UPAKFinder interface { LookupUsernameAndDevice(ctx context.Context, uid keybase1.UID, deviceID keybase1.DeviceID) (username libkb.NormalizedUsername, deviceName string, deviceType string, err error) CheckKIDForUID(ctx context.Context, uid keybase1.UID, kid keybase1.KID) (found bool, revokedAt *keybase1.KeybaseTime, deleted bool, err error) }
type UnboxConversationInfo ¶ added in v1.0.34
type UnboxConversationInfo interface { GetConvID() chat1.ConversationID GetMembersType() chat1.ConversationMembersType GetFinalizeInfo() *chat1.ConversationFinalizeInfo GetExpunge() *chat1.Expunge GetMaxDeletedUpTo() chat1.MessageID IsPublic() bool }
type UnboxingError ¶
type UnboxingError interface { InternalError Error() string Inner() error IsPermanent() bool ExportType() chat1.MessageUnboxedErrorType VersionKind() chat1.VersionKind VersionNumber() int IsCritical() bool ToStatus() keybase1.Status }
type Unfurler ¶
type Unfurler interface { UnfurlAndSend(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, msg chat1.MessageUnboxed) Prefetch(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, msgText string) int Status(ctx context.Context, outboxID chat1.OutboxID) (UnfurlerTaskStatus, *chat1.UnfurlResult, error) Retry(ctx context.Context, outboxID chat1.OutboxID) Complete(ctx context.Context, outboxID chat1.OutboxID) GetSettings(ctx context.Context, uid gregor1.UID) (chat1.UnfurlSettings, error) SetSettings(ctx context.Context, uid gregor1.UID, settings chat1.UnfurlSettings) error WhitelistAdd(ctx context.Context, uid gregor1.UID, domain string) error WhitelistRemove(ctx context.Context, uid gregor1.UID, domain string) error WhitelistAddExemption(ctx context.Context, uid gregor1.UID, exemption WhitelistExemption) SetMode(ctx context.Context, uid gregor1.UID, mode chat1.UnfurlMode) error }
type UnfurlerTaskStatus ¶
type UnfurlerTaskStatus int
const ( UnfurlerTaskStatusUnfurling UnfurlerTaskStatus = iota UnfurlerTaskStatusSuccess UnfurlerTaskStatusFailed UnfurlerTaskStatusPermFailed )
type WhitelistExemption ¶
Click to show internal directories.
Click to hide internal directories.