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 ChatArchiveRegistry
- type ClearOpts
- type CoinFlipManager
- type ContextFactory
- type ConvConversationBackedStorage
- type ConvLoader
- type ConvLoaderJob
- type ConvLoaderPriority
- type ConvLoaderUniqueness
- 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 DummyAttachmentUploader
- func (d DummyAttachmentUploader) Cancel(ctx context.Context, outboxID chat1.OutboxID) error
- func (d DummyAttachmentUploader) CancelUploadTempFile(ctx context.Context, outboxID chat1.OutboxID) error
- func (d DummyAttachmentUploader) Complete(ctx context.Context, outboxID chat1.OutboxID)
- func (d DummyAttachmentUploader) GetUploadTempFile(ctx context.Context, outboxID chat1.OutboxID, filename string) (string, error)
- func (d DummyAttachmentUploader) GetUploadTempSink(ctx context.Context, filename string) (*os.File, chat1.OutboxID, error)
- func (d DummyAttachmentUploader) OnDbNuke(mctx libkb.MetaContext) error
- func (d DummyAttachmentUploader) Register(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) (AttachmentUploaderResultCb, error)
- func (d DummyAttachmentUploader) Retry(ctx context.Context, outboxID chat1.OutboxID) (AttachmentUploaderResultCb, error)
- func (d DummyAttachmentUploader) Status(ctx context.Context, outboxID chat1.OutboxID) (AttachmentUploaderTaskStatus, AttachmentUploadResult, error)
- type DummyBotCommandManager
- func (d DummyBotCommandManager) Advertise(ctx context.Context, alias *string, ads []chat1.AdvertiseCommandsParam) error
- func (d DummyBotCommandManager) Clear(context.Context, *chat1.ClearBotCommandsFilter) error
- func (d DummyBotCommandManager) ListCommands(ctx context.Context, convID chat1.ConversationID) ([]chat1.UserBotCommandOutput, map[string]string, 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 DummyCtxFactory
- type DummyEmojiSource
- func (DummyEmojiSource) Add(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) (res chat1.EmojiRemoteSource, err error)
- func (DummyEmojiSource) AddAlias(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) (res chat1.EmojiRemoteSource, err error)
- func (DummyEmojiSource) Decorate(ctx context.Context, body string, uid gregor1.UID, ...) string
- func (DummyEmojiSource) Get(ctx context.Context, uid gregor1.UID, convID *chat1.ConversationID, ...) (chat1.UserEmojis, error)
- func (DummyEmojiSource) Harvest(ctx context.Context, body string, uid gregor1.UID, convID chat1.ConversationID, ...) (res []chat1.HarvestedEmoji, err error)
- func (DummyEmojiSource) IsStockEmoji(alias string) bool
- func (DummyEmojiSource) IsValidSize(size int64) bool
- func (DummyEmojiSource) RemoteToLocalSource(ctx context.Context, uid gregor1.UID, remote chat1.EmojiRemoteSource) (source chat1.EmojiLoadSource, noAnimSource chat1.EmojiLoadSource, err error)
- func (DummyEmojiSource) Remove(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) error
- func (DummyEmojiSource) ToggleAnimations(ctx context.Context, uid gregor1.UID, enabled bool) error
- type DummyEphemeralPurger
- type DummyEphemeralTracker
- func (d DummyEphemeralTracker) Clear(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) error
- func (d DummyEphemeralTracker) GetAllPurgeInfo(ctx context.Context, uid gregor1.UID) ([]chat1.EphemeralPurgeInfo, error)
- func (d DummyEphemeralTracker) GetPurgeInfo(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) (chat1.EphemeralPurgeInfo, error)
- func (d DummyEphemeralTracker) InactivatePurgeInfo(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) error
- func (d DummyEphemeralTracker) MaybeUpdatePurgeInfo(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) error
- func (d DummyEphemeralTracker) OnDbNuke(mctx libkb.MetaContext) error
- func (d DummyEphemeralTracker) OnLogout(mctx libkb.MetaContext) error
- func (d DummyEphemeralTracker) SetPurgeInfo(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, ...) error
- func (d DummyEphemeralTracker) Start(ctx context.Context, uid gregor1.UID)
- func (d DummyEphemeralTracker) Stop(ctx context.Context) chan struct{}
- type DummyExternalAPIKeySource
- type DummyIndexer
- func (d DummyIndexer) Add(ctx context.Context, convID chat1.ConversationID, msg []chat1.MessageUnboxed) error
- func (d DummyIndexer) Clear(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) error
- func (d DummyIndexer) ClearCache()
- func (d DummyIndexer) FullyIndexed(ctx context.Context, convID chat1.ConversationID) (bool, error)
- func (d DummyIndexer) IndexInbox(ctx context.Context) (map[chat1.ConvIDStr]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) (int, error)
- func (d DummyIndexer) Remove(ctx context.Context, convID chat1.ConversationID, msg []chat1.MessageUnboxed) error
- func (d DummyIndexer) Resume(ctx context.Context) bool
- func (d DummyIndexer) Search(ctx context.Context, query, origQuery string, opts chat1.SearchOpts, ...) (*chat1.ChatSearchInboxResults, error)
- func (d DummyIndexer) SearchableConvs(ctx context.Context, 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 DummyParticipantSource
- func (d DummyParticipantSource) Get(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) ([]gregor1.UID, error)
- func (d DummyParticipantSource) GetNonblock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) chan ParticipantResult
- func (d DummyParticipantSource) GetParticipantsFromUids(ctx context.Context, uids []gregor1.UID) ([]chat1.ConversationLocalParticipant, error)
- func (d DummyParticipantSource) GetWithNotifyNonblock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...)
- 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, maxUnbox *int, ...) 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) UpdateLayoutFromSmallIncrease(ctx context.Context)
- func (d DummyUIInboxLoader) UpdateLayoutFromSmallReset(ctx context.Context)
- func (d DummyUIInboxLoader) UpdateLayoutFromSubteamRename(ctx context.Context, convs []RemoteConversation)
- type DummyUIThreadLoader
- func (d DummyUIThreadLoader) Connected(ctx context.Context)
- func (d DummyUIThreadLoader) Disconnected(ctx context.Context)
- func (d DummyUIThreadLoader) IsOffline(ctx context.Context) bool
- func (d DummyUIThreadLoader) Load(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, ...) (chat1.ThreadView, error)
- func (d DummyUIThreadLoader) LoadNonblock(ctx context.Context, chatUI libkb.ChatUI, uid gregor1.UID, ...) error
- 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 EmojiHarvestMode
- type EmojiSource
- type EphemeralCryptKey
- type EphemeralPurger
- type EphemeralTracker
- type ExternalAPIKeySource
- type FetchRetrier
- type FlipSendStatus
- type IdentifyNotifier
- type Inbox
- type InboxSource
- type InboxSourceDataSourceTyp
- type InboxSourceSearchEmptyMode
- 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 ParticipantResult
- type ParticipantSource
- type PauseArchiveFn
- type ProgressReporter
- type PushHandler
- type RateLimitedResult
- type RegexpSearcher
- type RemoteConversation
- func (rc RemoteConversation) CannotWrite() bool
- func (rc RemoteConversation) DeepCopy() (res RemoteConversation)
- func (rc RemoteConversation) GetConvID() chat1.ConversationID
- func (rc RemoteConversation) GetExpunge() *chat1.Expunge
- func (rc RemoteConversation) GetFinalizeInfo() *chat1.ConversationFinalizeInfo
- func (rc RemoteConversation) GetMaxDeletedUpTo() chat1.MessageID
- func (rc RemoteConversation) GetMaxMessage(typ chat1.MessageType) (chat1.MessageSummary, error)
- func (rc RemoteConversation) GetMembersType() chat1.ConversationMembersType
- func (rc RemoteConversation) GetMtime() gregor1.Time
- func (rc RemoteConversation) GetReadMsgID() chat1.MessageID
- 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) IsPublic() bool
- func (rc RemoteConversation) MaxVisibleMsgID() chat1.MessageID
- type RemoteConversationMetadata
- type ReplyFiller
- type Resumable
- type RetryDescription
- type Sender
- type SenderPrepareOptions
- type SenderPrepareResult
- type ServerCacheVersions
- type ServerConnection
- type StellarLoader
- type StellarSender
- type SupersedesTransform
- type Suspendable
- type Syncer
- type TeamChannelSource
- type TeamMentionLoader
- type UIInboxLoader
- type UIThreadLoader
- type UPAKFinder
- type UnboxConversationInfo
- type UnboxMode
- type UnboxingError
- type Unfurler
- type UnfurlerTaskStatus
- type UserConversationBackedStorage
- 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" 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 ¶
type AllCryptKeys map[chat1.ConversationMembersType][]CryptKey
func NewAllCryptKeys ¶
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 ¶
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 ¶
type AttachmentURLSrv interface { GetURL(ctx context.Context, convID chat1.ConversationID, msgID chat1.MessageID, preview, noAnim, isEmoji 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) GetUploadTempSink(ctx context.Context, filename string) (*os.File, chat1.OutboxID, 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, filter *chat1.ClearBotCommandsFilter) error PublicCommandsConv(ctx context.Context, username string) (*chat1.ConversationID, error) ListCommands(ctx context.Context, convID chat1.ConversationID) ([]chat1.UserBotCommandOutput, map[string]string, 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 ChatArchiveRegistry ¶
type ChatArchiveRegistry interface { Resumable // List all known jobs List(ctx context.Context) (res chat1.ArchiveChatListRes, err error) // Get a job for a specific ID Get(ctx context.Context, jobID chat1.ArchiveJobID) (res chat1.ArchiveChatJob, err error) // Delete a jobs metadata, cancels it if it is currently running Delete(ctx context.Context, jobID chat1.ArchiveJobID, deleteOutputPath bool) (err error) // Sets (possibly updating) the job to the given state. // cancel stops a running job by cancelling it's context and returns it's current state Set(ctx context.Context, cancel PauseArchiveFn, job chat1.ArchiveChatJob) (err error) // Stop a running job Pause(ctx context.Context, jobID chat1.ArchiveJobID) (err error) // Resume a paused job Resume(ctx context.Context, jobID chat1.ArchiveJobID) (err error) OnDbNuke(libkb.MetaContext) error }
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 ConvConversationBackedStorage ¶
type ConvConversationBackedStorage interface { Put(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, name string, data interface{}) error PutToKnownConv(ctx context.Context, uid gregor1.UID, conv chat1.ConversationLocal, data interface{}) error Get(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, name string, res interface{}, createConvIfMissing bool) (bool, *chat1.ConversationLocal, error) GetFromKnownConv(ctx context.Context, uid gregor1.UID, conv chat1.ConversationLocal, dest interface{}) (bool, error) }
type ConvLoader ¶
type ConvLoader interface { Resumable Suspendable BackgroundRunnable Queue(ctx context.Context, job ConvLoaderJob) error }
type ConvLoaderJob ¶
type ConvLoaderJob struct { ConvID chat1.ConversationID Pagination *chat1.Pagination Priority ConvLoaderPriority Uniqueness ConvLoaderUniqueness PostLoadHook func(context.Context, chat1.ThreadView, ConvLoaderJob) }
func NewConvLoaderJob ¶
func NewConvLoaderJob(convID chat1.ConversationID, pagination *chat1.Pagination, priority ConvLoaderPriority, uniqueness ConvLoaderUniqueness, postLoadHook func(context.Context, chat1.ThreadView, ConvLoaderJob)) ConvLoaderJob
func (ConvLoaderJob) HigherPriorityThan ¶
func (j ConvLoaderJob) HigherPriorityThan(j2 ConvLoaderJob) bool
func (ConvLoaderJob) String ¶
func (j ConvLoaderJob) String() string
type ConvLoaderPriority ¶
type ConvLoaderPriority int
var ( ConvLoaderPriorityHighest ConvLoaderPriority = 10 ConvLoaderPriorityHigh ConvLoaderPriority = 7 ConvLoaderPriorityMedium ConvLoaderPriority = 5 ConvLoaderPriorityLow ConvLoaderPriority = 3 ConvLoaderPriorityLowest ConvLoaderPriority )
func (ConvLoaderPriority) HigherThan ¶
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, conv UnboxConversationInfo, uid gregor1.UID, msg []chat1.MessageUnboxed) error Pull(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, reason chat1.GetThreadReason, ri func() chat1.RemoteInterface, query *chat1.GetThreadQuery, pagination *chat1.Pagination) (chat1.ThreadView, error) PullLocalOnly(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, reason chat1.GetThreadReason, 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) GetMessage(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msgID chat1.MessageID, reason *chat1.GetThreadReason, ri func() chat1.RemoteInterface, resolveSupersedes bool) (chat1.MessageUnboxed, error) GetMessages(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msgIDs []chat1.MessageID, reason *chat1.GetThreadReason, ri func() chat1.RemoteInterface, resolveSupersedes bool) ([]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, opts *ClearOpts) error TransformSupersedes(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msgs []chat1.MessageUnboxed, q *chat1.GetThreadQuery, superXform SupersedesTransform, replyFiller ReplyFiller, maxDeletedUpTo *chat1.MessageID) ([]chat1.MessageUnboxed, error) Expunge(ctx context.Context, conv UnboxConversationInfo, uid gregor1.UID, expunge chat1.Expunge) error 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, noAnim, isEmoji 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 DummyAttachmentUploader ¶
type DummyAttachmentUploader struct{}
func (DummyAttachmentUploader) CancelUploadTempFile ¶
func (DummyAttachmentUploader) Complete ¶
func (d DummyAttachmentUploader) Complete(ctx context.Context, outboxID chat1.OutboxID)
func (DummyAttachmentUploader) GetUploadTempFile ¶
func (DummyAttachmentUploader) GetUploadTempSink ¶
func (DummyAttachmentUploader) OnDbNuke ¶
func (d DummyAttachmentUploader) OnDbNuke(mctx libkb.MetaContext) error
func (DummyAttachmentUploader) Register ¶
func (d DummyAttachmentUploader) Register(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, outboxID chat1.OutboxID, title, filename string, metadata []byte, callerPreview *chat1.MakePreviewRes) (AttachmentUploaderResultCb, error)
func (DummyAttachmentUploader) Retry ¶
func (d DummyAttachmentUploader) Retry(ctx context.Context, outboxID chat1.OutboxID) (AttachmentUploaderResultCb, error)
func (DummyAttachmentUploader) Status ¶
func (d DummyAttachmentUploader) Status(ctx context.Context, outboxID chat1.OutboxID) (AttachmentUploaderTaskStatus, AttachmentUploadResult, error)
type DummyBotCommandManager ¶
type DummyBotCommandManager struct{}
func (DummyBotCommandManager) Advertise ¶
func (d DummyBotCommandManager) Advertise(ctx context.Context, alias *string, ads []chat1.AdvertiseCommandsParam) error
func (DummyBotCommandManager) Clear ¶
func (d DummyBotCommandManager) Clear(context.Context, *chat1.ClearBotCommandsFilter) error
func (DummyBotCommandManager) ListCommands ¶
func (d DummyBotCommandManager) ListCommands(ctx context.Context, convID chat1.ConversationID) ([]chat1.UserBotCommandOutput, map[string]string, 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 DummyCtxFactory ¶
type DummyCtxFactory struct{}
func (DummyCtxFactory) NewKeyFinder ¶
func (d DummyCtxFactory) NewKeyFinder() KeyFinder
func (DummyCtxFactory) NewUPAKFinder ¶
func (d DummyCtxFactory) NewUPAKFinder() UPAKFinder
type DummyEmojiSource ¶
type DummyEmojiSource struct{}
func (DummyEmojiSource) Add ¶
func (DummyEmojiSource) Add(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, alias, filename string, allowOverwrite bool) (res chat1.EmojiRemoteSource, err error)
func (DummyEmojiSource) AddAlias ¶
func (DummyEmojiSource) AddAlias(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, newAlias, existingAlias string) (res chat1.EmojiRemoteSource, err error)
func (DummyEmojiSource) Decorate ¶
func (DummyEmojiSource) Decorate(ctx context.Context, body string, uid gregor1.UID, messageType chat1.MessageType, emojis []chat1.HarvestedEmoji) string
func (DummyEmojiSource) Get ¶
func (DummyEmojiSource) Get(ctx context.Context, uid gregor1.UID, convID *chat1.ConversationID, opts chat1.EmojiFetchOpts) (chat1.UserEmojis, error)
func (DummyEmojiSource) Harvest ¶
func (DummyEmojiSource) Harvest(ctx context.Context, body string, uid gregor1.UID, convID chat1.ConversationID, mode EmojiHarvestMode) (res []chat1.HarvestedEmoji, err error)
func (DummyEmojiSource) IsStockEmoji ¶
func (DummyEmojiSource) IsStockEmoji(alias string) bool
func (DummyEmojiSource) IsValidSize ¶
func (DummyEmojiSource) IsValidSize(size int64) bool
func (DummyEmojiSource) RemoteToLocalSource ¶
func (DummyEmojiSource) RemoteToLocalSource(ctx context.Context, uid gregor1.UID, remote chat1.EmojiRemoteSource) (source chat1.EmojiLoadSource, noAnimSource chat1.EmojiLoadSource, err error)
func (DummyEmojiSource) Remove ¶
func (DummyEmojiSource) Remove(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, alias string) error
func (DummyEmojiSource) ToggleAnimations ¶
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 DummyEphemeralTracker ¶
type DummyEphemeralTracker struct{}
func (DummyEphemeralTracker) Clear ¶
func (d DummyEphemeralTracker) Clear(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) error
func (DummyEphemeralTracker) GetAllPurgeInfo ¶
func (d DummyEphemeralTracker) GetAllPurgeInfo(ctx context.Context, uid gregor1.UID) ([]chat1.EphemeralPurgeInfo, error)
func (DummyEphemeralTracker) GetPurgeInfo ¶
func (d DummyEphemeralTracker) GetPurgeInfo(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) (chat1.EphemeralPurgeInfo, error)
func (DummyEphemeralTracker) InactivatePurgeInfo ¶
func (d DummyEphemeralTracker) InactivatePurgeInfo(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) error
func (DummyEphemeralTracker) MaybeUpdatePurgeInfo ¶
func (d DummyEphemeralTracker) MaybeUpdatePurgeInfo(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, purgeInfo *chat1.EphemeralPurgeInfo) error
func (DummyEphemeralTracker) OnDbNuke ¶
func (d DummyEphemeralTracker) OnDbNuke(mctx libkb.MetaContext) error
func (DummyEphemeralTracker) OnLogout ¶
func (d DummyEphemeralTracker) OnLogout(mctx libkb.MetaContext) error
func (DummyEphemeralTracker) SetPurgeInfo ¶
func (d DummyEphemeralTracker) SetPurgeInfo(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, purgeInfo *chat1.EphemeralPurgeInfo) error
func (DummyEphemeralTracker) Start ¶
func (d DummyEphemeralTracker) Start(ctx context.Context, uid gregor1.UID)
func (DummyEphemeralTracker) Stop ¶
func (d DummyEphemeralTracker) 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, msg []chat1.MessageUnboxed) error
func (DummyIndexer) Clear ¶
func (d DummyIndexer) Clear(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) error
func (DummyIndexer) ClearCache ¶
func (d DummyIndexer) ClearCache()
func (DummyIndexer) FullyIndexed ¶
func (d DummyIndexer) FullyIndexed(ctx context.Context, convID chat1.ConversationID) (bool, error)
func (DummyIndexer) IndexInbox ¶
func (d DummyIndexer) IndexInbox(ctx context.Context) (map[chat1.ConvIDStr]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) (int, error)
func (DummyIndexer) Remove ¶
func (d DummyIndexer) Remove(ctx context.Context, convID chat1.ConversationID, msg []chat1.MessageUnboxed) error
func (DummyIndexer) Search ¶
func (d DummyIndexer) Search(ctx context.Context, 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, 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 DummyParticipantSource ¶
type DummyParticipantSource struct{}
func (DummyParticipantSource) Get ¶
func (d DummyParticipantSource) Get(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, dataSource InboxSourceDataSourceTyp) ([]gregor1.UID, error)
func (DummyParticipantSource) GetNonblock ¶
func (d DummyParticipantSource) GetNonblock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, dataSource InboxSourceDataSourceTyp) chan ParticipantResult
func (DummyParticipantSource) GetParticipantsFromUids ¶
func (d DummyParticipantSource) GetParticipantsFromUids( ctx context.Context, uids []gregor1.UID, ) ([]chat1.ConversationLocalParticipant, error)
func (DummyParticipantSource) GetWithNotifyNonblock ¶
func (d DummyParticipantSource) GetWithNotifyNonblock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, dataSource InboxSourceDataSourceTyp)
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, replyTo *chat1.MessageID) []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, 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) UpdateLayoutFromSmallIncrease ¶
func (d DummyUIInboxLoader) UpdateLayoutFromSmallIncrease(ctx context.Context)
func (DummyUIInboxLoader) UpdateLayoutFromSmallReset ¶
func (d DummyUIInboxLoader) UpdateLayoutFromSmallReset(ctx context.Context)
func (DummyUIInboxLoader) UpdateLayoutFromSubteamRename ¶
func (d DummyUIInboxLoader) UpdateLayoutFromSubteamRename(ctx context.Context, convs []RemoteConversation)
type DummyUIThreadLoader ¶
type DummyUIThreadLoader struct{}
func (DummyUIThreadLoader) Connected ¶
func (d DummyUIThreadLoader) Connected(ctx context.Context)
func (DummyUIThreadLoader) Disconnected ¶
func (d DummyUIThreadLoader) Disconnected(ctx context.Context)
func (DummyUIThreadLoader) IsOffline ¶
func (d DummyUIThreadLoader) IsOffline(ctx context.Context) bool
func (DummyUIThreadLoader) Load ¶
func (d DummyUIThreadLoader) Load(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, reason chat1.GetThreadReason, knownRemotes []string, query *chat1.GetThreadQuery, pagination *chat1.Pagination) (chat1.ThreadView, error)
func (DummyUIThreadLoader) LoadNonblock ¶
func (d DummyUIThreadLoader) LoadNonblock(ctx context.Context, chatUI libkb.ChatUI, uid gregor1.UID, convID chat1.ConversationID, reason chat1.GetThreadReason, pgmode chat1.GetThreadNonblockPgMode, cbmode chat1.GetThreadNonblockCbMode, knownRemote []string, query *chat1.GetThreadQuery, uipagination *chat1.UIPagination) error
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 EmojiHarvestMode ¶
type EmojiHarvestMode int
const ( EmojiHarvestModeNormal EmojiHarvestMode = iota EmojiHarvestModeFast )
type EmojiSource ¶
type EmojiSource interface { Add(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, alias, filename string, allowOverwrite bool) (chat1.EmojiRemoteSource, error) AddAlias(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, newAlias, existingAlias string) (chat1.EmojiRemoteSource, error) Remove(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, alias string) error Get(ctx context.Context, uid gregor1.UID, convID *chat1.ConversationID, opts chat1.EmojiFetchOpts) (chat1.UserEmojis, error) Decorate(ctx context.Context, body string, uid gregor1.UID, messageType chat1.MessageType, emojis []chat1.HarvestedEmoji) string Harvest(ctx context.Context, body string, uid gregor1.UID, convID chat1.ConversationID, mode EmojiHarvestMode) ([]chat1.HarvestedEmoji, error) IsStockEmoji(alias string) bool RemoteToLocalSource(ctx context.Context, uid gregor1.UID, remote chat1.EmojiRemoteSource) (chat1.EmojiLoadSource, chat1.EmojiLoadSource, error) ToggleAnimations(ctx context.Context, uid gregor1.UID, enabled bool) error IsValidSize(size int64) bool }
type EphemeralCryptKey ¶
type EphemeralCryptKey interface { Material() keybase1.Bytes32 Generation() keybase1.EkGeneration }
type EphemeralPurger ¶
type EphemeralTracker ¶
type EphemeralTracker interface { Resumable GetAllPurgeInfo(ctx context.Context, uid gregor1.UID) ([]chat1.EphemeralPurgeInfo, error) GetPurgeInfo(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) (chat1.EphemeralPurgeInfo, error) InactivatePurgeInfo(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) error SetPurgeInfo(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, purgeInfo *chat1.EphemeralPurgeInfo) error MaybeUpdatePurgeInfo(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, purgeInfo *chat1.EphemeralPurgeInfo) error Clear(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID) error OnLogout(libkb.MetaContext) error OnDbNuke(libkb.MetaContext) error }
type ExternalAPIKeySource ¶
type ExternalAPIKeySource interface { GetKey(ctx context.Context, typ chat1.ExternalAPIKeyTyp) (chat1.ExternalAPIKey, error) GetAllKeys(ctx context.Context) ([]chat1.ExternalAPIKey, error) }
type FetchRetrier ¶
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 ¶
type IdentifyNotifier interface { Reset() ResetOnGUIConnect() Send(ctx context.Context, update keybase1.CanonicalTLFNameAndIDWithBreaks) }
type Inbox ¶
type Inbox struct { Version chat1.InboxVers ConvsUnverified []RemoteConversation Convs []chat1.ConversationLocal }
type InboxSource ¶
type InboxSource interface { Offlinable Resumable Suspendable badges.LocalChatState Clear(ctx context.Context, uid gregor1.UID, opts *ClearOpts) error Read(ctx context.Context, uid gregor1.UID, localizeTyp ConversationLocalizerTyp, dataSource InboxSourceDataSourceTyp, maxLocalize *int, query *chat1.GetInboxLocalQuery) (Inbox, chan AsyncInboxResult, error) ReadUnverified(ctx context.Context, uid gregor1.UID, dataSource InboxSourceDataSourceTyp, query *chat1.GetInboxQuery) (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 RemoteDeleteConversation(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) error Search(ctx context.Context, uid gregor1.UID, query string, limit int, emptyMode InboxSourceSearchEmptyMode) ([]RemoteConversation, error) MarkAsRead(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msgID *chat1.MessageID, forceUnread bool) error Draft(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, text *string) error NotifyUpdate(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) IncrementLocalConvVersion(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) (*chat1.ConversationLocal, error) 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 InboxSourceSearchEmptyMode ¶
type InboxSourceSearchEmptyMode int
const ( InboxSourceSearchEmptyModeUnread InboxSourceSearchEmptyMode = iota InboxSourceSearchEmptyModeAll InboxSourceSearchEmptyModeAllBySendCtime )
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, 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, msg []chat1.MessageUnboxed) error // Remove the given messages from the index Remove(ctx context.Context, convID chat1.ConversationID, msg []chat1.MessageUnboxed) error // Clear search index data for the given user and conversation. Clear(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID) error FullyIndexed(ctx context.Context, convID chat1.ConversationID) (bool, error) PercentIndexed(ctx context.Context, convID chat1.ConversationID) (int, error) SearchableConvs(ctx context.Context, convID *chat1.ConversationID) ([]RemoteConversation, error) OnDbNuke(mctx libkb.MetaContext) error // For devel/testing IndexInbox(ctx context.Context) (map[chat1.ConvIDStr]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, keybase1.TeamID, chat1.ConversationID) // Tell JourneyCardManager that the user has sent a message. Dismiss(context.Context, gregor1.UID, keybase1.TeamID, chat1.ConversationID, chat1.JourneycardType) 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 ¶
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 ¶
type NameInfo struct { ID chat1.TLFID CanonicalName string VerifiedMembers []gregor1.UID // may be empty if we couldn't satisfy the request }
func NewNameInfo ¶
func NewNameInfo() *NameInfo
type NameInfoSource ¶
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 ParticipantResult ¶
type ParticipantSource ¶
type ParticipantSource interface { Get(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, dataSource InboxSourceDataSourceTyp) ([]gregor1.UID, error) GetNonblock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, dataSource InboxSourceDataSourceTyp) chan ParticipantResult GetWithNotifyNonblock(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, dataSource InboxSourceDataSourceTyp) GetParticipantsFromUids(ctx context.Context, uids []gregor1.UID) ([]chat1.ConversationLocalParticipant, error) }
type PauseArchiveFn ¶
type PauseArchiveFn = func()
type ProgressReporter ¶
type ProgressReporter func(bytesCompleted, bytesTotal int64)
type PushHandler ¶
type PushHandler interface { Resumable 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 ¶
type RemoteConversation struct { Conv chat1.Conversation `codec:"c"` ConvIDStr chat1.ConvIDStr `codec:"i"` LocalMetadata *RemoteConversationMetadata `codec:"l"` LocalReadMsgID chat1.MessageID `codec:"r"` LocalDraft *string `codec:"d"` LocalMtime gregor1.Time `codec:"t"` }
func NewEmptyRemoteConversation ¶
func NewEmptyRemoteConversation(convID chat1.ConversationID) RemoteConversation
func (RemoteConversation) CannotWrite ¶
func (rc RemoteConversation) CannotWrite() bool
func (RemoteConversation) DeepCopy ¶
func (rc RemoteConversation) DeepCopy() (res RemoteConversation)
func (RemoteConversation) GetConvID ¶
func (rc RemoteConversation) GetConvID() chat1.ConversationID
func (RemoteConversation) GetExpunge ¶
func (rc RemoteConversation) GetExpunge() *chat1.Expunge
func (RemoteConversation) GetFinalizeInfo ¶
func (rc RemoteConversation) GetFinalizeInfo() *chat1.ConversationFinalizeInfo
func (RemoteConversation) GetMaxDeletedUpTo ¶
func (rc RemoteConversation) GetMaxDeletedUpTo() chat1.MessageID
func (RemoteConversation) GetMaxMessage ¶
func (rc RemoteConversation) GetMaxMessage(typ chat1.MessageType) (chat1.MessageSummary, error)
func (RemoteConversation) GetMembersType ¶
func (rc RemoteConversation) GetMembersType() chat1.ConversationMembersType
func (RemoteConversation) GetMtime ¶
func (rc RemoteConversation) GetMtime() gregor1.Time
func (RemoteConversation) GetReadMsgID ¶
func (rc RemoteConversation) GetReadMsgID() chat1.MessageID
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) IsPublic ¶
func (rc RemoteConversation) IsPublic() bool
func (RemoteConversation) MaxVisibleMsgID ¶
func (rc RemoteConversation) MaxVisibleMsgID() chat1.MessageID
type RemoteConversationMetadata ¶
type RemoteConversationMetadata struct { Name string `codec:"n"` TopicName string `codec:"t"` Snippet string `codec:"s"` SnippetDecoration chat1.SnippetDecoration `codec:"d"` Headline string `codec:"h"` HeadlineEmojis []chat1.HarvestedEmoji `codec:"e"` WriterNames []string `codec:"w"` FullNamesForSearch []*string `codec:"f"` ResetParticipants []string `codec:"r"` }
func (RemoteConversationMetadata) DeepCopy ¶
func (m RemoteConversationMetadata) DeepCopy() (res RemoteConversationMetadata)
type ReplyFiller ¶
type ReplyFiller interface { Fill(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, msgs []chat1.MessageUnboxed) ([]chat1.MessageUnboxed, error) }
type RetryDescription ¶
type Sender ¶
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 DeleteFlipConv *chat1.ConversationID AtMentions []gregor1.UID ChannelMention chat1.ChannelMention TopicNameState *chat1.TopicNameState TopicNameStateConvs []chat1.ConversationID }
type ServerCacheVersions ¶
type ServerConnection ¶
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, replyTo *chat1.MessageID) []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, convID chat1.ConversationID, uid gregor1.UID, originalMsgs []chat1.MessageUnboxed, maxDeletedUpTo *chat1.MessageID) ([]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 IsSelectedConversation(chat1.ConversationID) bool Shutdown() }
type TeamChannelSource ¶
type TeamChannelSource interface { GetLastActiveForTLF(context.Context, gregor1.UID, chat1.TLFID, chat1.TopicType) (gregor1.Time, error) GetLastActiveForTeams(context.Context, gregor1.UID, chat1.TopicType) (chat1.LastActiveTimeAll, error) 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) GetRecentJoins(ctx context.Context, convID chat1.ConversationID, remoteClient chat1.RemoteInterface) (int, error) GetLastActiveAt(ctx context.Context, teamID keybase1.TeamID, uid gregor1.UID, remoteClient chat1.RemoteInterface) (gregor1.Time, error) OnLogout(libkb.MetaContext) error OnDbNuke(libkb.MetaContext) 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) UpdateLayoutFromSmallIncrease(ctx context.Context) UpdateLayoutFromSmallReset(ctx context.Context) UpdateConvs(ctx context.Context, convIDs []chat1.ConversationID) error LoadNonblock(ctx context.Context, query *chat1.GetInboxLocalQuery, maxUnbox *int, skipUnverified bool) error }
type UIThreadLoader ¶
type UIThreadLoader interface { Offlinable LoadNonblock(ctx context.Context, chatUI libkb.ChatUI, uid gregor1.UID, convID chat1.ConversationID, reason chat1.GetThreadReason, pgmode chat1.GetThreadNonblockPgMode, cbmode chat1.GetThreadNonblockCbMode, knownRemotes []string, query *chat1.GetThreadQuery, uipagination *chat1.UIPagination) error Load(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, reason chat1.GetThreadReason, knownRemotes []string, query *chat1.GetThreadQuery, pagination *chat1.Pagination) (chat1.ThreadView, error) }
type UPAKFinder ¶
type UPAKFinder interface { LookupUsernameAndDevice(ctx context.Context, uid keybase1.UID, deviceID keybase1.DeviceID) (username libkb.NormalizedUsername, deviceName string, deviceType keybase1.DeviceTypeV2, err error) CheckKIDForUID(ctx context.Context, uid keybase1.UID, kid keybase1.KID) (found bool, revokedAt *keybase1.KeybaseTime, deleted bool, err error) }
type UnboxConversationInfo ¶
type UnboxConversationInfo interface { GetConvID() chat1.ConversationID GetMembersType() chat1.ConversationMembersType GetFinalizeInfo() *chat1.ConversationFinalizeInfo GetExpunge() *chat1.Expunge GetMaxDeletedUpTo() chat1.MessageID IsPublic() bool GetMaxMessage(chat1.MessageType) (chat1.MessageSummary, error) }
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.