xmatic

Rating: 
5
Your rating: None Average: 5 (3 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.20.0-1.aarch64.rpm15.22 MB22/08/2026 - 00:19
File harbour-xmatic-0.20.0-1.armv7hl.rpm15.74 MB22/08/2026 - 00:19
Changelog: 

- A new room is now described completely at the moment it is created, because
that is the only moment the server accepts most of it: topic, a public
address people can type elsewhere, who may read the history, whom to invite
right away, whether only moderators may write, whether everyone invited
starts with the creator's rights, and whether the room stays on this server.
Encryption stays where it was, as the one decision that cannot be undone.
- A message that cannot be decrypted now says why. The reason was there all
along - the protocol library works it out and hands it over - and it was
being thrown away, so every case read the same. The one that matters is
"the sender did not share the key because they consider this device
insecure", which names a setting on the other side instead of leaving both
people guessing.
- Six dialogs were stuck in portrait on a device that is held sideways, among
them the warning about unverified recipients, which appeared rotated by
ninety degrees. They turn with the device now, and the short ones scroll so
their input field cannot end up behind the keyboard.
- Tapping a quote jumps to the message it quotes. That was never wired up at
all, and the same jump used by "show in conversation" for a pinned message
only ever worked when the message happened to be loaded already: it waited
for the row count to change, and a page of history that renders as nothing -
a stretch of membership changes does it - never changes that count. It now
retries on its own and says so when the message is beyond the loaded
history, instead of doing nothing at all.
- A picture can carry a caption, and an answer can carry a picture. Picking a
file used to send it on the spot, which made all three impossible at once:
no caption, no reply, and no way back after tapping the wrong thumbnail.
There is now a page between picking and sending that shows what is about to
go out, quotes the message being answered, and takes the caption. Both
belong there because neither can be added afterwards.

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). 

Sharks's picture

It appears I am missing msc4186, thanks. Will have to look into it.

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?