Namespace Uniform.Chat.Avalonia.Services
Classes
AccountCreator
Create accounts over HTTP with AccountRegistration.
AccountMemory
The last signed-in account, kept in the app's settings.json as Matrix:UserId and Matrix:Homeserver, so the next start resumes it.
AvaloniaUiDispatcher
Dispatcher of the running Avalonia application.
ClientConnection
The client engine of one signed-in account, running in its own .NET host until disposed.
PasswordRequiredException
The engine needs a password, as no stored session could be resumed.
PushDistributor
A UnifiedPush distributor app on the device, e.g. ntfy.
PushRegistration
Keeps the homeserver's pusher of this device in step with IPushService: a pusher to the endpoint while registered, none otherwise; and syncs at once when a push message comes.
ShareInbox
Takes what the platform's share sheet hands to the app, e.g. Android's, for the chat to offer: a room is chosen, then the text goes into its message box and the files wait to be sent.
SharedContent
What another app shared to this one, e.g. a link from a browser or photos from a gallery.
SharedFile
A file shared to the app, copied where the app may read it.
SignIn
What the user gave to sign in: the user ID, optionally the homeserver, and the password unless a stored session is resumed.
Interfaces
IAccountCreator
Create accounts for the sign-in form.
INotifier
System notifications of new messages, by platform; the app shows them while its window is in the background.
IPushService
Push messages through a UnifiedPush distributor, which keeps one connection for all its apps: registering gives an endpoint URL, which the homeserver's pusher posts to through the distributor's gateway, and messages wake the app.
IUiDispatcher
Run work on the user interface thread; the engine reports changes on background threads.