xmatic

Rating: 
0
No votes yet

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

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.18.1-1.aarch64.rpm15.12 MB18/08/2026 - 11:27
File harbour-xmatic-0.18.1-1.armv7hl.rpm15.63 MB18/08/2026 - 11:27
Changelog: 

- Password sign-in no longer flickers into an empty room list: the sign-in reset the local store a second time, under the client it went on to use. The reset now belongs to whoever builds the client. - A missing store key is a locked session, never a re-login. The key in the device's secrets storage is released only through the system's own approval dialog, which the app never allowed to appear — so after a reboot the encrypted session read as "no session", the login page came up and the sign-in cleared the store: a new device and a recovery-key round for every affected user. The app now asks with the system dialog (once per boot), logs the storage's reason, never replaces a key while encrypted data exists, and shows a "Locked" page with a retry when the key is not at hand.