Uniform Chat
  • Uniform.Matrix
  • API
Search Results for

    Show / Hide Table of Contents
    • LiveKit.Proto
      • ActiveSpeakerUpdate
      • AddTrackRequest
      • AudioCodec
      • AudioTrackFeature
      • BackupCodecPolicy
      • CandidateProtocol
      • ChatMessage
      • ClientConfigSetting
      • ClientConfiguration
      • ClientInfo
      • ClientInfo.Types
      • ClientInfo.Types.Capability
      • ClientInfo.Types.SDK
      • Codec
      • ConnectionQuality
      • ConnectionQualityInfo
      • ConnectionQualityUpdate
      • ConnectionSettings
      • DataBlob
      • DataBlobKey
      • DataBlobKey.KeyOneofCase
      • DataChannelInfo
      • DataChannelReceiveState
      • DataPacket
      • DataPacket.Types
      • DataPacket.Types.Kind
      • DataPacket.ValueOneofCase
      • DataStream
      • DataStream.Types
      • DataStream.Types.ByteHeader
      • DataStream.Types.Chunk
      • DataStream.Types.CompressionType
      • DataStream.Types.Header
      • DataStream.Types.Header.ContentHeaderOneofCase
      • DataStream.Types.OperationType
      • DataStream.Types.TextHeader
      • DataStream.Types.Trailer
      • DataTrackExtensionID
      • DataTrackExtensionParticipantSid
      • DataTrackFrameEncoding
      • DataTrackFrameEncoding.Types
      • DataTrackFrameEncoding.Types.WellKnownFrameEncoding
      • DataTrackFrameEncoding.ValueOneofCase
      • DataTrackInfo
      • DataTrackSchemaEncoding
      • DataTrackSchemaEncoding.Types
      • DataTrackSchemaEncoding.Types.WellKnownSchemaEncoding
      • DataTrackSchemaEncoding.ValueOneofCase
      • DataTrackSchemaId
      • DataTrackSubscriberHandles
      • DataTrackSubscriberHandles.Types
      • DataTrackSubscriberHandles.Types.PublishedDataTrack
      • DataTrackSubscriptionOptions
      • DependencyDescriptorForwarderState
      • DisabledCodecs
      • DisconnectReason
      • EncryptedPacket
      • EncryptedPacketPayload
      • EncryptedPacketPayload.ValueOneofCase
      • Encryption
      • Encryption.Types
      • Encryption.Types.Type
      • EventMetric
      • FilterParams
      • GetDataBlobRequest
      • GetDataBlobResponse
      • ICEServer
      • ImageCodec
      • JoinRequest
      • JoinResponse
      • LeaveRequest
      • LeaveRequest.Types
      • LeaveRequest.Types.Action
      • ListUpdate
      • LivekitMetricsReflection
      • LivekitModelsReflection
      • LivekitRtcReflection
      • MediaSectionsRequirement
      • MetricLabel
      • MetricSample
      • MetricsBatch
      • MetricsRecordingHeader
      • MuteTrackRequest
      • NegotiatedDataChannelID
      • OptionsExtensions
      • OptionsReflection
      • PacketTrailerFeature
      • Pagination
      • ParticipantInfo
      • ParticipantInfo.Types
      • ParticipantInfo.Types.Kind
      • ParticipantInfo.Types.KindDetail
      • ParticipantInfo.Types.State
      • ParticipantPermission
      • ParticipantTracks
      • ParticipantUpdate
      • Ping
      • PlayoutDelay
      • Pong
      • PublishDataTrackRequest
      • PublishDataTrackResponse
      • RTCPSenderReportState
      • RTPDrift
      • RTPForwarderState
      • RTPForwarderState.CodecMungerOneofCase
      • RTPMungerState
      • RTPStats
      • ReconnectReason
      • ReconnectResponse
      • RegionInfo
      • RegionSettings
      • RequestResponse
      • RequestResponse.RequestOneofCase
      • RequestResponse.Types
      • RequestResponse.Types.Reason
      • Room
      • RoomEndReason
      • RoomMovedResponse
      • RoomUpdate
      • RpcAck
      • RpcError
      • RpcRequest
      • RpcResponse
      • RpcResponse.ValueOneofCase
      • Sensitivity
      • ServerInfo
      • ServerInfo.Types
      • ServerInfo.Types.Edition
      • SessionDescription
      • SignalRequest
      • SignalRequest.MessageOneofCase
      • SignalResponse
      • SignalResponse.MessageOneofCase
      • SignalTarget
      • SimulateScenario
      • SimulateScenario.ScenarioOneofCase
      • SimulcastCodec
      • SimulcastCodecInfo
      • SipDTMF
      • SpeakerInfo
      • SpeakersChanged
      • StoreDataBlobRequest
      • StoreDataBlobResponse
      • StreamState
      • StreamStateInfo
      • StreamStateUpdate
      • SubscribedAudioCodec
      • SubscribedAudioCodecUpdate
      • SubscribedCodec
      • SubscribedQuality
      • SubscribedQualityUpdate
      • SubscriptionError
      • SubscriptionPermission
      • SubscriptionPermissionUpdate
      • SubscriptionResponse
      • SyncState
      • TimeSeriesMetric
      • TimedVersion
      • TokenPagination
      • TrackInfo
      • TrackPermission
      • TrackPublishedResponse
      • TrackSource
      • TrackSubscribed
      • TrackType
      • TrackUnpublishedResponse
      • Transcription
      • TranscriptionSegment
      • TrickleRequest
      • UnpublishDataTrackRequest
      • UnpublishDataTrackResponse
      • UpdateDataSubscription
      • UpdateDataSubscription.Types
      • UpdateDataSubscription.Types.Update
      • UpdateLocalAudioTrack
      • UpdateLocalVideoTrack
      • UpdateParticipantMetadata
      • UpdateSubscription
      • UpdateTrackSettings
      • UpdateVideoLayers
      • UserPacket
      • VP8MungerState
      • VideoCodec
      • VideoConfiguration
      • VideoLayer
      • VideoLayer.Types
      • VideoLayer.Types.Mode
      • VideoQuality
      • WebhookConfig
      • WrappedJoinRequest
      • WrappedJoinRequest.Types
      • WrappedJoinRequest.Types.Compression
    • Uniform.Chat.Avalonia
      • App
      • ClipboardFile
      • GuiPlatform
    • Uniform.Chat.Avalonia.Services
      • AccountCreator
      • AccountMemory
      • AvaloniaUiDispatcher
      • ClientConnection
      • IAccountCreator
      • INotifier
      • IPushService
      • IUiDispatcher
      • PasswordRequiredException
      • PushDistributor
      • PushRegistration
      • ShareInbox
      • SharedContent
      • SharedFile
      • SignIn
    • Uniform.Chat.Avalonia.ViewModels
      • ActionSheetViewModel
      • AdminAccountItem
      • AdminReportItem
      • AdminSection
      • AdminTokenItem
      • AdminViewModel
      • AppTheme
      • AudioTestViewModel
      • CallViewModel
      • ChatViewModel
      • ConnectingViewModel
      • DeviceItem
      • DirectoryViewModel
      • LicenseEntry
      • LicensesViewModel
      • LogFileItem
      • LoginViewModel
      • LogsViewModel
      • MainViewModel
      • MemberItem
      • MessageKind
      • MessageList
      • MessageViewModel
      • PublicRoomItem
      • RoomItemViewModel
      • SecurityViewModel
      • SettingsViewModel
      • SheetAction
      • SheetDetail
      • StatusLine
      • VerificationViewModel
      • VideoFeed
      • ViewModelBase
    • Uniform.Chat.Avalonia.Views
      • ActionSheetView
      • AdminView
      • ChatView
      • ConnectingView
      • DirectoryView
      • LicensesView
      • LinkClickedEventArgs
      • LoginView
      • MainView
      • MainWindow
      • RichText
      • SecurityView
      • SenderColorConverter
      • SettingsView
      • TextScale
      • VerificationView
      • VideoView
    • Uniform.Chat.Desktop
      • Program
    • Uniform.Chat.Desktop.Cameras
      • EncodingCamera
      • MediaFoundationCamera
      • V4l2Camera
    • Uniform.Chat.Desktop.Notifications
      • FreeDesktopNotifier
    • Uniform.Chat.Server
      • ServerHostOptions
      • UiMode
    • Uniform.Chat.Server.Management
      • HttpServerAdmin
      • IServerAdmin
      • LocalServerAdmin
      • ServerSnapshot
    • Uniform.Chat.Server.Ui
      • AdminWindow<T>
      • DashboardOptions
      • ReportsWindow
      • RoomsWindow
      • ServerWindow
      • UsersWindow
    • Uniform.Chat.Terminal.Configuration
      • AudioOptions
      • UiOptions
    • Uniform.Chat.Terminal.Ui
      • ClientDialogs
      • DroppedFiles
      • EntryKind
      • MainWindow
      • MessageFormatter
      • TimelineEntry
      • TimelinePane
      • TuiCredentialPrompt
    • Uniform.Chat.Terminal.Ui.Images
      • AsciiArt
      • DecodedImage
      • ImagePreviewStyle
    • Uniform.LiveKit
      • FrameCryptor
      • FrameKind
      • LiveKitMedia
      • LiveKitRoom
      • LiveKitRoomOptions
      • LiveKitRoomService
      • LiveKitSignalClient
      • MatrixRtcAuthorizationClient
    • Uniform.LiveKit.Authorization
      • AuthorizationException
      • DelayedLeaveKeeper
      • FederationOpenIdVerifier
      • HomeserverDelayedEvents
      • IDelayedEvents
      • IOpenIdVerifier
      • IRoomMembership
      • LiveKitAuthorizer
      • LiveKitAuthorizerOptions
    • Uniform.LiveKit.Hosting
      • LiveKitHostingExtensions
      • LiveKitOptions
    • Uniform.LiveKit.Protocol
      • AccessToken
      • AuthorizationError
      • CallMember
      • DelayedLeave
      • LegacySfuRequest
      • MatrixRtcNames
      • OpenIdToken
      • SfuResponse
      • TokenRequest
      • VideoGrant
    • Uniform.Matrix.Audio
      • AlsaAudioDevices
      • AudioDevice
      • AudioDevices
      • IAudioDevices
      • MicrophoneFrames
      • RingTone
      • SpeakerFrames
      • VoiceDecoder
      • VoiceEncoder
      • VoiceFormat
      • VoiceLoopback
      • WasapiAudioDevices
    • Uniform.Matrix.Calls
      • CallEventSender
      • CallService
      • CallState
      • IVideoCamera
      • LegacyCall
      • RtcCall
      • VideoReceiver
      • VoiceCall
      • VoiceMedia
    • Uniform.Matrix.Client
      • ClientServiceExtensions
      • EncryptedMedia
      • MatrixKeyTransport
      • MimeTypes
    • Uniform.Matrix.Client.Configuration
      • AccountPaths
      • MatrixOptions
      • StorageOptions
    • Uniform.Matrix.Client.Formatting
      • EventText
      • HtmlText
      • MarkdownComposer
    • Uniform.Matrix.Client.Migrations
      • AddEventLines
      • InitialCreate
    • Uniform.Matrix.Client.Services
      • AccountRegistration
      • ClientSession
      • ConnectionState
      • ConnectionStatus
      • CryptoService
      • EncryptionUnavailableException
      • ICredentialPrompt
      • MatrixWorker
      • MediaCache
      • NetworkMonitor
      • OutboxSender
      • SyncProcessor
    • Uniform.Matrix.Client.State
      • Room
      • RoomMemberInfo
      • RoomStore
      • SyncChanges
      • TimelineBatch
    • Uniform.Matrix.Client.Storage
      • ClientDbContext
      • ClientStore
      • CryptoAccountRow
      • CryptoDeviceListRow
      • CryptoInboundGroupSessionRow
      • CryptoOlmSessionRow
      • CryptoOutboundGroupSessionRow
      • CryptoValueRow
      • DesignTimeClientDbContextFactory
      • EfCryptoStore
      • OutboxMessage
      • OutboxState
      • RoomLines
      • StoredAccount
      • StoredEvent
      • StoredMedia
    • Uniform.Matrix.Gui.Terminal
      • Dialogs
      • LogWindow
      • SettingsWindow
      • TextWrapper
    • Uniform.Matrix.Hosting
      • AppDirectories
      • AppVersion
      • AppliedConfigurationProvider
      • AppliedConfigurationSource
      • FileLoggerProvider
      • HostingExtensions
      • ISettingsStore
      • LogEntry
      • LogFileInfo
      • LogFiles
      • OptionCatalog
      • OptionChange
      • OptionInfo
      • OptionSection
      • RestartRequiredAttribute
      • SecretAttribute
      • SettingsEditor
      • SettingsStore
    • Uniform.Matrix.Protocol.Client
      • HomeserverDiscovery
      • MatrixClient
      • MatrixSession
      • MediaDownload
      • RegistrationRequirements
      • UserInteractiveAuthException
    • Uniform.Matrix.Protocol.Core
      • AdminAccount
      • AdminAccountsResponse
      • AdminRegistrationToken
      • AdminRegistrationTokensResponse
      • AdminReport
      • AdminReportsResponse
      • AdminRoomInfo
      • AdminRoomShutdown
      • AdminRoomsResponse
      • AuthFlow
      • AuthTypes
      • Base64
      • CallAnswerContent
      • CallCandidate
      • CallCandidatesContent
      • CallContent
      • CallEncryptionKeysContent
      • CallHangupContent
      • CallInviteContent
      • CallKeyMember
      • CallMediaKey
      • CallMemberContent
      • CallNegotiateContent
      • CallRejectContent
      • CallSelectAnswerContent
      • CallSessionDescription
      • CanonicalAliasContent
      • CanonicalJson
      • ClientEvent
      • ContextResponse
      • CreateContent
      • CreateMediaResponse
      • CreateRoomRequest
      • CrossSigningKey
      • CrossSigningUsages
      • DelayedEventResponse
      • Device
      • DeviceKeys
      • DeviceLists
      • DevicesResponse
      • DirectContent
      • Direction
      • EncryptedContent
      • EncryptedFile
      • EncryptionAlgorithms
      • EncryptionContent
      • ErrorCodes
      • ErrorResponse
      • EventFilter
      • EventIdResponse
      • EventList<T>
      • EventTypes
      • ExceptionText
      • Filter
      • FilterIdResponse
      • FullyReadContent
      • IgnoredUserListContent
      • InReplyTo
      • InitialStateEvent
      • InvitedRoom
      • JoinedMembersResponse
      • JoinedRoom
      • JoinedRoomsResponse
      • JsonWebKey
      • KeyBackupAlgorithms
      • KeyBackupData
      • KeyBackupVersion
      • KeysBackup
      • KeysClaimResponse
      • KeysQueryResponse
      • KeysUploadResponse
      • KnockedRoom
      • LeftRoom
      • LoginFlow
      • LoginFlowsResponse
      • LoginResponse
      • MatrixEvent
      • MatrixException
      • MatrixJson
      • MatrixLink
      • MediaInfo
      • MemberContent
      • MembersResponse
      • Memberships
      • Mentions
      • MessageContent
      • MessageFormats
      • MessageTypes
      • MessagesResponse
      • MxcUri
      • NameContent
      • OpenIdTokenResponse
      • PasswordLoginRequest
      • PowerLevelsContent
      • PresenceContent
      • PresenceEvent
      • PresenceStates
      • ProfileResponse
      • PublicRoom
      • PublicRoomsResponse
      • ReactionContent
      • ReceiptContent
      • ReceiptInfo
      • ReceiptTypes
      • RedactionContent
      • RegisterRequest
      • RegisterResponse
      • Relation
      • RelationTypes
      • RoomAliasResponse
      • RoomAliasesResponse
      • RoomAvatarContent
      • RoomEventFilter
      • RoomFilter
      • RoomIdResponse
      • RoomKeyBackup
      • RoomKeyContent
      • RoomMember
      • RoomPresets
      • RoomSummary
      • RoomTags
      • RtcDeclineContent
      • RtcFocusActive
      • RtcNotificationContent
      • RtcTransport
      • RtcTransportsResponse
      • StringOrNumberConverter
      • StrippedStateEvent
      • SyncResponse
      • SyncRooms
      • TagContent
      • TagInfo
      • TermsPolicy
      • Timeline
      • ToDeviceEvent
      • TopicContent
      • TurnServerResponse
      • TypingContent
      • UnreadNotificationCounts
      • UnsignedData
      • UploadResponse
      • UserDirectoryEntry
      • UserDirectoryResponse
      • UserId
      • UserIdentifier
      • UserInteractiveAuthResponse
      • VerificationRequestContent
      • VersionsResponse
      • WellKnownClient
      • WellKnownServer
      • WhoAmIResponse
      • WhoisConnection
      • WhoisDevice
      • WhoisResponse
      • WhoisSession
    • Uniform.Matrix.Protocol.Crypto
      • AccountRecord
      • AesCtr
      • AttachmentCrypto
      • AttachmentKeys
      • DecryptedToDeviceEvent
      • DecryptionStatus
      • DeviceInfo
      • DeviceListRecord
      • DeviceTrust
      • Ed25519
      • EncryptedAttachments
      • EncryptedSecret
      • EstablishedSas
      • ICryptoStore
      • IKeyTransport
      • IdentityKeys
      • InMemoryCryptoStore
      • InboundGroupSessionRecord
      • MegolmInboundSession
      • MegolmOutboundSession
      • MegolmPlaintext
      • OlmAccount
      • OlmException
      • OlmMachine
      • OlmMessage
      • OlmSession
      • OlmSessionRecord
      • OutboundGroupSessionRecord
      • PassphraseInfo
      • PkEncryption
      • PkMessage
      • RecoveryResult
      • RoomEventDecryption
      • Sas
      • SasEmoji
      • SecretNames
      • SecretStorage
      • SecretStorageCrypto
      • SecretStorageKeyDescription
      • SecurityStatus
      • UserIdentity
      • Verification
      • VerificationState
    • Uniform.Matrix.Protocol.Server
      • AuthEventTypes
      • AuthEvents
      • AuthRules
      • DnsSrv
      • EventFormat
      • FederationAuth
      • PowerLevels
      • PushContext
      • PushDecision
      • PushRules
      • RedactionRules
      • RoomVersion
      • ServerAcl
      • ServerNames
      • SrvRecord
      • StateResolution
      • XMatrixAuthorization
    • Uniform.Matrix.Server
      • ServerServiceExtensions
      • ServerStatus
    • Uniform.Matrix.Server.Accounts
      • AccountDataService
      • AccountDeactivation
      • AccountService
      • AdminDevice
      • AdminRoom
      • AdminService
      • AdminUser
      • AdminUserChange
      • AuthenticationRequiredException
      • LocalUserIds
      • OpenIdTokens
      • Optional<T>
      • PresenceService
      • ProfileService
      • PushNotifier
      • PushRuleService
      • PusherService
      • RegistrationToken
      • RegistrationTokens
      • Requester
      • RoomShutdown
      • ServerNotices
      • UserInteractiveAuth
    • Uniform.Matrix.Server.Configuration
      • CallOptions
      • FederationOptions
      • MediaOptions
      • PushOptions
      • RateLimitOptions
      • RegistrationMode
      • ServerOptions
      • ServerStorageOptions
      • TlsOptions
      • UrlPreviewOptions
    • Uniform.Matrix.Server.Encryption
      • DeviceKeyService
      • KeyBackupService
      • ToDeviceService
    • Uniform.Matrix.Server.Endpoints
      • AccountDataEndpoints
      • AccountEndpoints
      • ActivityEndpoints
      • AdminEndpoints
      • CallEndpoints
      • DeviceEndpoints
      • DirectoryEndpoints
      • DiscoveryEndpoints
      • FederationEndpoints
      • KeyBackupEndpoints
      • KeyEndpoints
      • ManagementEndpoints
      • MediaEndpoints
      • ProfileEndpoints
      • PushRuleEndpoints
      • PusherEndpoints
      • RoomEndpoints
      • SyncEndpoints
    • Uniform.Matrix.Server.Federation
      • FederationClient
      • FederationEndpoint
      • FederationQueue
      • FederationSender
      • RemoteActivity
      • RemoteDevices
      • RemoteEvents
      • RemoteInvites
      • RemoteJoins
      • RemoteServerKeys
      • RoomAcls
      • RoomHistory
      • ServerAddress
      • ServerAuthentication
      • ServerResolver
      • SrvLookup
    • Uniform.Matrix.Server.Http
      • AccessTokens
      • AdminSocket
      • LegacyPaths
      • MatrixErrorException
      • MatrixHttp
      • PublicAddresses
      • RateLimits
      • TlsCertificate
      • TlsCertificateException
    • Uniform.Matrix.Server.Keys
      • ServerKeys
    • Uniform.Matrix.Server.Media
      • MediaService
      • MediaService.StoredFile
      • Thumbnailer
      • UrlPreviewService
    • Uniform.Matrix.Server.Rooms
      • DelayedEvents
      • DirectoryService
      • EventDraft
      • EventSender
      • ReceiptService
      • Report
      • ReportService
      • RoomService
      • StateCache
      • TypingService
    • Uniform.Matrix.Server.Storage
      • AccessTokenRow
      • AccountDataRow
      • CounterRow
      • CrossSigningKeyRow
      • CurrentStateRow
      • DataDirectoryInUseException
      • DataDirectoryLock
      • DatabaseMigrator
      • DelayedEventRow
      • DesignTimeServerDbContextFactory
      • DeviceKeysRow
      • DeviceListChangeRow
      • DeviceRow
      • EventEdgeRow
      • EventRelationRow
      • EventRow
      • FallbackKeyRow
      • FederationOutboxRow
      • FederationProgressRow
      • FilterRow
      • ForgottenRoomRow
      • ForwardExtremityRow
      • KeyBackupVersionRow
      • KeySignatureRow
      • MediaRow
      • OneTimeKeyRow
      • ProfileRow
      • PusherRow
      • ReceiptRow
      • RegistrationTokenRow
      • RemoteInviteRow
      • RemoteMediaRow
      • ReportRow
      • RoomAliasRow
      • RoomKeyRow
      • RoomRow
      • ServerDbContext
      • ServerKeyResponseRow
      • StateGroupEntryRow
      • StateGroupRow
      • ThumbnailRow
      • ToDeviceRow
      • TransactionRow
      • UserRow
    • Uniform.Matrix.Server.Storage.Migrations
      • AddAdminControls
      • AddDelayedEvents
      • AddEventStatusRelationsAndReports
      • AddFederationOutbox
      • AddFederationProgress
      • AddPushers
      • AddRemoteInvites
      • AddRemoteMedia
      • AddServerKeyResponses
      • InitialCreate
      • ScopeTransactionsToRooms
    • Uniform.Matrix.Server.Sync
      • ServerStream
      • SlidingSyncService
      • SyncFilter
      • SyncService
    • Uniform.Matrix.Video
      • IVideoDecoder
      • VideoFrame
    • Uniform.Matrix.Video.Vp8
      • Vp8Decoder
      • Vp8Encoder
    • Uniform.Matrix.WebRtc
      • AudioPeerConnection
      • IMediaConnection
      • PeerConnectionOptions
      • PeerConnectionState
    • Uniform.Matrix.WebRtc.Dtls
      • DtlsCertificate
      • DtlsSrtp
    • Uniform.Matrix.WebRtc.Ice
      • IceAgent
      • IceCandidate
      • IceCandidateType
      • IceOptions
      • IceServer
      • IceState
    • Uniform.Matrix.WebRtc.Rtp
      • BandwidthEstimator
      • JitterBuffer
      • ReceiverStatistics
      • ReportBlock
      • Rtcp
      • RtpPacket
      • Vp8Depacketizer
      • Vp8EncodedFrame
      • Vp8Packetizer
    • Uniform.Matrix.WebRtc.Sdp
      • AudioSdp
      • LocalAudio
      • MediaDescription
      • RemoteAudio
      • RemoteTransport
      • RemoteVideo
      • SessionDescription
    • Uniform.Matrix.WebRtc.Srtp
      • SrtpSession
    • Uniform.Stun
      • DatagramSender
      • StunClient
      • StunDiscovery
      • TurnClient
    • Uniform.Stun.Hosting
      • PemCertificate
      • TurnHostingExtensions
      • TurnOptions
      • TurnServerHost
    • Uniform.Stun.Protocol
      • ChannelData
      • StunAddress
      • StunAttribute
      • StunAttributeTypes
      • StunClass
      • StunErrorCodes
      • StunMessage
      • StunMethod
      • TurnCredentials
    • Uniform.Turn
      • CombinedAuthenticator
      • ITurnAuthenticator
      • IpRange
      • SharedSecretAuthenticator
      • StaticUserAuthenticator
      • TurnServer
      • TurnServerOptions
      • TurnServerStatus
      • TurnTransport

    Class ChatViewModel

    The signed-in screen: the room list, the open room's messages and the message box.

    Inheritance
    object
    ObservableObject
    ViewModelBase
    ChatViewModel
    Implements
    INotifyPropertyChanged
    INotifyPropertyChanging
    IAsyncDisposable
    Inherited Members
    ObservableObject.PropertyChanged
    ObservableObject.PropertyChanging
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Uniform.Chat.Avalonia.ViewModels
    Assembly: Uniform.Chat.Avalonia.dll
    Syntax
    public sealed class ChatViewModel : ViewModelBase, INotifyPropertyChanged, INotifyPropertyChanging, IAsyncDisposable
    Remarks

    Sync changes arrive on a background thread and are applied on the UI thread through IUiDispatcher. Partial files: ChatViewModel.cs, ChatViewModel.Actions.cs for the action sheets of messages and rooms, and ChatViewModel.Share.cs for content shared from other apps.

    Constructors

    | Edit this page View Source

    ChatViewModel(ClientConnection, IUiDispatcher, bool, Func<Task>, INotifier?, SettingsViewModel?, CallViewModel?)

    Create the screen over a started connection.

    Declaration
    public ChatViewModel(ClientConnection connection, IUiDispatcher ui, bool singlePane, Func<Task> signOut, INotifier? notifier = null, SettingsViewModel? settings = null, CallViewModel? call = null)
    Parameters
    Type Name Description
    ClientConnection connection

    Engine of the signed-in account.

    IUiDispatcher ui

    Dispatcher of the user interface thread.

    bool singlePane

    Whether the screen shows one pane at a time, as on phones.

    Func<Task> signOut

    Called by SignOutCommand to end the session and return to the sign-in form.

    INotifier notifier

    System notifications, or null for none.

    SettingsViewModel settings

    App settings, shown in the settings panel; null hides it.

    CallViewModel call

    The call bar; null for no calls.

    Properties

    AcceptInviteCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.AcceptInviteAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand AcceptInviteCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand
    | Edit this page View Source

    ActionSheet

    Declaration
    [ObservableProperty]
    [ExcludeFromCodeCoverage]
    public ActionSheetViewModel? ActionSheet { get; set; }
    Property Value
    Type Description
    ActionSheetViewModel
    | Edit this page View Source

    Admin

    Declaration
    [ObservableProperty]
    [ExcludeFromCodeCoverage]
    public AdminViewModel? Admin { get; set; }
    Property Value
    Type Description
    AdminViewModel

    BackCommand

    Gets an IRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.Back().

    Declaration
    [ExcludeFromCodeCoverage]
    public IRelayCommand BackCommand { get; }
    Property Value
    Type Description
    IRelayCommand
    | Edit this page View Source

    Call

    The call bar; null for no calls.

    Declaration
    public CallViewModel? Call { get; }
    Property Value
    Type Description
    CallViewModel

    CallRoomCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.CallRoomAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand CallRoomCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand
    | Edit this page View Source

    CanCallRoom

    Whether the open room has one other member, who can be voice called.

    Declaration
    public bool CanCallRoom { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    CanCompose

    Whether the open room takes messages: not while suspended, nor in the server's notices room.

    Declaration
    public bool CanCompose { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    CanVideoCallRoom

    Whether the open room can be video called: a direct room, on a device with a camera.

    Declaration
    public bool CanVideoCallRoom { get; }
    Property Value
    Type Description
    bool

    CancelComposeCommand

    Gets an IRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.CancelCompose().

    Declaration
    [ExcludeFromCodeCoverage]
    public IRelayCommand CancelComposeCommand { get; }
    Property Value
    Type Description
    IRelayCommand

    CancelShareCommand

    Gets an IRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.CancelShare().

    Declaration
    [ExcludeFromCodeCoverage]
    public IRelayCommand CancelShareCommand { get; }
    Property Value
    Type Description
    IRelayCommand

    CloseAdminCommand

    Gets an IRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.CloseAdmin().

    Declaration
    [ExcludeFromCodeCoverage]
    public IRelayCommand CloseAdminCommand { get; }
    Property Value
    Type Description
    IRelayCommand

    CloseDirectoryCommand

    Gets an IRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.CloseDirectory().

    Declaration
    [ExcludeFromCodeCoverage]
    public IRelayCommand CloseDirectoryCommand { get; }
    Property Value
    Type Description
    IRelayCommand

    CloseSecurityCommand

    Gets an IRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.CloseSecurity().

    Declaration
    [ExcludeFromCodeCoverage]
    public IRelayCommand CloseSecurityCommand { get; }
    Property Value
    Type Description
    IRelayCommand
    | Edit this page View Source

    ComposeMode

    Get what the composer does besides sending a new message, e.g. Replying to Bob: snippet.

    Declaration
    public string ComposeMode { get; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    Composer

    Declaration
    [ObservableProperty]
    [NotifyCanExecuteChangedFor("SendCommand")]
    [ExcludeFromCodeCoverage]
    public string Composer { get; set; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    CopyToClipboard

    Copies text to the clipboard; set by the view, which has the clipboard.

    Declaration
    public Func<string, Task>? CopyToClipboard { get; set; }
    Property Value
    Type Description
    Func<string, Task>

    DeclineInviteCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.DeclineInviteAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand DeclineInviteCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand

    DismissNoticeCommand

    Gets an IRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.DismissNotice().

    Declaration
    [ExcludeFromCodeCoverage]
    public IRelayCommand DismissNoticeCommand { get; }
    Property Value
    Type Description
    IRelayCommand

    DismissSecuritySuggestionCommand

    Gets an IRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.DismissSecuritySuggestion().

    Declaration
    [ExcludeFromCodeCoverage]
    public IRelayCommand DismissSecuritySuggestionCommand { get; }
    Property Value
    Type Description
    IRelayCommand

    DismissSuspensionCommand

    Gets an IRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.DismissSuspension().

    Declaration
    [ExcludeFromCodeCoverage]
    public IRelayCommand DismissSuspensionCommand { get; }
    Property Value
    Type Description
    IRelayCommand
    | Edit this page View Source

    Editing

    Declaration
    [ObservableProperty]
    [NotifyPropertyChangedFor("ComposeMode", new string[] { "IsComposingSpecial" })]
    [ExcludeFromCodeCoverage]
    public MessageViewModel? Editing { get; set; }
    Property Value
    Type Description
    MessageViewModel
    | Edit this page View Source

    HasOpenRoom

    Whether a room is open.

    Declaration
    public bool HasOpenRoom { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    HasPendingShare

    Whether a room should be chosen for shared content.

    Declaration
    public bool HasPendingShare { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    HasSecuritySuggestion

    Whether there is a security suggestion.

    Declaration
    public bool HasSecuritySuggestion { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    HasSharedFiles

    Whether shared files wait to be sent.

    Declaration
    public bool HasSharedFiles { get; }
    Property Value
    Type Description
    bool

    InviteCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.InviteAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand InviteCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand
    | Edit this page View Source

    InviteTarget

    Declaration
    [ObservableProperty]
    [NotifyCanExecuteChangedFor("InviteCommand")]
    [ExcludeFromCodeCoverage]
    public string InviteTarget { get; set; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    IsActive

    Whether the app's window has the focus; notifications are shown only while it has not.

    Declaration
    public bool IsActive { get; set; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    IsComposingSpecial

    Get whether the composer replies or edits.

    Declaration
    public bool IsComposingSpecial { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    IsLoadingHistory

    Declaration
    [ObservableProperty]
    [ExcludeFromCodeCoverage]
    public bool IsLoadingHistory { get; set; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    IsNarrow

    Declaration
    [ObservableProperty]
    [NotifyPropertyChangedFor("ShowRoomList", new string[] { "ShowRoom" })]
    [ExcludeFromCodeCoverage]
    public bool IsNarrow { get; set; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    IsServerAdmin

    Declaration
    [ObservableProperty]
    [ExcludeFromCodeCoverage]
    public bool IsServerAdmin { get; set; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    IsSettingsOpen

    Declaration
    [ObservableProperty]
    [ExcludeFromCodeCoverage]
    public bool IsSettingsOpen { get; set; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    IsSuspended

    Declaration
    [ObservableProperty]
    [NotifyPropertyChangedFor("CanCompose")]
    [NotifyCanExecuteChangedFor("SendCommand")]
    [ExcludeFromCodeCoverage]
    public bool IsSuspended { get; set; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    JoinTarget

    Declaration
    [ObservableProperty]
    [NotifyCanExecuteChangedFor("OpenTargetCommand")]
    [NotifyPropertyChangedFor("OpenTargetText")]
    [ExcludeFromCodeCoverage]
    public string JoinTarget { get; set; }
    Property Value
    Type Description
    string

    LeaveRoomCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.LeaveRoomAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand LeaveRoomCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand

    LoadMembersCommand

    Gets an IRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.LoadMembers().

    Declaration
    [ExcludeFromCodeCoverage]
    public IRelayCommand LoadMembersCommand { get; }
    Property Value
    Type Description
    IRelayCommand

    LoadOlderCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.LoadOlderAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand LoadOlderCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand
    | Edit this page View Source

    Members

    Joined and invited members of the open room by name, filled by LoadMembersCommand.

    Declaration
    public ObservableCollection<MemberItem> Members { get; }
    Property Value
    Type Description
    ObservableCollection<MemberItem>
    | Edit this page View Source

    Messages

    The open room's timeline.

    Declaration
    public MessageList Messages { get; }
    Property Value
    Type Description
    MessageList
    | Edit this page View Source

    Notice

    Declaration
    [ObservableProperty]
    [ExcludeFromCodeCoverage]
    public string Notice { get; set; }
    Property Value
    Type Description
    string

    OpenAdminCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.OpenAdminAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand OpenAdminCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand

    OpenDirectoryCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.OpenDirectoryAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand OpenDirectoryCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand

    OpenSecurityCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.OpenSecurityAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand OpenSecurityCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand

    OpenTargetCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.OpenTargetAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand OpenTargetCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand
    | Edit this page View Source

    OpenTargetText

    Get the room box's button text: Join, Chat or Create by what was typed.

    Declaration
    public string OpenTargetText { get; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    PendingShare

    Declaration
    [ObservableProperty]
    [NotifyPropertyChangedFor("HasPendingShare", new string[] { "PendingShareText" })]
    [ExcludeFromCodeCoverage]
    public SharedContent? PendingShare { get; set; }
    Property Value
    Type Description
    SharedContent
    | Edit this page View Source

    PendingShareText

    What to ask while a room is chosen.

    Declaration
    public string PendingShareText { get; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    QuickReactions

    Reactions offered first, in the sheet's row and the menu.

    Declaration
    public static IReadOnlyList<string> QuickReactions { get; }
    Property Value
    Type Description
    IReadOnlyList<string>
    | Edit this page View Source

    ReplyingTo

    Declaration
    [ObservableProperty]
    [NotifyPropertyChangedFor("ComposeMode", new string[] { "IsComposingSpecial" })]
    [ExcludeFromCodeCoverage]
    public MessageViewModel? ReplyingTo { get; set; }
    Property Value
    Type Description
    MessageViewModel
    | Edit this page View Source

    ReportReasons

    Reasons offered when reporting a message, a user or a room.

    Declaration
    public static IReadOnlyList<string> ReportReasons { get; }
    Property Value
    Type Description
    IReadOnlyList<string>
    | Edit this page View Source

    RoomDirectory

    Declaration
    [ObservableProperty]
    [ExcludeFromCodeCoverage]
    public DirectoryViewModel? RoomDirectory { get; set; }
    Property Value
    Type Description
    DirectoryViewModel
    | Edit this page View Source

    Rooms

    Rooms, invites first, then favourites, others and low priority, each by name.

    Declaration
    public ObservableCollection<RoomItemViewModel> Rooms { get; }
    Property Value
    Type Description
    ObservableCollection<RoomItemViewModel>
    | Edit this page View Source

    Security

    Declaration
    [ObservableProperty]
    [ExcludeFromCodeCoverage]
    public SecurityViewModel? Security { get; set; }
    Property Value
    Type Description
    SecurityViewModel
    | Edit this page View Source

    SecuritySuggestion

    Declaration
    [ObservableProperty]
    [NotifyPropertyChangedFor("HasSecuritySuggestion")]
    [ExcludeFromCodeCoverage]
    public string SecuritySuggestion { get; set; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    SelectedRoom

    Declaration
    [ObservableProperty]
    [NotifyPropertyChangedFor("HasOpenRoom", new string[] { "ShowRoomList", "ShowRoom", "CanCallRoom", "CanVideoCallRoom" })]
    [ExcludeFromCodeCoverage]
    public RoomItemViewModel? SelectedRoom { get; set; }
    Property Value
    Type Description
    RoomItemViewModel

    SendCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.SendAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand SendCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand

    SendSharedFilesCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.SendSharedFilesAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand SendSharedFilesCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand

    SetTopicCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.SetTopicAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand SetTopicCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand
    | Edit this page View Source

    Settings

    App settings, or null when not offered.

    Declaration
    public SettingsViewModel? Settings { get; }
    Property Value
    Type Description
    SettingsViewModel
    | Edit this page View Source

    SharedFiles

    Declaration
    [ObservableProperty]
    [NotifyPropertyChangedFor("HasSharedFiles", new string[] { "SharedFilesText" })]
    [ExcludeFromCodeCoverage]
    public IReadOnlyList<SharedFile>? SharedFiles { get; set; }
    Property Value
    Type Description
    IReadOnlyList<SharedFile>
    | Edit this page View Source

    SharedFilesText

    What waits to be sent, e.g. Share photo.jpg.

    Declaration
    public string SharedFilesText { get; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    ShowRoom

    Whether the open room is shown: always on wide screens, on narrow ones once a room is opened.

    Declaration
    public bool ShowRoom { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    ShowRoomList

    Whether the room list is shown: always on wide screens, on narrow ones until a room is opened.

    Declaration
    public bool ShowRoomList { get; }
    Property Value
    Type Description
    bool

    SignOutCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.SignOutAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand SignOutCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand
    | Edit this page View Source

    StatusText

    Declaration
    [ObservableProperty]
    [ExcludeFromCodeCoverage]
    public string StatusText { get; set; }
    Property Value
    Type Description
    string

    ToggleSettingsCommand

    Gets an IRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.ToggleSettings().

    Declaration
    [ExcludeFromCodeCoverage]
    public IRelayCommand ToggleSettingsCommand { get; }
    Property Value
    Type Description
    IRelayCommand
    | Edit this page View Source

    TopicDraft

    Declaration
    [ObservableProperty]
    [ExcludeFromCodeCoverage]
    public string TopicDraft { get; set; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    TypingText

    Declaration
    [ObservableProperty]
    [ExcludeFromCodeCoverage]
    public string TypingText { get; set; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    UnreadRooms

    Declaration
    [ObservableProperty]
    [ExcludeFromCodeCoverage]
    public int UnreadRooms { get; set; }
    Property Value
    Type Description
    int
    | Edit this page View Source

    UserId

    Signed-in user.

    Declaration
    public string UserId { get; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    Verification

    Declaration
    [ObservableProperty]
    [ExcludeFromCodeCoverage]
    public VerificationViewModel? Verification { get; set; }
    Property Value
    Type Description
    VerificationViewModel

    VideoCallRoomCommand

    Gets an IAsyncRelayCommand instance wrapping Uniform.Chat.Avalonia.ViewModels.ChatViewModel.VideoCallRoomAsync().

    Declaration
    [ExcludeFromCodeCoverage]
    public IAsyncRelayCommand VideoCallRoomCommand { get; }
    Property Value
    Type Description
    IAsyncRelayCommand

    Methods

    | Edit this page View Source

    AcceptAsync(RoomItemViewModel)

    Accept the invite to room.

    Declaration
    public Task AcceptAsync(RoomItemViewModel room)
    Parameters
    Type Name Description
    RoomItemViewModel room
    Returns
    Type Description
    Task
    | Edit this page View Source

    CreateMessageActions(MessageViewModel)

    Return the details and actions of message in the open room: reply, react, edit, copy, delete, report and block, as they apply.

    Declaration
    public ActionSheetViewModel CreateMessageActions(MessageViewModel message)
    Parameters
    Type Name Description
    MessageViewModel message
    Returns
    Type Description
    ActionSheetViewModel
    | Edit this page View Source

    CreateRoomActions(RoomItemViewModel)

    Return the details and actions of room in the list: join or decline an invite; else mark read, favourite, low priority, copy its link, report and leave.

    Declaration
    public ActionSheetViewModel CreateRoomActions(RoomItemViewModel room)
    Parameters
    Type Name Description
    RoomItemViewModel room
    Returns
    Type Description
    ActionSheetViewModel
    | Edit this page View Source

    DeclineAsync(RoomItemViewModel)

    Decline the invite to room, and close it when it is open.

    Declaration
    public Task DeclineAsync(RoomItemViewModel room)
    Parameters
    Type Name Description
    RoomItemViewModel room
    Returns
    Type Description
    Task
    | Edit this page View Source

    DeleteAsync(MessageViewModel)

    Delete own message for everyone.

    Declaration
    public Task DeleteAsync(MessageViewModel message)
    Parameters
    Type Name Description
    MessageViewModel message
    Returns
    Type Description
    Task
    | Edit this page View Source

    DisposeAsync()

    Stop following the engine.

    Declaration
    public ValueTask DisposeAsync()
    Returns
    Type Description
    ValueTask
    | Edit this page View Source

    DownloadAsync(MessageViewModel)

    Download an attachment into the media cache, decrypting it when needed; return its local path, or null when it failed.

    Declaration
    public Task<string?> DownloadAsync(MessageViewModel message)
    Parameters
    Type Name Description
    MessageViewModel message
    Returns
    Type Description
    Task<string>
    | Edit this page View Source

    DownloadForOpeningAsync(MessageViewModel)

    Download an attachment and return a copy under its own file name, so the system knows which app opens it; null when it failed.

    Declaration
    public Task<string?> DownloadForOpeningAsync(MessageViewModel message)
    Parameters
    Type Name Description
    MessageViewModel message
    Returns
    Type Description
    Task<string>
    | Edit this page View Source

    GoBack()

    Go back one step, as Android's back button does: close the panel on top, else leave the open room on narrow screens; return false when there is nothing to go back from, so the app may close.

    Declaration
    public bool GoBack()
    Returns
    Type Description
    bool
    | Edit this page View Source

    LeaveAsync(RoomItemViewModel)

    Leave room, and close it when it is open.

    Declaration
    public Task LeaveAsync(RoomItemViewModel room)
    Parameters
    Type Name Description
    RoomItemViewModel room
    Returns
    Type Description
    Task
    | Edit this page View Source

    MarkRoomRead(RoomItemViewModel)

    Mark everything in room read, without opening it.

    Declaration
    public void MarkRoomRead(RoomItemViewModel room)
    Parameters
    Type Name Description
    RoomItemViewModel room
    | Edit this page View Source

    OpenMatrixLink(string)

    Follow a matrix.to link or matrix: URI inside the app: open a room already joined, or put a room, a room ID with the servers to join through, or a person in the room box to join or chat with; return false for other links.

    Declaration
    public bool OpenMatrixLink(string href)
    Parameters
    Type Name Description
    string href
    Returns
    Type Description
    bool
    | Edit this page View Source

    ReactAsync(MessageViewModel, string)

    React to message with key, usually an emoji; reacting again with the same key does nothing.

    Declaration
    public Task ReactAsync(MessageViewModel message, string key)
    Parameters
    Type Name Description
    MessageViewModel message
    string key
    Returns
    Type Description
    Task
    | Edit this page View Source

    ReportMessageAsync(MessageViewModel, string)

    Report message of the open room to the admins of the user's server.

    Declaration
    public Task ReportMessageAsync(MessageViewModel message, string reason)
    Parameters
    Type Name Description
    MessageViewModel message
    string reason
    Returns
    Type Description
    Task
    | Edit this page View Source

    ReportRoomAsync(string)

    Report the open room to the admins of the user's server.

    Declaration
    public Task ReportRoomAsync(string reason)
    Parameters
    Type Name Description
    string reason
    Returns
    Type Description
    Task
    | Edit this page View Source

    ReportRoomAsync(RoomItemViewModel, string)

    Report room to the admins of the user's server.

    Declaration
    public Task ReportRoomAsync(RoomItemViewModel room, string reason)
    Parameters
    Type Name Description
    RoomItemViewModel room
    string reason
    Returns
    Type Description
    Task
    | Edit this page View Source

    ReportUserAsync(string, string)

    Report the user userId to the admins of the user's server.

    Declaration
    public Task ReportUserAsync(string userId, string reason)
    Parameters
    Type Name Description
    string userId
    string reason
    Returns
    Type Description
    Task
    | Edit this page View Source

    SendFileAsync(Stream, string)

    Send a file to the open room as an image, video, audio or file message by its type; files to encrypted rooms are encrypted first.

    Declaration
    public Task SendFileAsync(Stream content, string fileName)
    Parameters
    Type Name Description
    Stream content

    File contents.

    string fileName

    Name shown to others.

    Returns
    Type Description
    Task
    | Edit this page View Source

    SetBlockedAsync(string, bool)

    Block userId, so their messages and invites no longer show, or unblock them.

    Declaration
    public Task SetBlockedAsync(string userId, bool blocked)
    Parameters
    Type Name Description
    string userId
    bool blocked
    Returns
    Type Description
    Task
    | Edit this page View Source

    SetTagAsync(RoomItemViewModel, string, bool)

    Add or remove the tag tag of room; favourite and low priority exclude each other, as in other clients.

    Declaration
    public Task SetTagAsync(RoomItemViewModel room, string tag, bool on)
    Parameters
    Type Name Description
    RoomItemViewModel room
    string tag
    bool on
    Returns
    Type Description
    Task
    | Edit this page View Source

    Start()

    Start following the engine: connection state, sync changes and late-decrypted messages.

    Declaration
    public void Start()
    | Edit this page View Source

    StartEdit(MessageViewModel)

    Edit own message: its text goes to the composer.

    Declaration
    public void StartEdit(MessageViewModel message)
    Parameters
    Type Name Description
    MessageViewModel message
    | Edit this page View Source

    StartReply(MessageViewModel)

    Answer message with the next message.

    Declaration
    public void StartReply(MessageViewModel message)
    Parameters
    Type Name Description
    MessageViewModel message
    | Edit this page View Source

    VerifyMemberAsync(MemberItem)

    Ask member to verify each other by comparing emoji; the request shows in the verification panel.

    Declaration
    public Task VerifyMemberAsync(MemberItem member)
    Parameters
    Type Name Description
    MemberItem member
    Returns
    Type Description
    Task

    Events

    | Edit this page View Source

    ComposerFocusRequested

    Raised when an action wants the message box focused, such as Reply and Edit.

    Declaration
    public event Action? ComposerFocusRequested
    Event Type
    Type Description
    Action

    Implements

    INotifyPropertyChanged
    INotifyPropertyChanging
    IAsyncDisposable
    • Edit this page
    • View Source
    In this article
    Back to top Uniform Chat