xmatic

Rating: 
5
Your rating: None Average: 5 (2 votes)

Native Matrix client built on matrix-rust-sdk with a Silica UI.

FEATURES
- Sliding sync, end-to-end encryption, cross-signing, device verification (both directions), key backup and recovery
- Rooms, spaces (nested), direct chats, room directory search
- Send, edit, delete, reply, pagination in encrypted rooms
- Pictures, files, sharing (also as share target from Gallery / file manager)
- Voice and video calls (classic 1:1 VoIP; MatrixRTC-only clients cannot be called)
- Notifications, offline send queue, encrypted local stores
- OAuth (MAS) login, device-code login, password login
- English and German UI

WHY IS THE PACKAGE SO BIG?
The app ships the complete Matrix stack statically: matrix-rust-sdk, E2EE (vodozemac), sliding sync, rustls, its own HTTP runtime and a bundled SQLite. None of that exists as a system library on Sailfish OS, and Qt 5.6 is too old for the C++ alternatives - which is exactly why the protocol core is written in Rust. Installed size ~48 MB (Element X, same SDK: ~100 MB), RPM ~16 MB.

NO BACKGROUND DAEMON
Messages arrive while the app is running (the cover is enough). Like other daemonless messengers on this platform, a closed app does not receive.

ARCHITECTURES
aarch64 (Sailfish OS 5.0+), armv7hl (Sailfish OS 4.6+).

REQUIREMENTS
xmatic syncs over simplified sliding sync (MSC4186), the same mechanism
Element X uses. Your homeserver must support it. If it does not, sign-in
works but no rooms load and the app keeps showing "Offline".

How to check your server: open this address in a browser
    https://YOUR-SERVER/_matrix/client/versions
and look for this line:
    "org.matrix.simplified_msc3575": true
If it is missing, xmatic cannot load your rooms from that server. 

Sign-in methods supported: OAuth 2.0 / Matrix Authentication Service,
device code ("Sign in on another device"), and username plus password on
servers without OAuth.
The classic SSO redirect sign-in (SAML, CAS) is not supported.

Written with Claude Code (Anthropic), icons included; the protocol core is upstream matrix-rust-sdk.

Source, issues, releases: https://github.com/JimKnopfIoT/harbour-xmatic

Application versions: 
AttachmentSizeDate
File harbour-xmatic-0.19.0-1.aarch64.rpm15.2 MB21/08/2026 - 20:44
File harbour-xmatic-0.19.0-1.armv7hl.rpm15.72 MB21/08/2026 - 20:44
Changelog: 

- Every member has a profile page now, one level below the member list.
Tapping a member, or a sender's picture in a conversation, opens it: the
picture at full size, the address to copy with a tap, the role, since when
they are a member and who invited them, the rooms you share, and whether
their encryption identity is trusted. That last one has four answers, not
two - the one worth knowing is "the identity changed since you verified
it", which is shown in red together with the way out.
- Moderation moved onto that page: removing, banning and lifting a ban,
making somebody a moderator or an admin. Each entry only appears where the
room's power levels allow it, and making an admin asks first, because it
cannot be taken back.
- Threads. A message that starts one carries a marker with the number of
replies, a reply inside one says so, and both open a page of their own
with its own composer. Replies in threads keep appearing in the
conversation as well, so nothing is hidden from anybody who never opens
the thread page.
- A notification now disappears when the room is read somewhere else. Read
receipts travel between clients, so reading on a desktop clears the count
here - and with the notification the banner, the feed entry and the
communication LED go too, instead of claiming a message is still waiting.
- A reply whose quoted message cannot be loaded says so, rather than showing
an ellipsis for good. That happens when the quoted event lives on a server
ours cannot fetch it from, or history visibility forbids it.
- The account's ignored users are listed under Account, with a tap to stop
ignoring somebody. The list belongs to the account and holds in every
client. The send warning's "do not warn me about this user again" can be
taken back there too - it promised that and had nowhere to do it.
- Room info offers renegotiating the encryption: the next message starts a
fresh session and hands its key to every device again. The remedy when the
other side reports it cannot read what this device sends.
- A homeserver that cannot do the sync this app needs is now named as such.
Before, every sync failed, the offline mode turned that into "offline",
and the banner flashed over an empty room list - which reads as a network
fault and is not one. The app asks the server on start and says plainly
that it is not supported.
- Sign-in failures say what went wrong. A server that only offers its own
web sign-in (SSO), which this app cannot use yet, is no longer reported
the same way as a wrong password.
- Security: text that other people write - display names, room names, server
error messages - is rendered as plain text everywhere. A display name
could previously contain markup, and a picture in it was fetched on sight.
Error messages no longer carry room, user or event identifiers into the
device log.

Comments

windes's picture

Wow, man!! First impression - GREAT!  UI is smooth and nice, all balanced. Did you do UI by yourself, manually, not with AI?

 

Can't open page with user info. There's no this feature for now?

Sailfish 5.1.0.11, armv7hl - all is working)

Nice description, monumental, by the way. All questions gone right after read it. No water, strict and needed, every word.

Do you have a group of xmatic in matrix?

Sharks's picture

Looks promising! Unfortunately while I can login, I just see "Offline - Waiting for the network" glitching and flashing up the top, none of my chats get loaded.

JimKnopfIoT's picture

@Sharks Please read the new REQUIREMENTS section above and try again with the latest Version (> 0.19.0). 

kempertom's picture

Will it be frequently maintained? I have wishes and Ideas...

sourcrowd's picture

Thank you! With this client I'm finally able to login on a homeserver, that requires SSO for which the Firefox 91 WebView that SFOS 5.1 bundles, is too old.

kaulian's picture

Thanks a lot.

Manisak's picture

Damed I Love you ;-)

kempertom's picture

Wow. Wonderful. What are you plan to implement?