| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Simplex.Chat.Controller
Synopsis
- versionNumber :: String
- versionString :: String -> String
- simplexmqCommitQ :: Q Exp
- coreVersionInfo :: String -> CoreVersionInfo
- data ChatConfig = ChatConfig {
- agentConfig :: AgentConfig
- chatVRange :: VersionRangeChat
- confirmMigrations :: MigrationConfirmation
- presetServers :: PresetServers
- shortLinkPresetServers :: NonEmpty SMPServer
- presetDomains :: [HostName]
- tbqSize :: Natural
- fileChunkSize :: Integer
- xftpDescrPartSize :: Int
- inlineFiles :: InlineFilesConfig
- autoAcceptFileSize :: Integer
- showReactions :: Bool
- showReceipts :: Bool
- subscriptionEvents :: Bool
- hostEvents :: Bool
- logLevel :: ChatLogLevel
- testView :: Bool
- initialCleanupManagerDelay :: Int64
- cleanupManagerInterval :: NominalDiffTime
- cleanupManagerStepDelay :: Int64
- ciExpirationInterval :: Int64
- deliveryWorkerDelay :: Int64
- deliveryBucketSize :: Int
- highlyAvailable :: Bool
- deviceNameForRemote :: Text
- chatHooks :: ChatHooks
- data RandomAgentServers = RandomAgentServers {
- smpServers :: NonEmpty (ServerCfg 'PSMP)
- xftpServers :: NonEmpty (ServerCfg 'PXFTP)
- data ChatHooks = ChatHooks {
- preStartHook :: Maybe (ChatController -> IO ())
- postStartHook :: Maybe (ChatController -> IO ())
- preCmdHook :: Maybe (ChatController -> ChatCommand -> IO (Either (Either ChatError ChatResponse) ChatCommand))
- eventHook :: Maybe (ChatController -> Either ChatError ChatEvent -> IO (Either ChatError ChatEvent))
- acceptMember :: Maybe (GroupInfo -> GroupLinkInfo -> Profile -> IO (Either GroupRejectionReason (GroupAcceptance, GroupMemberRole)))
- defaultChatHooks :: ChatHooks
- data PresetServers = PresetServers {
- operators :: NonEmpty PresetOperator
- ntf :: [NtfServer]
- netCfg :: NetworkConfig
- data InlineFilesConfig = InlineFilesConfig {
- offerChunks :: Integer
- sendChunks :: Integer
- totalSendChunks :: Integer
- receiveChunks :: Integer
- receiveInstant :: Bool
- defaultInlineFilesConfig :: InlineFilesConfig
- data ChatDatabase = ChatDatabase {}
- data ChatController = ChatController {
- currentUser :: TVar (Maybe User)
- randomPresetServers :: NonEmpty PresetOperator
- randomAgentServers :: RandomAgentServers
- currentRemoteHost :: TVar (Maybe RemoteHostId)
- firstTime :: Bool
- smpAgent :: AgentClient
- agentAsync :: TVar (Maybe (Async (), Maybe (Async ())))
- chatStore :: DBStore
- chatStoreChanged :: TVar Bool
- random :: TVar ChaChaDRG
- eventSeq :: TVar Int
- inputQ :: TBQueue String
- outputQ :: TBQueue (Maybe RemoteHostId, Either ChatError ChatEvent)
- subscriptionMode :: TVar SubscriptionMode
- chatLock :: Lock
- entityLocks :: TMap ChatLockEntity Lock
- sndFiles :: TVar (Map Int64 Handle)
- rcvFiles :: TVar (Map Int64 Handle)
- currentCalls :: TMap ContactId Call
- localDeviceName :: TVar Text
- multicastSubscribers :: TMVar Int
- remoteSessionSeq :: TVar Int
- remoteHostSessions :: TMap RHKey (SessionSeq, RemoteHostSession)
- remoteHostsFolder :: TVar (Maybe FilePath)
- remoteCtrlSession :: TVar (Maybe (SessionSeq, RemoteCtrlSession))
- config :: ChatConfig
- filesFolder :: TVar (Maybe FilePath)
- deliveryTaskWorkers :: TMap DeliveryWorkerKey Worker
- deliveryJobWorkers :: TMap DeliveryWorkerKey Worker
- expireCIThreads :: TMap UserId (Maybe (Async ()))
- expireCIFlags :: TMap UserId Bool
- cleanupManagerAsync :: TVar (Maybe (Async ()))
- chatActivated :: TVar Bool
- timedItemThreads :: TMap (ChatRef, ChatItemId) (TVar (Maybe (Weak ThreadId)))
- showLiveItems :: TVar Bool
- encryptLocalFiles :: TVar Bool
- tempDirectory :: TVar (Maybe FilePath)
- assetsDirectory :: TVar (Maybe FilePath)
- logFilePath :: Maybe FilePath
- contactMergeEnabled :: TVar Bool
- data HelpSection
- data ChatCommand
- = ShowActiveUser
- | CreateActiveUser { }
- | ListUsers
- | APISetActiveUser { }
- | SetActiveUser UserName (Maybe UserPwd)
- | SetAllContactReceipts Bool
- | APISetUserContactReceipts UserId UserMsgReceiptSettings
- | SetUserContactReceipts UserMsgReceiptSettings
- | APISetUserGroupReceipts UserId UserMsgReceiptSettings
- | SetUserGroupReceipts UserMsgReceiptSettings
- | APISetUserAutoAcceptMemberContacts UserId Bool
- | SetUserAutoAcceptMemberContacts Bool
- | APIHideUser UserId UserPwd
- | APIUnhideUser UserId UserPwd
- | APIMuteUser UserId
- | APIUnmuteUser UserId
- | HideUser UserPwd
- | UnhideUser UserPwd
- | MuteUser
- | UnmuteUser
- | APIDeleteUser {
- userId :: UserId
- delSMPQueues :: Bool
- viewPwd :: Maybe UserPwd
- | DeleteUser UserName Bool (Maybe UserPwd)
- | StartChat {
- mainApp :: Bool
- enableSndFiles :: Bool
- | CheckChatRunning
- | APIStopChat
- | APIActivateChat {
- restoreChat :: Bool
- | APISuspendChat {
- suspendTimeout :: Int
- | ShowConnectionsDiff Bool
- | ResubscribeAllConnections
- | SetTempFolder FilePath
- | SetFilesFolder FilePath
- | SetRemoteHostsFolder FilePath
- | APISetAppFilePaths AppFilePathsConfig
- | APISetEncryptLocalFiles Bool
- | SetContactMergeEnabled Bool
- | APIExportArchive ArchiveConfig
- | ExportArchive
- | APIImportArchive ArchiveConfig
- | APIDeleteStorage
- | APIStorageEncryption DBEncryptionConfig
- | TestStorageEncryption DBEncryptionKey
- | SlowSQLQueries
- | ExecChatStoreSQL Text
- | ExecAgentStoreSQL Text
- | APISaveAppSettings AppSettings
- | APIGetAppSettings (Maybe AppSettings)
- | APIGetChatTags UserId
- | APIGetChats {
- userId :: UserId
- pendingConnections :: Bool
- pagination :: PaginationByTime
- query :: ChatListQuery
- | APIGetChat {
- chatRef :: ChatRef
- contentTag :: Maybe MsgContentTag
- chatPagination :: ChatPagination
- search :: Maybe Text
- | APIGetChatItems {
- chatPagination :: ChatPagination
- search :: Maybe Text
- | APIGetChatItemInfo { }
- | APISendMessages {
- sendRef :: SendRef
- liveMessage :: Bool
- ttl :: Maybe Int
- composedMessages :: NonEmpty ComposedMessage
- | APICreateChatTag ChatTagData
- | APISetChatTags ChatRef (Maybe (NonEmpty ChatTagId))
- | APIDeleteChatTag ChatTagId
- | APIUpdateChatTag ChatTagId ChatTagData
- | APIReorderChatTags (NonEmpty ChatTagId)
- | APICreateChatItems {
- noteFolderId :: NoteFolderId
- composedMessages :: NonEmpty ComposedMessage
- | APIReportMessage {
- groupId :: GroupId
- chatItemId :: ChatItemId
- reportReason :: ReportReason
- reportText :: Text
- | ReportMessage {
- groupName :: GroupName
- contactName_ :: Maybe ContactName
- reportReason :: ReportReason
- reportedMessage :: Text
- | APIUpdateChatItem {
- chatRef :: ChatRef
- chatItemId :: ChatItemId
- liveMessage :: Bool
- updatedMessage :: UpdatedMessage
- | APIDeleteChatItem {
- chatRef :: ChatRef
- chatItemIds :: NonEmpty ChatItemId
- deleteMode :: CIDeleteMode
- | APIDeleteMemberChatItem {
- groupId :: GroupId
- chatItemIds :: NonEmpty ChatItemId
- | APIArchiveReceivedReports GroupId
- | APIDeleteReceivedReports GroupId (NonEmpty ChatItemId) CIDeleteMode
- | APIChatItemReaction {
- chatRef :: ChatRef
- chatItemId :: ChatItemId
- add :: Bool
- reaction :: MsgReaction
- | APIGetReactionMembers {
- userId :: UserId
- groupId :: GroupId
- chatItemId :: ChatItemId
- reaction :: MsgReaction
- | APIPlanForwardChatItems {
- fromChatRef :: ChatRef
- chatItemIds :: NonEmpty ChatItemId
- | APIForwardChatItems {
- toChatRef :: ChatRef
- fromChatRef :: ChatRef
- chatItemIds :: NonEmpty ChatItemId
- ttl :: Maybe Int
- | APIUserRead UserId
- | UserRead
- | APIChatRead { }
- | APIChatItemsRead {
- chatRef :: ChatRef
- chatItemIds :: NonEmpty ChatItemId
- | APIChatUnread {
- chatRef :: ChatRef
- unreadChat :: Bool
- | APIDeleteChat { }
- | APIClearChat { }
- | APIAcceptContact {
- incognito :: IncognitoEnabled
- contactReqId :: Int64
- | APIRejectContact {
- contactReqId :: Int64
- | APISendCallInvitation ContactId CallType
- | SendCallInvitation ContactName CallType
- | APIRejectCall ContactId
- | APISendCallOffer ContactId WebRTCCallOffer
- | APISendCallAnswer ContactId WebRTCSession
- | APISendCallExtraInfo ContactId WebRTCExtraInfo
- | APIEndCall ContactId
- | APIGetCallInvitations
- | APICallStatus ContactId WebRTCCallStatus
- | APIUpdateProfile { }
- | APISetContactPrefs { }
- | APISetContactAlias { }
- | APISetGroupAlias { }
- | APISetConnectionAlias {
- connectionId :: Int64
- localAlias :: LocalAlias
- | APISetUserUIThemes UserId (Maybe UIThemeEntityOverrides)
- | APISetChatUIThemes ChatRef (Maybe UIThemeEntityOverrides)
- | APIGetNtfToken
- | APIRegisterToken DeviceToken NotificationsMode
- | APIVerifyToken DeviceToken CbNonce ByteString
- | APICheckToken DeviceToken
- | APIDeleteToken DeviceToken
- | APIGetNtfConns {
- nonce :: CbNonce
- encNtfInfo :: ByteString
- | APIGetConnNtfMessages (NonEmpty ConnMsgReq)
- | APIAddMember { }
- | APIJoinGroup { }
- | APIAcceptMember { }
- | APIDeleteMemberSupportChat GroupId GroupMemberId
- | APIMembersRole {
- groupId :: GroupId
- groupMemberIds :: NonEmpty GroupMemberId
- memberRole :: GroupMemberRole
- | APIBlockMembersForAll {
- groupId :: GroupId
- groupMemberIds :: NonEmpty GroupMemberId
- blocked :: Bool
- | APIRemoveMembers {
- groupId :: GroupId
- groupMemberIds :: NonEmpty GroupMemberId
- withMessages :: Bool
- | APILeaveGroup { }
- | APIListMembers { }
- | APIUpdateGroupProfile { }
- | APICreateGroupLink { }
- | APIGroupLinkMemberRole { }
- | APIDeleteGroupLink { }
- | APIGetGroupLink { }
- | APIAddGroupShortLink GroupId
- | APICreateMemberContact GroupId GroupMemberId
- | APISendMemberContactInvitation {
- contactId :: ContactId
- msgContent_ :: Maybe MsgContent
- | APIAcceptMemberContact ContactId
- | GetUserProtoServers AProtocolType
- | SetUserProtoServers AProtocolType [AProtoServerWithAuth]
- | APITestProtoServer UserId AProtoServerWithAuth
- | TestProtoServer AProtoServerWithAuth
- | APIGetServerOperators
- | APISetServerOperators (NonEmpty ServerOperator)
- | SetServerOperators (NonEmpty ServerOperatorRoles)
- | APIGetUserServers UserId
- | APISetUserServers UserId (NonEmpty UpdatedUserOperatorServers)
- | APIValidateServers UserId [UpdatedUserOperatorServers]
- | APIGetUsageConditions
- | APISetConditionsNotified Int64
- | APIAcceptConditions Int64 (NonEmpty Int64)
- | APISetChatItemTTL UserId Int64
- | SetChatItemTTL Int64
- | APIGetChatItemTTL UserId
- | GetChatItemTTL
- | APISetChatTTL { }
- | SetChatTTL ChatName (Maybe Int64)
- | GetChatTTL ChatName
- | APISetNetworkConfig NetworkConfig
- | APIGetNetworkConfig
- | SetNetworkConfig SimpleNetCfg
- | APISetNetworkInfo UserNetworkInfo
- | ReconnectAllServers
- | ReconnectServer UserId SMPServer
- | APISetChatSettings { }
- | APISetMemberSettings GroupId GroupMemberId GroupMemberSettings
- | APIContactInfo ContactId
- | APIGroupInfo GroupId
- | APIGroupMemberInfo GroupId GroupMemberId
- | APIContactQueueInfo ContactId
- | APIGroupMemberQueueInfo GroupId GroupMemberId
- | APISwitchContact ContactId
- | APISwitchGroupMember GroupId GroupMemberId
- | APIAbortSwitchContact ContactId
- | APIAbortSwitchGroupMember GroupId GroupMemberId
- | APISyncContactRatchet { }
- | APISyncGroupMemberRatchet {
- groupId :: GroupId
- groupMemberId :: GroupMemberId
- force :: Bool
- | APIGetContactCode ContactId
- | APIGetGroupMemberCode GroupId GroupMemberId
- | APIVerifyContact ContactId (Maybe Text)
- | APIVerifyGroupMember GroupId GroupMemberId (Maybe Text)
- | APIEnableContact ContactId
- | APIEnableGroupMember GroupId GroupMemberId
- | SetShowMessages ChatName MsgFilter
- | SetSendReceipts ChatName (Maybe Bool)
- | SetShowMemberMessages GroupName ContactName Bool
- | ContactInfo ContactName
- | ShowGroupInfo GroupName
- | GroupMemberInfo GroupName ContactName
- | ContactQueueInfo ContactName
- | GroupMemberQueueInfo GroupName ContactName
- | SwitchContact ContactName
- | SwitchGroupMember GroupName ContactName
- | AbortSwitchContact ContactName
- | AbortSwitchGroupMember GroupName ContactName
- | SyncContactRatchet ContactName Bool
- | SyncGroupMemberRatchet GroupName ContactName Bool
- | GetContactCode ContactName
- | GetGroupMemberCode GroupName ContactName
- | VerifyContact ContactName (Maybe Text)
- | VerifyGroupMember GroupName ContactName (Maybe Text)
- | EnableContact ContactName
- | EnableGroupMember GroupName ContactName
- | ChatHelp HelpSection
- | Welcome
- | APIAddContact {
- userId :: UserId
- incognito :: IncognitoEnabled
- | AddContact IncognitoEnabled
- | APISetConnectionIncognito Int64 IncognitoEnabled
- | APIChangeConnectionUser Int64 UserId
- | APIConnectPlan {
- userId :: UserId
- connectionLink :: Maybe AConnectionLink
- | APIPrepareContact UserId ACreatedConnLink ContactShortLinkData
- | APIPrepareGroup UserId CreatedLinkContact GroupShortLinkData
- | APIChangePreparedContactUser ContactId UserId
- | APIChangePreparedGroupUser GroupId UserId
- | APIConnectPreparedContact {
- contactId :: ContactId
- incognito :: IncognitoEnabled
- msgContent_ :: Maybe MsgContent
- | APIConnectPreparedGroup GroupId IncognitoEnabled (Maybe MsgContent)
- | APIConnect {
- userId :: UserId
- incognito :: IncognitoEnabled
- preparedLink_ :: Maybe ACreatedConnLink
- | Connect {
- incognito :: IncognitoEnabled
- connLink_ :: Maybe AConnectionLink
- | APIConnectContactViaAddress UserId IncognitoEnabled ContactId
- | ConnectSimplex IncognitoEnabled
- | DeleteContact ContactName ChatDeleteMode
- | ClearContact ContactName
- | APIListContacts {
- userId :: UserId
- | ListContacts
- | APICreateMyAddress {
- userId :: UserId
- | CreateMyAddress
- | APIDeleteMyAddress {
- userId :: UserId
- | DeleteMyAddress
- | APIShowMyAddress {
- userId :: UserId
- | ShowMyAddress
- | APIAddMyAddressShortLink UserId
- | APISetProfileAddress { }
- | SetProfileAddress Bool
- | APISetAddressSettings {
- userId :: UserId
- settings :: AddressSettings
- | SetAddressSettings AddressSettings
- | AcceptContact IncognitoEnabled ContactName
- | RejectContact ContactName
- | ForwardMessage {
- toChatName :: ChatName
- fromContactName :: ContactName
- forwardedMsg :: Text
- | ForwardGroupMessage {
- toChatName :: ChatName
- fromGroupName :: GroupName
- fromMemberName_ :: Maybe ContactName
- forwardedMsg :: Text
- | ForwardLocalMessage {
- toChatName :: ChatName
- forwardedMsg :: Text
- | SendMessage SendName Text
- | SendMemberContactMessage GroupName ContactName Text
- | AcceptMemberContact ContactName
- | SendLiveMessage ChatName Text
- | SendMessageQuote {
- contactName :: ContactName
- msgDir :: AMsgDirection
- quotedMsg :: Text
- message :: Text
- | SendMessageBroadcast MsgContent
- | DeleteMessage ChatName Text
- | DeleteMemberMessage GroupName ContactName Text
- | EditMessage { }
- | UpdateLiveMessage {
- chatName :: ChatName
- chatItemId :: ChatItemId
- liveMessage :: Bool
- message :: Text
- | ReactToMessage {
- add :: Bool
- reaction :: MsgReaction
- chatName :: ChatName
- reactToMessage :: Text
- | APINewGroup {
- userId :: UserId
- incognito :: IncognitoEnabled
- groupProfile :: GroupProfile
- | NewGroup IncognitoEnabled GroupProfile
- | AddMember GroupName ContactName GroupMemberRole
- | JoinGroup { }
- | AcceptMember GroupName ContactName GroupMemberRole
- | MemberRole GroupName ContactName GroupMemberRole
- | BlockForAll GroupName ContactName Bool
- | RemoveMembers {
- groupName :: GroupName
- members :: NonEmpty ContactName
- withMessages :: Bool
- | LeaveGroup GroupName
- | DeleteGroup GroupName
- | ClearGroup GroupName
- | ListMembers GroupName
- | ListMemberSupportChats GroupName
- | APIListGroups {
- userId :: UserId
- contactId_ :: Maybe ContactId
- search :: Maybe Text
- | ListGroups (Maybe ContactName) (Maybe Text)
- | UpdateGroupNames GroupName GroupProfile
- | ShowGroupProfile GroupName
- | UpdateGroupDescription GroupName (Maybe Text)
- | ShowGroupDescription GroupName
- | CreateGroupLink GroupName GroupMemberRole
- | GroupLinkMemberRole GroupName GroupMemberRole
- | DeleteGroupLink GroupName
- | ShowGroupLink GroupName
- | SendGroupMessageQuote {
- groupName :: GroupName
- contactName_ :: Maybe ContactName
- quotedMsg :: Text
- message :: Text
- | ClearNoteFolder
- | LastChats (Maybe Int)
- | LastMessages (Maybe ChatName) Int (Maybe Text)
- | LastChatItemId (Maybe ChatName) Int
- | ShowChatItem (Maybe ChatItemId)
- | ShowChatItemInfo ChatName Text
- | ShowLiveItems Bool
- | SendFile ChatName CryptoFile
- | SendImage ChatName CryptoFile
- | ForwardFile ChatName FileTransferId
- | ForwardImage ChatName FileTransferId
- | SendFileDescription ChatName FilePath
- | ReceiveFile {
- fileId :: FileTransferId
- userApprovedRelays :: Bool
- storeEncrypted :: Maybe Bool
- fileInline :: Maybe Bool
- filePath :: Maybe FilePath
- | SetFileToReceive {
- fileId :: FileTransferId
- userApprovedRelays :: Bool
- storeEncrypted :: Maybe Bool
- | CancelFile { }
- | FileStatus FileTransferId
- | ShowProfile
- | SetBotCommands [ChatBotCommand]
- | UpdateProfile ContactName (Maybe Text)
- | UpdateProfileImage (Maybe ImageData)
- | ShowProfileImage
- | SetUserFeature AChatFeature FeatureAllowed
- | SetContactFeature AChatFeature ContactName (Maybe FeatureAllowed)
- | SetGroupFeature AGroupFeatureNoRole GroupName GroupFeatureEnabled
- | SetGroupFeatureRole AGroupFeatureRole GroupName GroupFeatureEnabled (Maybe GroupMemberRole)
- | SetGroupMemberAdmissionReview GroupName (Maybe MemberCriteria)
- | SetUserTimedMessages Bool
- | SetContactTimedMessages ContactName (Maybe TimedMessagesEnabled)
- | SetGroupTimedMessages GroupName (Maybe Int)
- | SetLocalDeviceName Text
- | ListRemoteHosts
- | StartRemoteHost (Maybe (RemoteHostId, Bool)) (Maybe RCCtrlAddress) (Maybe Word16)
- | SwitchRemoteHost (Maybe RemoteHostId)
- | StopRemoteHost RHKey
- | DeleteRemoteHost RemoteHostId
- | StoreRemoteFile {
- remoteHostId :: RemoteHostId
- storeEncrypted :: Maybe Bool
- localPath :: FilePath
- | GetRemoteFile { }
- | ConnectRemoteCtrl RCSignedInvitation
- | FindKnownRemoteCtrl
- | ConfirmRemoteCtrl RemoteCtrlId
- | VerifyRemoteCtrlSession Text
- | ListRemoteCtrls
- | StopRemoteCtrl
- | DeleteRemoteCtrl RemoteCtrlId
- | APIUploadStandaloneFile UserId CryptoFile
- | APIDownloadStandaloneFile UserId FileDescriptionURI CryptoFile
- | APIStandaloneFileInfo FileDescriptionURI
- | QuitChat
- | ShowVersion
- | DebugLocks
- | DebugEvent ChatEvent
- | GetAgentSubsTotal UserId
- | GetAgentServersSummary UserId
- | ResetAgentServersStats
- | GetAgentSubs
- | GetAgentSubsDetails
- | GetAgentWorkers
- | GetAgentWorkersDetails
- | GetAgentQueuesInfo
- | CustomChatCommand ByteString
- allowRemoteCommand :: ChatCommand -> Bool
- data ChatResponse
- = CRActiveUser { }
- | CRUsersList { }
- | CRChatStarted
- | CRChatRunning
- | CRChatStopped
- | CRConnectionsDiff {
- showIds :: Bool
- userIds :: DatabaseDiff AgentUserId
- connIds :: DatabaseDiff AgentConnId
- | CRApiChats { }
- | CRChats { }
- | CRApiChat { }
- | CRChatTags { }
- | CRChatItems { }
- | CRChatItemInfo { }
- | CRChatItemId User (Maybe ChatItemId)
- | CRServerTestResult {
- user :: User
- testServer :: AProtoServerWithAuth
- testFailure :: Maybe ProtocolTestFailure
- | CRServerOperatorConditions { }
- | CRUserServers {
- user :: User
- userServers :: [UserOperatorServers]
- | CRUserServersValidation {
- user :: User
- serverErrors :: [UserServersError]
- | CRUsageConditions {
- usageConditions :: UsageConditions
- conditionsText :: Text
- acceptedConditions :: Maybe UsageConditions
- | CRChatItemTTL {
- user :: User
- chatItemTTL :: Maybe Int64
- | CRNetworkConfig {
- networkConfig :: NetworkConfig
- | CRContactInfo {
- user :: User
- contact :: Contact
- connectionStats_ :: Maybe ConnectionStats
- customUserProfile :: Maybe Profile
- | CRGroupInfo { }
- | CRGroupMemberInfo {
- user :: User
- groupInfo :: GroupInfo
- member :: GroupMember
- connectionStats_ :: Maybe ConnectionStats
- | CRQueueInfo {
- user :: User
- rcvMsgInfo :: Maybe RcvMsgInfo
- queueInfo :: ServerQueueInfo
- | CRContactSwitchStarted {
- user :: User
- contact :: Contact
- connectionStats :: ConnectionStats
- | CRGroupMemberSwitchStarted {
- user :: User
- groupInfo :: GroupInfo
- member :: GroupMember
- connectionStats :: ConnectionStats
- | CRContactSwitchAborted {
- user :: User
- contact :: Contact
- connectionStats :: ConnectionStats
- | CRGroupMemberSwitchAborted {
- user :: User
- groupInfo :: GroupInfo
- member :: GroupMember
- connectionStats :: ConnectionStats
- | CRContactRatchetSyncStarted {
- user :: User
- contact :: Contact
- connectionStats :: ConnectionStats
- | CRGroupMemberRatchetSyncStarted {
- user :: User
- groupInfo :: GroupInfo
- member :: GroupMember
- connectionStats :: ConnectionStats
- | CRContactCode {
- user :: User
- contact :: Contact
- connectionCode :: Text
- | CRGroupMemberCode {
- user :: User
- groupInfo :: GroupInfo
- member :: GroupMember
- connectionCode :: Text
- | CRConnectionVerified {
- user :: User
- verified :: Bool
- expectedCode :: Text
- | CRTagsUpdated { }
- | CRNewChatItems { }
- | CRChatItemUpdated { }
- | CRChatItemNotChanged { }
- | CRChatItemReaction {
- user :: User
- added :: Bool
- reaction :: ACIReaction
- | CRReactionMembers {
- user :: User
- memberReactions :: [MemberReaction]
- | CRChatItemsDeleted {
- user :: User
- chatItemDeletions :: [ChatItemDeletion]
- byUser :: Bool
- timed :: Bool
- | CRGroupChatItemsDeleted {
- user :: User
- groupInfo :: GroupInfo
- chatItemIDs :: [ChatItemId]
- byUser :: Bool
- member_ :: Maybe GroupMember
- | CRBroadcastSent {
- user :: User
- msgContent :: MsgContent
- successes :: Int
- failures :: Int
- timestamp :: UTCTime
- | CRCmdOk { }
- | CRChatHelp { }
- | CRWelcome { }
- | CRGroupCreated { }
- | CRGroupMembers { }
- | CRMemberSupportChats { }
- | CRContactsList { }
- | CRUserContactLink { }
- | CRUserContactLinkUpdated { }
- | CRContactRequestRejected {
- user :: User
- contactRequest :: UserContactRequest
- contact_ :: Maybe Contact
- | CRUserAcceptedGroupSent { }
- | CRUserDeletedMembers {
- user :: User
- groupInfo :: GroupInfo
- members :: [GroupMember]
- withMessages :: Bool
- | CRGroupsList { }
- | CRSentGroupInvitation { }
- | CRFileTransferStatus User (FileTransfer, [Integer])
- | CRFileTransferStatusXFTP User AChatItem
- | CRUserProfile { }
- | CRUserProfileNoChange { }
- | CRUserPrivacy {
- user :: User
- updatedUser :: User
- | CRVersionInfo {
- versionInfo :: CoreVersionInfo
- chatMigrations :: [UpMigration]
- agentMigrations :: [UpMigration]
- | CRInvitation { }
- | CRConnectionIncognitoUpdated {
- user :: User
- toConnection :: PendingContactConnection
- customUserProfile :: Maybe Profile
- | CRConnectionUserChanged { }
- | CRConnectionPlan {
- user :: User
- connLink :: ACreatedConnLink
- connectionPlan :: ConnectionPlan
- | CRNewPreparedChat { }
- | CRContactUserChanged { }
- | CRGroupUserChanged { }
- | CRSentConfirmation {
- user :: User
- connection :: PendingContactConnection
- customUserProfile :: Maybe Profile
- | CRSentInvitation {
- user :: User
- connection :: PendingContactConnection
- customUserProfile :: Maybe Profile
- | CRStartedConnectionToContact { }
- | CRStartedConnectionToGroup { }
- | CRSentInvitationToContact { }
- | CRItemsReadForChat { }
- | CRContactDeleted { }
- | CRChatCleared { }
- | CRUserContactLinkCreated { }
- | CRUserContactLinkDeleted { }
- | CRAcceptingContactRequest { }
- | CRContactAlreadyExists { }
- | CRLeftMemberUser { }
- | CRGroupDeletedUser { }
- | CRForwardPlan {
- user :: User
- itemsCount :: Int
- chatItemIds :: [ChatItemId]
- forwardConfirmation :: Maybe ForwardConfirmation
- | CRRcvFileAccepted { }
- | CRRcvFileAcceptedSndCancelled { }
- | CRStandaloneFileInfo {
- fileMeta :: Maybe Value
- | CRRcvStandaloneFileCreated { }
- | CRRcvFileCancelled {
- user :: User
- chatItem_ :: Maybe AChatItem
- rcvFileTransfer :: RcvFileTransfer
- | CRSndFileCancelled {
- user :: User
- chatItem_ :: Maybe AChatItem
- fileTransferMeta :: FileTransferMeta
- sndFileTransfers :: [SndFileTransfer]
- | CRSndStandaloneFileCreated { }
- | CRUserProfileUpdated { }
- | CRUserProfileImage { }
- | CRContactAliasUpdated { }
- | CRGroupAliasUpdated { }
- | CRConnectionAliasUpdated { }
- | CRContactPrefsUpdated { }
- | CRJoinedGroupMember { }
- | CRMemberAccepted { }
- | CRMemberSupportChatRead { }
- | CRMemberSupportChatDeleted { }
- | CRMembersRoleUser {
- user :: User
- groupInfo :: GroupInfo
- members :: [GroupMember]
- toRole :: GroupMemberRole
- | CRMembersBlockedForAllUser { }
- | CRGroupUpdated { }
- | CRGroupProfile { }
- | CRGroupDescription { }
- | CRGroupLinkCreated { }
- | CRGroupLink { }
- | CRGroupLinkDeleted { }
- | CRNewMemberContact { }
- | CRNewMemberContactSentInv { }
- | CRMemberContactAccepted { }
- | CRCallInvitations { }
- | CRNtfTokenStatus {
- status :: NtfTknStatus
- | CRNtfToken { }
- | CRNtfConns { }
- | CRConnNtfMessages {
- receivedMsgs :: NonEmpty RcvNtfMsgInfo
- | CRContactConnectionDeleted { }
- | CRRemoteHostList { }
- | CRCurrentRemoteHost {
- remoteHost_ :: Maybe RemoteHostInfo
- | CRRemoteHostStarted {
- remoteHost_ :: Maybe RemoteHostInfo
- invitation :: Text
- ctrlPort :: String
- localAddrs :: NonEmpty RCCtrlAddress
- | CRRemoteFileStored {
- remoteHostId :: RemoteHostId
- remoteFileSource :: CryptoFile
- | CRRemoteCtrlList { }
- | CRRemoteCtrlConnecting {
- remoteCtrl_ :: Maybe RemoteCtrlInfo
- ctrlAppInfo :: CtrlAppInfo
- appVersion :: AppVersion
- | CRRemoteCtrlConnected { }
- | CRSQLResult {
- rows :: [Text]
- | CRArchiveExported { }
- | CRArchiveImported { }
- | CRSlowSQLQueries {
- chatQueries :: [SlowSQLQuery]
- agentQueries :: [SlowSQLQuery]
- | CRDebugLocks {
- chatLockName :: Maybe Text
- chatEntityLocks :: Map Text Text
- agentLocks :: AgentLocks
- | CRAgentSubsTotal {
- user :: User
- subsTotal :: SMPServerSubs
- hasSession :: Bool
- | CRAgentServersSummary { }
- | CRAgentWorkersDetails {
- agentWorkersDetails :: AgentWorkersDetails
- | CRAgentWorkersSummary {
- agentWorkersSummary :: AgentWorkersSummary
- | CRAgentSubs {
- activeSubs :: Map Text Int
- pendingSubs :: Map Text Int
- removedSubs :: Map Text [String]
- | CRAgentSubsDetails {
- agentSubs :: SubscriptionsInfo
- | CRAgentQueuesInfo {
- agentQueuesInfo :: AgentQueuesInfo
- | CRAppSettings { }
- | CRCustomChatResponse { }
- data ChatEvent
- = CEvtChatSuspended
- | CEvtContactSwitch { }
- | CEvtGroupMemberSwitch { }
- | CEvtContactRatchetSync { }
- | CEvtGroupMemberRatchetSync { }
- | CEvtChatInfoUpdated { }
- | CEvtNewChatItems { }
- | CEvtChatItemsStatusesUpdated { }
- | CEvtChatItemUpdated { }
- | CEvtChatItemNotChanged { }
- | CEvtChatItemReaction {
- user :: User
- added :: Bool
- reaction :: ACIReaction
- | CEvtGroupChatItemsDeleted {
- user :: User
- groupInfo :: GroupInfo
- chatItemIDs :: [ChatItemId]
- byUser :: Bool
- member_ :: Maybe GroupMember
- | CEvtChatItemsDeleted {
- user :: User
- chatItemDeletions :: [ChatItemDeletion]
- byUser :: Bool
- timed :: Bool
- | CEvtChatItemDeletedNotFound {
- user :: User
- contact :: Contact
- sharedMsgId :: SharedMsgId
- | CEvtUserAcceptedGroupSent { }
- | CEvtGroupLinkConnecting {
- user :: User
- groupInfo :: GroupInfo
- hostMember :: GroupMember
- | CEvtBusinessLinkConnecting { }
- | CEvtSentGroupInvitation { }
- | CEvtContactUpdated { }
- | CEvtGroupMemberUpdated { }
- | CEvtContactDeletedByContact { }
- | CEvtReceivedContactRequest {
- user :: User
- contactRequest :: UserContactRequest
- chat_ :: Maybe AChat
- | CEvtAcceptingContactRequest { }
- | CEvtAcceptingBusinessRequest { }
- | CEvtContactRequestAlreadyAccepted { }
- | CEvtBusinessRequestAlreadyAccepted { }
- | CEvtRcvFileDescrReady { }
- | CEvtRcvFileAccepted { }
- | CEvtRcvFileAcceptedSndCancelled { }
- | CEvtRcvFileStart { }
- | CEvtRcvFileProgressXFTP {
- user :: User
- chatItem_ :: Maybe AChatItem
- receivedSize :: Int64
- totalSize :: Int64
- rcvFileTransfer :: RcvFileTransfer
- | CEvtRcvFileComplete { }
- | CEvtRcvStandaloneFileComplete {
- user :: User
- targetPath :: FilePath
- rcvFileTransfer :: RcvFileTransfer
- | CEvtRcvFileSndCancelled { }
- | CEvtRcvFileError {
- user :: User
- chatItem_ :: Maybe AChatItem
- agentError :: AgentErrorType
- rcvFileTransfer :: RcvFileTransfer
- | CEvtRcvFileWarning {
- user :: User
- chatItem_ :: Maybe AChatItem
- agentError :: AgentErrorType
- rcvFileTransfer :: RcvFileTransfer
- | CEvtSndFileStart { }
- | CEvtSndFileComplete { }
- | CEvtSndFileRcvCancelled {
- user :: User
- chatItem_ :: Maybe AChatItem
- sndFileTransfer :: SndFileTransfer
- | CEvtSndFileProgressXFTP {
- user :: User
- chatItem_ :: Maybe AChatItem
- fileTransferMeta :: FileTransferMeta
- sentSize :: Int64
- totalSize :: Int64
- | CEvtSndFileRedirectStartXFTP { }
- | CEvtSndFileCompleteXFTP { }
- | CEvtSndStandaloneFileComplete {
- user :: User
- fileTransferMeta :: FileTransferMeta
- rcvURIs :: [Text]
- | CEvtSndFileError {
- user :: User
- chatItem_ :: Maybe AChatItem
- fileTransferMeta :: FileTransferMeta
- errorMessage :: Text
- | CEvtSndFileWarning {
- user :: User
- chatItem_ :: Maybe AChatItem
- fileTransferMeta :: FileTransferMeta
- errorMessage :: Text
- | CEvtContactConnecting { }
- | CEvtContactConnected { }
- | CEvtContactSndReady { }
- | CEvtContactAnotherClient { }
- | CEvtConnectionsDiff {
- userIds :: DatabaseDiff AgentUserId
- connIds :: DatabaseDiff AgentConnId
- | CEvtSubscriptionEnd { }
- | CEvtSubscriptionStatus {
- server :: SMPServer
- subscriptionStatus :: SubscriptionStatus
- connections :: [AgentConnId]
- | CEvtHostConnected {
- protocol :: AProtocolType
- transportHost :: TransportHost
- | CEvtHostDisconnected {
- protocol :: AProtocolType
- transportHost :: TransportHost
- | CEvtReceivedGroupInvitation { }
- | CEvtUserJoinedGroup {
- user :: User
- groupInfo :: GroupInfo
- hostMember :: GroupMember
- | CEvtJoinedGroupMember { }
- | CEvtJoinedGroupMemberConnecting {
- user :: User
- groupInfo :: GroupInfo
- hostMember :: GroupMember
- member :: GroupMember
- | CEvtMemberAcceptedByOther { }
- | CEvtMemberRole { }
- | CEvtMemberBlockedForAll {
- user :: User
- groupInfo :: GroupInfo
- byMember :: GroupMember
- member :: GroupMember
- blocked :: Bool
- | CEvtConnectedToGroupMember {
- user :: User
- groupInfo :: GroupInfo
- member :: GroupMember
- memberContact :: Maybe Contact
- | CEvtDeletedMember {
- user :: User
- groupInfo :: GroupInfo
- byMember :: GroupMember
- deletedMember :: GroupMember
- withMessages :: Bool
- | CEvtDeletedMemberUser {
- user :: User
- groupInfo :: GroupInfo
- member :: GroupMember
- withMessages :: Bool
- | CEvtLeftMember { }
- | CEvtUnknownMemberCreated { }
- | CEvtUnknownMemberBlocked { }
- | CEvtUnknownMemberAnnounced { }
- | CEvtGroupDeleted { }
- | CEvtGroupUpdated { }
- | CEvtAcceptingGroupJoinRequestMember { }
- | CEvtNoMemberContactCreating { }
- | CEvtNewMemberContactReceivedInv { }
- | CEvtContactAndMemberAssociated {
- user :: User
- contact :: Contact
- groupInfo :: GroupInfo
- member :: GroupMember
- updatedContact :: Contact
- | CEvtCallInvitation { }
- | CEvtCallOffer {
- user :: User
- contact :: Contact
- callType :: CallType
- offer :: WebRTCSession
- sharedKey :: Maybe Key
- askConfirmation :: Bool
- | CEvtCallAnswer { }
- | CEvtCallExtraInfo { }
- | CEvtCallEnded { }
- | CEvtNtfMessage { }
- | CEvtRemoteHostSessionCode {
- remoteHost_ :: Maybe RemoteHostInfo
- sessionCode :: Text
- | CEvtNewRemoteHost { }
- | CEvtRemoteHostConnected { }
- | CEvtRemoteHostStopped { }
- | CEvtRemoteCtrlFound {
- remoteCtrl :: RemoteCtrlInfo
- ctrlAppInfo_ :: Maybe CtrlAppInfo
- appVersion :: AppVersion
- compatible :: Bool
- | CEvtRemoteCtrlSessionCode {
- remoteCtrl_ :: Maybe RemoteCtrlInfo
- sessionCode :: Text
- | CEvtRemoteCtrlStopped { }
- | CEvtContactPQEnabled { }
- | CEvtContactDisabled { }
- | CEvtConnectionDisabled { }
- | CEvtConnectionInactive {
- connectionEntity :: ConnectionEntity
- inactive :: Bool
- | CEvtAgentRcvQueuesDeleted {
- deletedRcvQueues :: NonEmpty DeletedRcvQueue
- | CEvtAgentConnsDeleted {
- agentConnIds :: NonEmpty AgentConnId
- | CEvtAgentUserDeleted {
- agentUserId :: Int64
- | CEvtMessageError {
- user :: User
- severity :: Text
- errorMessage :: Text
- | CEvtChatErrors {
- chatErrors :: [ChatError]
- | CEvtTimedAction {
- action :: String
- durationMilliseconds :: Int64
- | CEvtTerminalEvent TerminalEvent
- | CEvtCustomChatEvent { }
- data TerminalEvent
- data DeletedRcvQueue = DeletedRcvQueue {
- agentConnId :: AgentConnId
- server :: SMPServer
- agentQueueId :: AgentQueueId
- agentError_ :: Maybe AgentErrorType
- allowRemoteEvent :: ChatEvent -> Bool
- logEventToFile :: ChatEvent -> Bool
- data SendRef
- = SRDirect ContactId
- | SRGroup GroupId (Maybe GroupChatScope)
- sendToChatRef :: SendRef -> ChatRef
- data ChatPagination
- = CPLast Int
- | CPAfter ChatItemId Int
- | CPBefore ChatItemId Int
- | CPAround ChatItemId Int
- | CPInitial Int
- data PaginationByTime
- data ChatListQuery
- = CLQFilters { }
- | CLQSearch {
- search :: String
- clqNoFilters :: ChatListQuery
- data ChatDeleteMode
- = CDMFull {
- notify :: Bool
- | CDMEntity {
- notify :: Bool
- | CDMMessages
- = CDMFull {
- data ConnectionPlan
- = CPInvitationLink { }
- | CPContactAddress { }
- | CPGroupLink { }
- | CPError { }
- data InvitationLinkPlan
- = ILPOk {
- contactSLinkData_ :: Maybe ContactShortLinkData
- | ILPOwnLink
- | ILPConnecting { }
- | ILPKnown { }
- = ILPOk {
- data ContactAddressPlan
- = CAPOk {
- contactSLinkData_ :: Maybe ContactShortLinkData
- | CAPOwnLink
- | CAPConnectingConfirmReconnect
- | CAPConnectingProhibit { }
- | CAPKnown { }
- | CAPContactViaAddress { }
- = CAPOk {
- data GroupLinkPlan
- = GLPOk {
- groupSLinkData_ :: Maybe GroupShortLinkData
- | GLPOwnLink { }
- | GLPConnectingConfirmReconnect
- | GLPConnectingProhibit {
- groupInfo_ :: Maybe GroupInfo
- | GLPKnown { }
- = GLPOk {
- connectionPlanProceed :: ConnectionPlan -> Bool
- data ForwardConfirmation
- = FCFilesNotAccepted {
- fileIds :: [FileTransferId]
- | FCFilesInProgress {
- filesCount :: Int
- | FCFilesMissing {
- filesCount :: Int
- | FCFilesFailed {
- filesCount :: Int
- = FCFilesNotAccepted {
- newtype UserPwd = UserPwd {
- unUserPwd :: Text
- newtype AgentQueueId = AgentQueueId QueueId
- data ArchiveConfig = ArchiveConfig {
- archivePath :: FilePath
- disableCompression :: Maybe Bool
- parentTempDirectory :: Maybe FilePath
- data DBEncryptionConfig = DBEncryptionConfig {
- currentKey :: DBEncryptionKey
- newKey :: DBEncryptionKey
- keepKey :: Maybe Bool
- newtype DBEncryptionKey = DBEncryptionKey ScrubbedBytes
- data AppFilePathsConfig = AppFilePathsConfig {
- appFilesFolder :: FilePath
- appTempFolder :: FilePath
- appAssetsFolder :: FilePath
- appRemoteHostsFolder :: Maybe FilePath
- data SimpleNetCfg = SimpleNetCfg {
- socksProxy :: Maybe SocksProxyWithAuth
- socksMode :: SocksMode
- hostMode :: HostMode
- requiredHostMode :: Bool
- smpProxyMode_ :: Maybe SMPProxyMode
- smpProxyFallback_ :: Maybe SMPProxyFallback
- smpWebPortServers :: SMPWebPortServers
- tcpTimeout_ :: Maybe Int
- logTLSErrors :: Bool
- defaultSimpleNetCfg :: SimpleNetCfg
- data ConnSubResult = ConnSubResult {
- agentConnId :: AgentConnId
- connSubError :: Maybe ChatError
- data UserProfileUpdateSummary = UserProfileUpdateSummary {
- updateSuccesses :: Int
- updateFailures :: Int
- changedContacts :: [Contact]
- data ComposedMessage = ComposedMessage {
- fileSource :: Maybe CryptoFile
- quotedItemId :: Maybe ChatItemId
- msgContent :: MsgContent
- mentions :: Map MemberName GroupMemberId
- data UpdatedMessage = UpdatedMessage {
- msgContent :: MsgContent
- mentions :: Map MemberName GroupMemberId
- data ChatTagData = ChatTagData {}
- data NtfConn = NtfConn {
- user :: User
- agentConnId :: AgentConnId
- agentDbQueueId :: Int64
- connEntity :: ConnectionEntity
- expectedMsg_ :: Maybe NtfMsgInfo
- data NtfMsgInfo = NtfMsgInfo {}
- data RcvNtfMsgInfo
- = RNMInfo {
- ntfMsgInfo :: Maybe NtfMsgInfo
- | RNMError {
- ntfMsgError :: AgentErrorType
- = RNMInfo {
- receivedMsgInfo :: Either AgentErrorType (Maybe SMPMsgMeta) -> RcvNtfMsgInfo
- expectedMsgInfo :: NMsgMeta -> NtfMsgInfo
- ntfMsgInfo_ :: MsgId -> SystemTime -> NtfMsgInfo
- data NtfMsgAckInfo = NtfMsgAckInfo {}
- ntfMsgAckInfo :: MsgId -> Maybe UTCTime -> NtfMsgAckInfo
- crNtfToken :: (DeviceToken, NtfTknStatus, NotificationsMode, NtfServer) -> ChatResponse
- data SwitchProgress = SwitchProgress {
- queueDirection :: QueueDirection
- switchPhase :: SwitchPhase
- connectionStats :: ConnectionStats
- data RatchetSyncProgress = RatchetSyncProgress {
- ratchetSyncStatus :: RatchetSyncState
- connectionStats :: ConnectionStats
- data ParsedServerAddress = ParsedServerAddress {
- serverAddress :: Maybe ServerAddress
- parseError :: String
- data ServerAddress = ServerAddress {
- serverProtocol :: AProtocolType
- hostnames :: NonEmpty String
- port :: String
- keyHash :: String
- basicAuth :: String
- data TimedMessagesEnabled
- tmeToPref :: Maybe Int -> TimedMessagesEnabled -> TimedMessagesPreference
- data ChatItemDeletion = ChatItemDeletion {
- deletedChatItem :: AChatItem
- toChatItem :: Maybe AChatItem
- data ChatLogLevel
- data CoreVersionInfo = CoreVersionInfo {
- version :: String
- simplexmqVersion :: String
- simplexmqCommit :: String
- data SlowSQLQuery = SlowSQLQuery {
- query :: Text
- queryStats :: SlowQueryStats
- data ChatError
- = ChatError { }
- | ChatErrorAgent {
- agentError :: AgentErrorType
- agentConnId :: AgentConnId
- connectionEntity_ :: Maybe ConnectionEntity
- | ChatErrorStore { }
- | ChatErrorDatabase { }
- | ChatErrorRemoteCtrl { }
- | ChatErrorRemoteHost { }
- data ChatErrorType
- = CENoActiveUser
- | CENoConnectionUser { }
- | CENoSndFileUser { }
- | CENoRcvFileUser { }
- | CEUserUnknown
- | CEActiveUserExists
- | CEUserExists { }
- | CEDifferentActiveUser {
- commandUserId :: UserId
- activeUserId :: UserId
- | CECantDeleteActiveUser {
- userId :: UserId
- | CECantDeleteLastUser {
- userId :: UserId
- | CECantHideLastUser {
- userId :: UserId
- | CEHiddenUserAlwaysMuted {
- userId :: UserId
- | CEEmptyUserPassword {
- userId :: UserId
- | CEUserAlreadyHidden {
- userId :: UserId
- | CEUserNotHidden {
- userId :: UserId
- | CEInvalidDisplayName {
- displayName :: Text
- validName :: Text
- | CEChatNotStarted
- | CEChatNotStopped
- | CEChatStoreChanged
- | CEInvalidConnReq
- | CEUnsupportedConnReq
- | CEInvalidChatMessage {
- connection :: Connection
- msgMeta :: Maybe MsgMetaJSON
- messageData :: Text
- message :: String
- | CEConnReqMessageProhibited
- | CEContactNotFound {
- contactName :: ContactName
- suspectedMember :: Maybe (GroupInfo, GroupMember)
- | CEContactNotReady { }
- | CEContactNotActive { }
- | CEContactDisabled { }
- | CEConnectionDisabled { }
- | CEGroupUserRole { }
- | CEGroupMemberInitialRole { }
- | CEContactIncognitoCantInvite
- | CEGroupIncognitoCantInvite
- | CEGroupContactRole { }
- | CEGroupDuplicateMember { }
- | CEGroupDuplicateMemberId
- | CEGroupNotJoined { }
- | CEGroupMemberNotActive
- | CECantBlockMemberForSelf {
- groupInfo :: GroupInfo
- member :: GroupMember
- setShowMessages :: Bool
- | CEGroupMemberUserRemoved
- | CEGroupMemberNotFound
- | CEGroupCantResendInvitation { }
- | CEGroupInternal {
- message :: String
- | CEFileNotFound {
- message :: String
- | CEFileSize {
- filePath :: FilePath
- | CEFileAlreadyReceiving {
- message :: String
- | CEFileCancelled {
- message :: String
- | CEFileCancel {
- fileId :: FileTransferId
- message :: String
- | CEFileAlreadyExists {
- filePath :: FilePath
- | CEFileWrite { }
- | CEFileSend {
- fileId :: FileTransferId
- agentError :: AgentErrorType
- | CEFileRcvChunk {
- message :: String
- | CEFileInternal {
- message :: String
- | CEFileImageType {
- filePath :: FilePath
- | CEFileImageSize {
- filePath :: FilePath
- | CEFileNotReceived { }
- | CEFileNotApproved {
- fileId :: FileTransferId
- unknownServers :: [XFTPServer]
- | CEFallbackToSMPProhibited { }
- | CEInlineFileProhibited { }
- | CEInvalidForward
- | CEInvalidChatItemUpdate
- | CEInvalidChatItemDelete
- | CEHasCurrentCall
- | CENoCurrentCall
- | CECallContact {
- contactId :: Int64
- | CECallState { }
- | CEDirectMessagesProhibited { }
- | CEAgentVersion
- | CEAgentNoSubResult { }
- | CECommandError {
- message :: String
- | CEServerProtocol {
- serverProtocol :: AProtocolType
- | CEAgentCommandError {
- message :: String
- | CEInvalidFileDescription {
- message :: String
- | CEConnectionIncognitoChangeProhibited
- | CEConnectionUserChangeProhibited
- | CEPeerChatVRangeIncompatible
- | CEInternalError {
- message :: String
- | CEException {
- message :: String
- data DatabaseError
- = DBErrorEncrypted
- | DBErrorPlaintext
- | DBErrorNoFile {
- dbFile :: String
- | DBErrorExport { }
- | DBErrorOpen { }
- data SQLiteError
- = SQLiteErrorNotADatabase
- | SQLiteError {
- dbError :: String
- throwDBError :: DatabaseError -> CM ()
- data RemoteHostError
- = RHEMissing
- | RHEInactive
- | RHEBusy
- | RHETimeout
- | RHEBadState
- | RHEBadVersion { }
- | RHELocalCommand
- | RHEDisconnected {
- reason :: Text
- | RHEProtocolError RemoteProtocolError
- data RemoteHostStopReason
- = RHSRConnectionFailed { }
- | RHSRCrashed { }
- | RHSRDisconnected
- data RemoteCtrlError
- = RCEInactive
- | RCEBadState
- | RCEBusy
- | RCETimeout
- | RCENoKnownControllers
- | RCEBadController
- | RCEDisconnected {
- remoteCtrlId :: RemoteCtrlId
- reason :: Text
- | RCEBadInvitation
- | RCEBadVersion { }
- | RCEHTTP2Error {
- http2Error :: Text
- | RCEProtocolError { }
- data RemoteCtrlStopReason
- = RCSRDiscoveryFailed { }
- | RCSRConnectionFailed { }
- | RCSRSetupFailed { }
- | RCSRDisconnected
- data ArchiveError
- = AEImport {
- importError :: String
- | AEFileError { }
- = AEImport {
- data RemoteCtrlSession
- = RCSessionStarting
- | RCSessionSearching {
- action :: Async ()
- foundCtrl :: TMVar (RemoteCtrl, RCVerifiedInvitation)
- | RCSessionConnecting {
- remoteCtrlId_ :: Maybe RemoteCtrlId
- rcsClient :: RCCtrlClient
- rcsWaitSession :: Async ()
- | RCSessionPendingConfirmation {
- remoteCtrlId_ :: Maybe RemoteCtrlId
- ctrlDeviceName :: Text
- rcsClient :: RCCtrlClient
- tls :: TLS 'TClient
- sessionCode :: Text
- rcsWaitSession :: Async ()
- rcsWaitConfirmation :: TMVar (Either RCErrorType (RCCtrlSession, RCCtrlPairing))
- | RCSessionConnected {
- remoteCtrlId :: RemoteCtrlId
- rcsClient :: RCCtrlClient
- tls :: TLS 'TClient
- rcsSession :: RCCtrlSession
- http2Server :: Async ()
- remoteOutputQ :: TBQueue (Either ChatError ChatEvent)
- data RemoteCtrlSessionState
- = RCSStarting
- | RCSSearching
- | RCSConnecting
- | RCSPendingConfirmation {
- sessionCode :: Text
- | RCSConnected {
- sessionCode :: Text
- rcsSessionState :: RemoteCtrlSession -> RemoteCtrlSessionState
- data RemoteCtrlInfo = RemoteCtrlInfo {
- remoteCtrlId :: RemoteCtrlId
- ctrlDeviceName :: Text
- sessionState :: Maybe RemoteCtrlSessionState
- type CM' a = ReaderT ChatController IO a
- type CM a = ExceptT ChatError (ReaderT ChatController IO) a
- chatReadVar :: (ChatController -> TVar a) -> CM a
- chatReadVar' :: (ChatController -> TVar a) -> CM' a
- chatWriteVar :: (ChatController -> TVar a) -> a -> CM ()
- chatWriteVar' :: (ChatController -> TVar a) -> a -> CM' ()
- chatModifyVar :: (ChatController -> TVar a) -> (a -> a) -> CM ()
- chatModifyVar' :: (ChatController -> TVar a) -> (a -> a) -> CM' ()
- onChatError :: CM a -> CM b -> CM a
- throwCmdError :: String -> CM a
- chatCmdError :: String -> Either ChatError ChatResponse
- throwChatError :: ChatErrorType -> CM a
- toViewTE :: TerminalEvent -> CM ()
- toView :: ChatEvent -> CM ()
- toView' :: ChatEvent -> CM' ()
- eToView :: ChatError -> CM ()
- eToView' :: ChatError -> CM' ()
- toView_ :: Either ChatError ChatEvent -> CM' ()
- withStore' :: (Connection -> IO a) -> CM a
- withFastStore' :: (Connection -> IO a) -> CM a
- withStore :: (Connection -> ExceptT StoreError IO a) -> CM a
- withFastStore :: (Connection -> ExceptT StoreError IO a) -> CM a
- withStorePriority :: Bool -> (Connection -> ExceptT StoreError IO a) -> CM a
- withStoreBatch :: Traversable t => (Connection -> t (IO (Either ChatError a))) -> CM' (t (Either ChatError a))
- handleDBErrors :: [Handler (Either ChatError a)]
- withStoreBatch' :: Traversable t => (Connection -> t (IO a)) -> CM' (t (Either ChatError a))
- withAgent :: (AgentClient -> ExceptT AgentErrorType IO a) -> CM a
- withAgent' :: (AgentClient -> IO a) -> CM' a
Documentation
versionNumber :: String Source #
versionString :: String -> String Source #
simplexmqCommitQ :: Q Exp Source #
coreVersionInfo :: String -> CoreVersionInfo Source #
data ChatConfig Source #
Constructors
| ChatConfig | |
Fields
| |
data RandomAgentServers Source #
Constructors
| RandomAgentServers | |
Fields
| |
Instances
| Show RandomAgentServers Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> RandomAgentServers -> ShowS show :: RandomAgentServers -> String showList :: [RandomAgentServers] -> ShowS | |
Constructors
| ChatHooks | |
Fields
| |
data PresetServers Source #
Constructors
| PresetServers | |
Fields
| |
Instances
| Show PresetServers Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> PresetServers -> ShowS show :: PresetServers -> String showList :: [PresetServers] -> ShowS | |
data InlineFilesConfig Source #
Constructors
| InlineFilesConfig | |
Fields
| |
data ChatDatabase Source #
Constructors
| ChatDatabase | |
Fields
| |
data ChatController Source #
Constructors
| ChatController | |
Fields
| |
data HelpSection Source #
Constructors
| HSMain | |
| HSFiles | |
| HSGroups | |
| HSContacts | |
| HSMyAddress | |
| HSIncognito | |
| HSMarkdown | |
| HSMessages | |
| HSRemote | |
| HSSettings | |
| HSDatabase |
Instances
| FromJSON HelpSection Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser HelpSection parseJSONList :: Value -> Parser [HelpSection] omittedField :: Maybe HelpSection | |
| ToJSON HelpSection Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: HelpSection -> Value toEncoding :: HelpSection -> Encoding toJSONList :: [HelpSection] -> Value toEncodingList :: [HelpSection] -> Encoding omitField :: HelpSection -> Bool | |
| Show HelpSection Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> HelpSection -> ShowS show :: HelpSection -> String showList :: [HelpSection] -> ShowS | |
data ChatCommand Source #
Constructors
Instances
| Show ChatCommand Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ChatCommand -> ShowS show :: ChatCommand -> String showList :: [ChatCommand] -> ShowS | |
allowRemoteCommand :: ChatCommand -> Bool Source #
data ChatResponse Source #
Constructors
Instances
| FromJSON ChatResponse Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ChatResponse parseJSONList :: Value -> Parser [ChatResponse] omittedField :: Maybe ChatResponse | |
| ToJSON ChatResponse Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: ChatResponse -> Value toEncoding :: ChatResponse -> Encoding toJSONList :: [ChatResponse] -> Value toEncodingList :: [ChatResponse] -> Encoding omitField :: ChatResponse -> Bool | |
| Show ChatResponse Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ChatResponse -> ShowS show :: ChatResponse -> String showList :: [ChatResponse] -> ShowS | |
| ChatResponseEvent ChatResponse Source # | |
Defined in Simplex.Chat.View Methods responseToView :: (Maybe RemoteHostId, Maybe User) -> ChatConfig -> Bool -> CurrentTime -> TimeZone -> Maybe RemoteHostId -> ChatResponse -> [StyledString] Source # isCommandResponse :: Bool Source # | |
Constructors
Instances
| FromJSON ChatEvent Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ChatEvent parseJSONList :: Value -> Parser [ChatEvent] omittedField :: Maybe ChatEvent | |
| ToJSON ChatEvent Source # | |
Defined in Simplex.Chat.Controller Methods toEncoding :: ChatEvent -> Encoding toJSONList :: [ChatEvent] -> Value toEncodingList :: [ChatEvent] -> Encoding | |
| Show ChatEvent Source # | |
| ChatResponseEvent ChatEvent Source # | |
Defined in Simplex.Chat.View Methods responseToView :: (Maybe RemoteHostId, Maybe User) -> ChatConfig -> Bool -> CurrentTime -> TimeZone -> Maybe RemoteHostId -> ChatEvent -> [StyledString] Source # isCommandResponse :: Bool Source # | |
data TerminalEvent Source #
Constructors
| TEGroupLinkRejected | |
Fields | |
| TERejectingGroupJoinRequestMember | |
Fields | |
| TENewMemberContact | |
| TEContactVerificationReset | |
| TEGroupMemberVerificationReset | |
Instances
| FromJSON TerminalEvent Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser TerminalEvent parseJSONList :: Value -> Parser [TerminalEvent] omittedField :: Maybe TerminalEvent | |
| ToJSON TerminalEvent Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: TerminalEvent -> Value toEncoding :: TerminalEvent -> Encoding toJSONList :: [TerminalEvent] -> Value toEncodingList :: [TerminalEvent] -> Encoding omitField :: TerminalEvent -> Bool | |
| Show TerminalEvent Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> TerminalEvent -> ShowS show :: TerminalEvent -> String showList :: [TerminalEvent] -> ShowS | |
data DeletedRcvQueue Source #
Constructors
| DeletedRcvQueue | |
Fields
| |
Instances
| FromJSON DeletedRcvQueue Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser DeletedRcvQueue parseJSONList :: Value -> Parser [DeletedRcvQueue] omittedField :: Maybe DeletedRcvQueue | |
| ToJSON DeletedRcvQueue Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: DeletedRcvQueue -> Value toEncoding :: DeletedRcvQueue -> Encoding toJSONList :: [DeletedRcvQueue] -> Value toEncodingList :: [DeletedRcvQueue] -> Encoding omitField :: DeletedRcvQueue -> Bool | |
| Show DeletedRcvQueue Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> DeletedRcvQueue -> ShowS show :: DeletedRcvQueue -> String showList :: [DeletedRcvQueue] -> ShowS | |
allowRemoteEvent :: ChatEvent -> Bool Source #
logEventToFile :: ChatEvent -> Bool Source #
Constructors
| SRDirect ContactId | |
| SRGroup GroupId (Maybe GroupChatScope) |
sendToChatRef :: SendRef -> ChatRef Source #
data ChatPagination Source #
Constructors
| CPLast Int | |
| CPAfter ChatItemId Int | |
| CPBefore ChatItemId Int | |
| CPAround ChatItemId Int | |
| CPInitial Int |
Instances
| Show ChatPagination Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ChatPagination -> ShowS show :: ChatPagination -> String showList :: [ChatPagination] -> ShowS | |
data PaginationByTime Source #
Instances
| Show PaginationByTime Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> PaginationByTime -> ShowS show :: PaginationByTime -> String showList :: [PaginationByTime] -> ShowS | |
data ChatListQuery Source #
Constructors
| CLQFilters | |
| CLQSearch | |
Fields
| |
Instances
| FromJSON ChatListQuery Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ChatListQuery parseJSONList :: Value -> Parser [ChatListQuery] omittedField :: Maybe ChatListQuery | |
| ToJSON ChatListQuery Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: ChatListQuery -> Value toEncoding :: ChatListQuery -> Encoding toJSONList :: [ChatListQuery] -> Value toEncodingList :: [ChatListQuery] -> Encoding omitField :: ChatListQuery -> Bool | |
| Show ChatListQuery Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ChatListQuery -> ShowS show :: ChatListQuery -> String showList :: [ChatListQuery] -> ShowS | |
data ChatDeleteMode Source #
Constructors
| CDMFull | |
Fields
| |
| CDMEntity | |
Fields
| |
| CDMMessages | |
Instances
| Show ChatDeleteMode Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ChatDeleteMode -> ShowS show :: ChatDeleteMode -> String showList :: [ChatDeleteMode] -> ShowS | |
data ConnectionPlan Source #
Constructors
| CPInvitationLink | |
Fields | |
| CPContactAddress | |
Fields | |
| CPGroupLink | |
Fields | |
| CPError | |
Instances
| FromJSON ConnectionPlan Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ConnectionPlan parseJSONList :: Value -> Parser [ConnectionPlan] omittedField :: Maybe ConnectionPlan | |
| ToJSON ConnectionPlan Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: ConnectionPlan -> Value toEncoding :: ConnectionPlan -> Encoding toJSONList :: [ConnectionPlan] -> Value toEncodingList :: [ConnectionPlan] -> Encoding omitField :: ConnectionPlan -> Bool | |
| Show ConnectionPlan Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ConnectionPlan -> ShowS show :: ConnectionPlan -> String showList :: [ConnectionPlan] -> ShowS | |
data InvitationLinkPlan Source #
Constructors
| ILPOk | |
Fields
| |
| ILPOwnLink | |
| ILPConnecting | |
| ILPKnown | |
Instances
| FromJSON InvitationLinkPlan Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser InvitationLinkPlan parseJSONList :: Value -> Parser [InvitationLinkPlan] omittedField :: Maybe InvitationLinkPlan | |
| ToJSON InvitationLinkPlan Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: InvitationLinkPlan -> Value toEncoding :: InvitationLinkPlan -> Encoding toJSONList :: [InvitationLinkPlan] -> Value toEncodingList :: [InvitationLinkPlan] -> Encoding omitField :: InvitationLinkPlan -> Bool | |
| Show InvitationLinkPlan Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> InvitationLinkPlan -> ShowS show :: InvitationLinkPlan -> String showList :: [InvitationLinkPlan] -> ShowS | |
data ContactAddressPlan Source #
Constructors
| CAPOk | |
Fields
| |
| CAPOwnLink | |
| CAPConnectingConfirmReconnect | |
| CAPConnectingProhibit | |
| CAPKnown | |
| CAPContactViaAddress | |
Instances
| FromJSON ContactAddressPlan Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ContactAddressPlan parseJSONList :: Value -> Parser [ContactAddressPlan] omittedField :: Maybe ContactAddressPlan | |
| ToJSON ContactAddressPlan Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: ContactAddressPlan -> Value toEncoding :: ContactAddressPlan -> Encoding toJSONList :: [ContactAddressPlan] -> Value toEncodingList :: [ContactAddressPlan] -> Encoding omitField :: ContactAddressPlan -> Bool | |
| Show ContactAddressPlan Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ContactAddressPlan -> ShowS show :: ContactAddressPlan -> String showList :: [ContactAddressPlan] -> ShowS | |
data GroupLinkPlan Source #
Constructors
| GLPOk | |
Fields
| |
| GLPOwnLink | |
| GLPConnectingConfirmReconnect | |
| GLPConnectingProhibit | |
Fields
| |
| GLPKnown | |
Instances
| FromJSON GroupLinkPlan Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser GroupLinkPlan parseJSONList :: Value -> Parser [GroupLinkPlan] omittedField :: Maybe GroupLinkPlan | |
| ToJSON GroupLinkPlan Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: GroupLinkPlan -> Value toEncoding :: GroupLinkPlan -> Encoding toJSONList :: [GroupLinkPlan] -> Value toEncodingList :: [GroupLinkPlan] -> Encoding omitField :: GroupLinkPlan -> Bool | |
| Show GroupLinkPlan Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> GroupLinkPlan -> ShowS show :: GroupLinkPlan -> String showList :: [GroupLinkPlan] -> ShowS | |
connectionPlanProceed :: ConnectionPlan -> Bool Source #
data ForwardConfirmation Source #
Constructors
| FCFilesNotAccepted | |
Fields
| |
| FCFilesInProgress | |
Fields
| |
| FCFilesMissing | |
Fields
| |
| FCFilesFailed | |
Fields
| |
Instances
| FromJSON ForwardConfirmation Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ForwardConfirmation parseJSONList :: Value -> Parser [ForwardConfirmation] omittedField :: Maybe ForwardConfirmation | |
| ToJSON ForwardConfirmation Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: ForwardConfirmation -> Value toEncoding :: ForwardConfirmation -> Encoding toJSONList :: [ForwardConfirmation] -> Value toEncodingList :: [ForwardConfirmation] -> Encoding omitField :: ForwardConfirmation -> Bool | |
| Show ForwardConfirmation Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ForwardConfirmation -> ShowS show :: ForwardConfirmation -> String showList :: [ForwardConfirmation] -> ShowS | |
Instances
| FromJSON UserPwd Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser UserPwd parseJSONList :: Value -> Parser [UserPwd] omittedField :: Maybe UserPwd | |
| ToJSON UserPwd Source # | |
Defined in Simplex.Chat.Controller Methods toEncoding :: UserPwd -> Encoding toJSONList :: [UserPwd] -> Value toEncodingList :: [UserPwd] -> Encoding | |
| Show UserPwd Source # | |
| Eq UserPwd Source # | |
newtype AgentQueueId Source #
Constructors
| AgentQueueId QueueId |
Instances
| FromJSON AgentQueueId Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser AgentQueueId parseJSONList :: Value -> Parser [AgentQueueId] omittedField :: Maybe AgentQueueId | |
| ToJSON AgentQueueId Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: AgentQueueId -> Value toEncoding :: AgentQueueId -> Encoding toJSONList :: [AgentQueueId] -> Value toEncodingList :: [AgentQueueId] -> Encoding omitField :: AgentQueueId -> Bool | |
| Show AgentQueueId Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> AgentQueueId -> ShowS show :: AgentQueueId -> String showList :: [AgentQueueId] -> ShowS | |
| Eq AgentQueueId Source # | |
Defined in Simplex.Chat.Controller | |
| StrEncoding AgentQueueId Source # | |
Defined in Simplex.Chat.Controller Methods strEncode :: AgentQueueId -> ByteString strDecode :: ByteString -> Either String AgentQueueId strP :: Parser AgentQueueId | |
data ArchiveConfig Source #
Constructors
| ArchiveConfig | |
Fields
| |
Instances
| FromJSON ArchiveConfig Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ArchiveConfig parseJSONList :: Value -> Parser [ArchiveConfig] omittedField :: Maybe ArchiveConfig | |
| Show ArchiveConfig Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ArchiveConfig -> ShowS show :: ArchiveConfig -> String showList :: [ArchiveConfig] -> ShowS | |
data DBEncryptionConfig Source #
Constructors
| DBEncryptionConfig | |
Fields
| |
Instances
| FromJSON DBEncryptionConfig Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser DBEncryptionConfig parseJSONList :: Value -> Parser [DBEncryptionConfig] omittedField :: Maybe DBEncryptionConfig | |
| Show DBEncryptionConfig Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> DBEncryptionConfig -> ShowS show :: DBEncryptionConfig -> String showList :: [DBEncryptionConfig] -> ShowS | |
newtype DBEncryptionKey Source #
Constructors
| DBEncryptionKey ScrubbedBytes |
Instances
| FromJSON DBEncryptionKey Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser DBEncryptionKey parseJSONList :: Value -> Parser [DBEncryptionKey] omittedField :: Maybe DBEncryptionKey | |
| IsString DBEncryptionKey Source # | |
Defined in Simplex.Chat.Controller Methods fromString :: String -> DBEncryptionKey | |
| Show DBEncryptionKey Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> DBEncryptionKey -> ShowS show :: DBEncryptionKey -> String showList :: [DBEncryptionKey] -> ShowS | |
| StrEncoding DBEncryptionKey Source # | |
Defined in Simplex.Chat.Controller Methods strEncode :: DBEncryptionKey -> ByteString strDecode :: ByteString -> Either String DBEncryptionKey strP :: Parser DBEncryptionKey | |
data AppFilePathsConfig Source #
Constructors
| AppFilePathsConfig | |
Fields
| |
Instances
| FromJSON AppFilePathsConfig Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser AppFilePathsConfig parseJSONList :: Value -> Parser [AppFilePathsConfig] omittedField :: Maybe AppFilePathsConfig | |
| ToJSON AppFilePathsConfig Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: AppFilePathsConfig -> Value toEncoding :: AppFilePathsConfig -> Encoding toJSONList :: [AppFilePathsConfig] -> Value toEncodingList :: [AppFilePathsConfig] -> Encoding omitField :: AppFilePathsConfig -> Bool | |
| Show AppFilePathsConfig Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> AppFilePathsConfig -> ShowS show :: AppFilePathsConfig -> String showList :: [AppFilePathsConfig] -> ShowS | |
data SimpleNetCfg Source #
Constructors
| SimpleNetCfg | |
Fields
| |
Instances
| Show SimpleNetCfg Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> SimpleNetCfg -> ShowS show :: SimpleNetCfg -> String showList :: [SimpleNetCfg] -> ShowS | |
data ConnSubResult Source #
Constructors
| ConnSubResult | |
Fields
| |
Instances
| FromJSON ConnSubResult Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ConnSubResult parseJSONList :: Value -> Parser [ConnSubResult] omittedField :: Maybe ConnSubResult | |
| ToJSON ConnSubResult Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: ConnSubResult -> Value toEncoding :: ConnSubResult -> Encoding toJSONList :: [ConnSubResult] -> Value toEncodingList :: [ConnSubResult] -> Encoding omitField :: ConnSubResult -> Bool | |
| Show ConnSubResult Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ConnSubResult -> ShowS show :: ConnSubResult -> String showList :: [ConnSubResult] -> ShowS | |
data UserProfileUpdateSummary Source #
Constructors
| UserProfileUpdateSummary | |
Fields
| |
Instances
| FromJSON UserProfileUpdateSummary Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser UserProfileUpdateSummary parseJSONList :: Value -> Parser [UserProfileUpdateSummary] omittedField :: Maybe UserProfileUpdateSummary | |
| ToJSON UserProfileUpdateSummary Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: UserProfileUpdateSummary -> Value toEncoding :: UserProfileUpdateSummary -> Encoding toJSONList :: [UserProfileUpdateSummary] -> Value toEncodingList :: [UserProfileUpdateSummary] -> Encoding omitField :: UserProfileUpdateSummary -> Bool | |
| Show UserProfileUpdateSummary Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> UserProfileUpdateSummary -> ShowS show :: UserProfileUpdateSummary -> String showList :: [UserProfileUpdateSummary] -> ShowS | |
data ComposedMessage Source #
Constructors
| ComposedMessage | |
Fields
| |
Instances
| FromJSON ComposedMessage Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ComposedMessage parseJSONList :: Value -> Parser [ComposedMessage] omittedField :: Maybe ComposedMessage | |
| ToJSON ComposedMessage Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: ComposedMessage -> Value toEncoding :: ComposedMessage -> Encoding toJSONList :: [ComposedMessage] -> Value toEncodingList :: [ComposedMessage] -> Encoding omitField :: ComposedMessage -> Bool | |
| Show ComposedMessage Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ComposedMessage -> ShowS show :: ComposedMessage -> String showList :: [ComposedMessage] -> ShowS | |
data UpdatedMessage Source #
Constructors
| UpdatedMessage | |
Fields
| |
Instances
| FromJSON UpdatedMessage Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser UpdatedMessage parseJSONList :: Value -> Parser [UpdatedMessage] omittedField :: Maybe UpdatedMessage | |
| ToJSON UpdatedMessage Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: UpdatedMessage -> Value toEncoding :: UpdatedMessage -> Encoding toJSONList :: [UpdatedMessage] -> Value toEncodingList :: [UpdatedMessage] -> Encoding omitField :: UpdatedMessage -> Bool | |
| Show UpdatedMessage Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> UpdatedMessage -> ShowS show :: UpdatedMessage -> String showList :: [UpdatedMessage] -> ShowS | |
data ChatTagData Source #
Constructors
| ChatTagData | |
Instances
| FromJSON ChatTagData Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ChatTagData parseJSONList :: Value -> Parser [ChatTagData] omittedField :: Maybe ChatTagData | |
| ToJSON ChatTagData Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: ChatTagData -> Value toEncoding :: ChatTagData -> Encoding toJSONList :: [ChatTagData] -> Value toEncodingList :: [ChatTagData] -> Encoding omitField :: ChatTagData -> Bool | |
| Show ChatTagData Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ChatTagData -> ShowS show :: ChatTagData -> String showList :: [ChatTagData] -> ShowS | |
Constructors
| NtfConn | |
Fields
| |
Instances
| FromJSON NtfConn Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser NtfConn parseJSONList :: Value -> Parser [NtfConn] omittedField :: Maybe NtfConn | |
| ToJSON NtfConn Source # | |
Defined in Simplex.Chat.Controller Methods toEncoding :: NtfConn -> Encoding toJSONList :: [NtfConn] -> Value toEncodingList :: [NtfConn] -> Encoding | |
| Show NtfConn Source # | |
data NtfMsgInfo Source #
Constructors
| NtfMsgInfo | |
Instances
| FromJSON NtfMsgInfo Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser NtfMsgInfo parseJSONList :: Value -> Parser [NtfMsgInfo] omittedField :: Maybe NtfMsgInfo | |
| ToJSON NtfMsgInfo Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: NtfMsgInfo -> Value toEncoding :: NtfMsgInfo -> Encoding toJSONList :: [NtfMsgInfo] -> Value toEncodingList :: [NtfMsgInfo] -> Encoding omitField :: NtfMsgInfo -> Bool | |
| Show NtfMsgInfo Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> NtfMsgInfo -> ShowS show :: NtfMsgInfo -> String showList :: [NtfMsgInfo] -> ShowS | |
data RcvNtfMsgInfo Source #
Constructors
| RNMInfo | |
Fields
| |
| RNMError | |
Fields
| |
Instances
| FromJSON RcvNtfMsgInfo Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser RcvNtfMsgInfo parseJSONList :: Value -> Parser [RcvNtfMsgInfo] omittedField :: Maybe RcvNtfMsgInfo | |
| ToJSON RcvNtfMsgInfo Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: RcvNtfMsgInfo -> Value toEncoding :: RcvNtfMsgInfo -> Encoding toJSONList :: [RcvNtfMsgInfo] -> Value toEncodingList :: [RcvNtfMsgInfo] -> Encoding omitField :: RcvNtfMsgInfo -> Bool | |
| Show RcvNtfMsgInfo Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> RcvNtfMsgInfo -> ShowS show :: RcvNtfMsgInfo -> String showList :: [RcvNtfMsgInfo] -> ShowS | |
receivedMsgInfo :: Either AgentErrorType (Maybe SMPMsgMeta) -> RcvNtfMsgInfo Source #
expectedMsgInfo :: NMsgMeta -> NtfMsgInfo Source #
ntfMsgInfo_ :: MsgId -> SystemTime -> NtfMsgInfo Source #
data NtfMsgAckInfo Source #
Constructors
| NtfMsgAckInfo | |
Instances
| FromJSON NtfMsgAckInfo Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser NtfMsgAckInfo parseJSONList :: Value -> Parser [NtfMsgAckInfo] omittedField :: Maybe NtfMsgAckInfo | |
| ToJSON NtfMsgAckInfo Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: NtfMsgAckInfo -> Value toEncoding :: NtfMsgAckInfo -> Encoding toJSONList :: [NtfMsgAckInfo] -> Value toEncodingList :: [NtfMsgAckInfo] -> Encoding omitField :: NtfMsgAckInfo -> Bool | |
| Show NtfMsgAckInfo Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> NtfMsgAckInfo -> ShowS show :: NtfMsgAckInfo -> String showList :: [NtfMsgAckInfo] -> ShowS | |
ntfMsgAckInfo :: MsgId -> Maybe UTCTime -> NtfMsgAckInfo Source #
crNtfToken :: (DeviceToken, NtfTknStatus, NotificationsMode, NtfServer) -> ChatResponse Source #
data SwitchProgress Source #
Constructors
| SwitchProgress | |
Fields
| |
Instances
| FromJSON SwitchProgress Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser SwitchProgress parseJSONList :: Value -> Parser [SwitchProgress] omittedField :: Maybe SwitchProgress | |
| ToJSON SwitchProgress Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: SwitchProgress -> Value toEncoding :: SwitchProgress -> Encoding toJSONList :: [SwitchProgress] -> Value toEncodingList :: [SwitchProgress] -> Encoding omitField :: SwitchProgress -> Bool | |
| Show SwitchProgress Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> SwitchProgress -> ShowS show :: SwitchProgress -> String showList :: [SwitchProgress] -> ShowS | |
data RatchetSyncProgress Source #
Constructors
| RatchetSyncProgress | |
Fields
| |
Instances
| FromJSON RatchetSyncProgress Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser RatchetSyncProgress parseJSONList :: Value -> Parser [RatchetSyncProgress] omittedField :: Maybe RatchetSyncProgress | |
| ToJSON RatchetSyncProgress Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: RatchetSyncProgress -> Value toEncoding :: RatchetSyncProgress -> Encoding toJSONList :: [RatchetSyncProgress] -> Value toEncodingList :: [RatchetSyncProgress] -> Encoding omitField :: RatchetSyncProgress -> Bool | |
| Show RatchetSyncProgress Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> RatchetSyncProgress -> ShowS show :: RatchetSyncProgress -> String showList :: [RatchetSyncProgress] -> ShowS | |
data ParsedServerAddress Source #
Constructors
| ParsedServerAddress | |
Fields
| |
Instances
| FromJSON ParsedServerAddress Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ParsedServerAddress parseJSONList :: Value -> Parser [ParsedServerAddress] omittedField :: Maybe ParsedServerAddress | |
| ToJSON ParsedServerAddress Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: ParsedServerAddress -> Value toEncoding :: ParsedServerAddress -> Encoding toJSONList :: [ParsedServerAddress] -> Value toEncodingList :: [ParsedServerAddress] -> Encoding omitField :: ParsedServerAddress -> Bool | |
| Show ParsedServerAddress Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ParsedServerAddress -> ShowS show :: ParsedServerAddress -> String showList :: [ParsedServerAddress] -> ShowS | |
data ServerAddress Source #
Constructors
| ServerAddress | |
Fields
| |
Instances
| FromJSON ServerAddress Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ServerAddress parseJSONList :: Value -> Parser [ServerAddress] omittedField :: Maybe ServerAddress | |
| ToJSON ServerAddress Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: ServerAddress -> Value toEncoding :: ServerAddress -> Encoding toJSONList :: [ServerAddress] -> Value toEncodingList :: [ServerAddress] -> Encoding omitField :: ServerAddress -> Bool | |
| Show ServerAddress Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ServerAddress -> ShowS show :: ServerAddress -> String showList :: [ServerAddress] -> ShowS | |
data TimedMessagesEnabled Source #
Constructors
| TMEEnableSetTTL Int | |
| TMEEnableKeepTTL | |
| TMEDisableKeepTTL |
Instances
| Show TimedMessagesEnabled Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> TimedMessagesEnabled -> ShowS show :: TimedMessagesEnabled -> String showList :: [TimedMessagesEnabled] -> ShowS | |
tmeToPref :: Maybe Int -> TimedMessagesEnabled -> TimedMessagesPreference Source #
data ChatItemDeletion Source #
Constructors
| ChatItemDeletion | |
Fields
| |
Instances
| FromJSON ChatItemDeletion Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ChatItemDeletion parseJSONList :: Value -> Parser [ChatItemDeletion] omittedField :: Maybe ChatItemDeletion | |
| ToJSON ChatItemDeletion Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: ChatItemDeletion -> Value toEncoding :: ChatItemDeletion -> Encoding toJSONList :: [ChatItemDeletion] -> Value toEncodingList :: [ChatItemDeletion] -> Encoding omitField :: ChatItemDeletion -> Bool | |
| Show ChatItemDeletion Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ChatItemDeletion -> ShowS show :: ChatItemDeletion -> String showList :: [ChatItemDeletion] -> ShowS | |
data ChatLogLevel Source #
Constructors
| CLLDebug | |
| CLLInfo | |
| CLLWarning | |
| CLLError | |
| CLLImportant |
Instances
| Show ChatLogLevel Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ChatLogLevel -> ShowS show :: ChatLogLevel -> String showList :: [ChatLogLevel] -> ShowS | |
| Eq ChatLogLevel Source # | |
Defined in Simplex.Chat.Controller | |
| Ord ChatLogLevel Source # | |
Defined in Simplex.Chat.Controller Methods compare :: ChatLogLevel -> ChatLogLevel -> Ordering (<) :: ChatLogLevel -> ChatLogLevel -> Bool (<=) :: ChatLogLevel -> ChatLogLevel -> Bool (>) :: ChatLogLevel -> ChatLogLevel -> Bool (>=) :: ChatLogLevel -> ChatLogLevel -> Bool max :: ChatLogLevel -> ChatLogLevel -> ChatLogLevel min :: ChatLogLevel -> ChatLogLevel -> ChatLogLevel | |
data CoreVersionInfo Source #
Constructors
| CoreVersionInfo | |
Fields
| |
Instances
| FromJSON CoreVersionInfo Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser CoreVersionInfo parseJSONList :: Value -> Parser [CoreVersionInfo] omittedField :: Maybe CoreVersionInfo | |
| ToJSON CoreVersionInfo Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: CoreVersionInfo -> Value toEncoding :: CoreVersionInfo -> Encoding toJSONList :: [CoreVersionInfo] -> Value toEncodingList :: [CoreVersionInfo] -> Encoding omitField :: CoreVersionInfo -> Bool | |
| Show CoreVersionInfo Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> CoreVersionInfo -> ShowS show :: CoreVersionInfo -> String showList :: [CoreVersionInfo] -> ShowS | |
data SlowSQLQuery Source #
Constructors
| SlowSQLQuery | |
Fields
| |
Instances
| FromJSON SlowSQLQuery Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser SlowSQLQuery parseJSONList :: Value -> Parser [SlowSQLQuery] omittedField :: Maybe SlowSQLQuery | |
| ToJSON SlowSQLQuery Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: SlowSQLQuery -> Value toEncoding :: SlowSQLQuery -> Encoding toJSONList :: [SlowSQLQuery] -> Value toEncodingList :: [SlowSQLQuery] -> Encoding omitField :: SlowSQLQuery -> Bool | |
| Show SlowSQLQuery Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> SlowSQLQuery -> ShowS show :: SlowSQLQuery -> String showList :: [SlowSQLQuery] -> ShowS | |
Constructors
| ChatError | |
Fields | |
| ChatErrorAgent | |
Fields
| |
| ChatErrorStore | |
Fields | |
| ChatErrorDatabase | |
Fields | |
| ChatErrorRemoteCtrl | |
Fields | |
| ChatErrorRemoteHost | |
Fields | |
Instances
| FromJSON ChatError Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ChatError parseJSONList :: Value -> Parser [ChatError] omittedField :: Maybe ChatError | |
| ToJSON ChatError Source # | |
Defined in Simplex.Chat.Controller Methods toEncoding :: ChatError -> Encoding toJSONList :: [ChatError] -> Value toEncodingList :: [ChatError] -> Encoding | |
| Exception ChatError Source # | |
Defined in Simplex.Chat.Controller Methods toException :: ChatError -> SomeException fromException :: SomeException -> Maybe ChatError displayException :: ChatError -> String | |
| Show ChatError Source # | |
| AnyError ChatError Source # | |
Defined in Simplex.Chat.Controller Methods fromSomeException :: SomeException -> ChatError | |
data ChatErrorType Source #
Constructors
Instances
| FromJSON ChatErrorType Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ChatErrorType parseJSONList :: Value -> Parser [ChatErrorType] omittedField :: Maybe ChatErrorType | |
| ToJSON ChatErrorType Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: ChatErrorType -> Value toEncoding :: ChatErrorType -> Encoding toJSONList :: [ChatErrorType] -> Value toEncodingList :: [ChatErrorType] -> Encoding omitField :: ChatErrorType -> Bool | |
| Exception ChatErrorType Source # | |
Defined in Simplex.Chat.Controller Methods toException :: ChatErrorType -> SomeException fromException :: SomeException -> Maybe ChatErrorType displayException :: ChatErrorType -> String | |
| Show ChatErrorType Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ChatErrorType -> ShowS show :: ChatErrorType -> String showList :: [ChatErrorType] -> ShowS | |
data DatabaseError Source #
Constructors
| DBErrorEncrypted | |
| DBErrorPlaintext | |
| DBErrorNoFile | |
Fields
| |
| DBErrorExport | |
Fields | |
| DBErrorOpen | |
Fields | |
Instances
| FromJSON DatabaseError Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser DatabaseError parseJSONList :: Value -> Parser [DatabaseError] omittedField :: Maybe DatabaseError | |
| ToJSON DatabaseError Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: DatabaseError -> Value toEncoding :: DatabaseError -> Encoding toJSONList :: [DatabaseError] -> Value toEncodingList :: [DatabaseError] -> Encoding omitField :: DatabaseError -> Bool | |
| Exception DatabaseError Source # | |
Defined in Simplex.Chat.Controller Methods toException :: DatabaseError -> SomeException fromException :: SomeException -> Maybe DatabaseError displayException :: DatabaseError -> String | |
| Show DatabaseError Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> DatabaseError -> ShowS show :: DatabaseError -> String showList :: [DatabaseError] -> ShowS | |
data SQLiteError Source #
Constructors
| SQLiteErrorNotADatabase | |
| SQLiteError | |
Fields
| |
Instances
| FromJSON SQLiteError Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser SQLiteError parseJSONList :: Value -> Parser [SQLiteError] omittedField :: Maybe SQLiteError | |
| ToJSON SQLiteError Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: SQLiteError -> Value toEncoding :: SQLiteError -> Encoding toJSONList :: [SQLiteError] -> Value toEncodingList :: [SQLiteError] -> Encoding omitField :: SQLiteError -> Bool | |
| Exception SQLiteError Source # | |
Defined in Simplex.Chat.Controller Methods toException :: SQLiteError -> SomeException fromException :: SomeException -> Maybe SQLiteError displayException :: SQLiteError -> String | |
| Show SQLiteError Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> SQLiteError -> ShowS show :: SQLiteError -> String showList :: [SQLiteError] -> ShowS | |
throwDBError :: DatabaseError -> CM () Source #
data RemoteHostError Source #
Constructors
| RHEMissing | |
| RHEInactive | |
| RHEBusy | |
| RHETimeout | |
| RHEBadState | |
| RHEBadVersion | |
Fields | |
| RHELocalCommand | |
| RHEDisconnected | |
Fields
| |
| RHEProtocolError RemoteProtocolError | |
Instances
| FromJSON RemoteHostError Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser RemoteHostError parseJSONList :: Value -> Parser [RemoteHostError] omittedField :: Maybe RemoteHostError | |
| ToJSON RemoteHostError Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: RemoteHostError -> Value toEncoding :: RemoteHostError -> Encoding toJSONList :: [RemoteHostError] -> Value toEncodingList :: [RemoteHostError] -> Encoding omitField :: RemoteHostError -> Bool | |
| Exception RemoteHostError Source # | |
Defined in Simplex.Chat.Controller Methods toException :: RemoteHostError -> SomeException fromException :: SomeException -> Maybe RemoteHostError displayException :: RemoteHostError -> String | |
| Show RemoteHostError Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> RemoteHostError -> ShowS show :: RemoteHostError -> String showList :: [RemoteHostError] -> ShowS | |
data RemoteHostStopReason Source #
Constructors
| RHSRConnectionFailed | |
| RHSRCrashed | |
| RHSRDisconnected | |
Instances
| FromJSON RemoteHostStopReason Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser RemoteHostStopReason parseJSONList :: Value -> Parser [RemoteHostStopReason] omittedField :: Maybe RemoteHostStopReason | |
| ToJSON RemoteHostStopReason Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: RemoteHostStopReason -> Value toEncoding :: RemoteHostStopReason -> Encoding toJSONList :: [RemoteHostStopReason] -> Value toEncodingList :: [RemoteHostStopReason] -> Encoding omitField :: RemoteHostStopReason -> Bool | |
| Exception RemoteHostStopReason Source # | |
Defined in Simplex.Chat.Controller Methods toException :: RemoteHostStopReason -> SomeException fromException :: SomeException -> Maybe RemoteHostStopReason displayException :: RemoteHostStopReason -> String | |
| Show RemoteHostStopReason Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> RemoteHostStopReason -> ShowS show :: RemoteHostStopReason -> String showList :: [RemoteHostStopReason] -> ShowS | |
data RemoteCtrlError Source #
Constructors
| RCEInactive | |
| RCEBadState | |
| RCEBusy | |
| RCETimeout | |
| RCENoKnownControllers | |
| RCEBadController | |
| RCEDisconnected | A session disconnected by a controller |
Fields
| |
| RCEBadInvitation | |
| RCEBadVersion | |
Fields | |
| RCEHTTP2Error | |
Fields
| |
| RCEProtocolError | |
Fields | |
Instances
| FromJSON RemoteCtrlError Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser RemoteCtrlError parseJSONList :: Value -> Parser [RemoteCtrlError] omittedField :: Maybe RemoteCtrlError | |
| ToJSON RemoteCtrlError Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: RemoteCtrlError -> Value toEncoding :: RemoteCtrlError -> Encoding toJSONList :: [RemoteCtrlError] -> Value toEncodingList :: [RemoteCtrlError] -> Encoding omitField :: RemoteCtrlError -> Bool | |
| Exception RemoteCtrlError Source # | |
Defined in Simplex.Chat.Controller Methods toException :: RemoteCtrlError -> SomeException fromException :: SomeException -> Maybe RemoteCtrlError displayException :: RemoteCtrlError -> String | |
| Show RemoteCtrlError Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> RemoteCtrlError -> ShowS show :: RemoteCtrlError -> String showList :: [RemoteCtrlError] -> ShowS | |
data RemoteCtrlStopReason Source #
Instances
| FromJSON RemoteCtrlStopReason Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser RemoteCtrlStopReason parseJSONList :: Value -> Parser [RemoteCtrlStopReason] omittedField :: Maybe RemoteCtrlStopReason | |
| ToJSON RemoteCtrlStopReason Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: RemoteCtrlStopReason -> Value toEncoding :: RemoteCtrlStopReason -> Encoding toJSONList :: [RemoteCtrlStopReason] -> Value toEncodingList :: [RemoteCtrlStopReason] -> Encoding omitField :: RemoteCtrlStopReason -> Bool | |
| Exception RemoteCtrlStopReason Source # | |
Defined in Simplex.Chat.Controller Methods toException :: RemoteCtrlStopReason -> SomeException fromException :: SomeException -> Maybe RemoteCtrlStopReason displayException :: RemoteCtrlStopReason -> String | |
| Show RemoteCtrlStopReason Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> RemoteCtrlStopReason -> ShowS show :: RemoteCtrlStopReason -> String showList :: [RemoteCtrlStopReason] -> ShowS | |
data ArchiveError Source #
Constructors
| AEImport | |
Fields
| |
| AEFileError | |
Instances
| FromJSON ArchiveError Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser ArchiveError parseJSONList :: Value -> Parser [ArchiveError] omittedField :: Maybe ArchiveError | |
| ToJSON ArchiveError Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: ArchiveError -> Value toEncoding :: ArchiveError -> Encoding toJSONList :: [ArchiveError] -> Value toEncodingList :: [ArchiveError] -> Encoding omitField :: ArchiveError -> Bool | |
| Exception ArchiveError Source # | |
Defined in Simplex.Chat.Controller Methods toException :: ArchiveError -> SomeException fromException :: SomeException -> Maybe ArchiveError displayException :: ArchiveError -> String | |
| Show ArchiveError Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> ArchiveError -> ShowS show :: ArchiveError -> String showList :: [ArchiveError] -> ShowS | |
data RemoteCtrlSession Source #
Host (mobile) side of transport to process remote commands and forward notifications
Constructors
| RCSessionStarting | |
| RCSessionSearching | |
Fields
| |
| RCSessionConnecting | |
Fields
| |
| RCSessionPendingConfirmation | |
Fields
| |
| RCSessionConnected | |
Fields
| |
data RemoteCtrlSessionState Source #
Constructors
| RCSStarting | |
| RCSSearching | |
| RCSConnecting | |
| RCSPendingConfirmation | |
Fields
| |
| RCSConnected | |
Fields
| |
Instances
| FromJSON RemoteCtrlSessionState Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser RemoteCtrlSessionState parseJSONList :: Value -> Parser [RemoteCtrlSessionState] omittedField :: Maybe RemoteCtrlSessionState | |
| ToJSON RemoteCtrlSessionState Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: RemoteCtrlSessionState -> Value toEncoding :: RemoteCtrlSessionState -> Encoding toJSONList :: [RemoteCtrlSessionState] -> Value toEncodingList :: [RemoteCtrlSessionState] -> Encoding omitField :: RemoteCtrlSessionState -> Bool | |
| Show RemoteCtrlSessionState Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> RemoteCtrlSessionState -> ShowS show :: RemoteCtrlSessionState -> String showList :: [RemoteCtrlSessionState] -> ShowS | |
data RemoteCtrlInfo Source #
UI-accessible remote controller information
Constructors
| RemoteCtrlInfo | |
Fields
| |
Instances
| FromJSON RemoteCtrlInfo Source # | |
Defined in Simplex.Chat.Controller Methods parseJSON :: Value -> Parser RemoteCtrlInfo parseJSONList :: Value -> Parser [RemoteCtrlInfo] omittedField :: Maybe RemoteCtrlInfo | |
| ToJSON RemoteCtrlInfo Source # | |
Defined in Simplex.Chat.Controller Methods toJSON :: RemoteCtrlInfo -> Value toEncoding :: RemoteCtrlInfo -> Encoding toJSONList :: [RemoteCtrlInfo] -> Value toEncodingList :: [RemoteCtrlInfo] -> Encoding omitField :: RemoteCtrlInfo -> Bool | |
| Show RemoteCtrlInfo Source # | |
Defined in Simplex.Chat.Controller Methods showsPrec :: Int -> RemoteCtrlInfo -> ShowS show :: RemoteCtrlInfo -> String showList :: [RemoteCtrlInfo] -> ShowS | |
type CM' a = ReaderT ChatController IO a Source #
type CM a = ExceptT ChatError (ReaderT ChatController IO) a Source #
chatReadVar :: (ChatController -> TVar a) -> CM a Source #
chatReadVar' :: (ChatController -> TVar a) -> CM' a Source #
chatWriteVar :: (ChatController -> TVar a) -> a -> CM () Source #
chatWriteVar' :: (ChatController -> TVar a) -> a -> CM' () Source #
chatModifyVar :: (ChatController -> TVar a) -> (a -> a) -> CM () Source #
chatModifyVar' :: (ChatController -> TVar a) -> (a -> a) -> CM' () Source #
throwCmdError :: String -> CM a Source #
chatCmdError :: String -> Either ChatError ChatResponse Source #
throwChatError :: ChatErrorType -> CM a Source #
toViewTE :: TerminalEvent -> CM () Source #
withStore' :: (Connection -> IO a) -> CM a Source #
withFastStore' :: (Connection -> IO a) -> CM a Source #
withStore :: (Connection -> ExceptT StoreError IO a) -> CM a Source #
withFastStore :: (Connection -> ExceptT StoreError IO a) -> CM a Source #
withStorePriority :: Bool -> (Connection -> ExceptT StoreError IO a) -> CM a Source #
withStoreBatch :: Traversable t => (Connection -> t (IO (Either ChatError a))) -> CM' (t (Either ChatError a)) Source #
handleDBErrors :: [Handler (Either ChatError a)] Source #
withStoreBatch' :: Traversable t => (Connection -> t (IO a)) -> CM' (t (Either ChatError a)) Source #
withAgent' :: (AgentClient -> IO a) -> CM' a Source #