Native Matrix client built on matrix-rust-sdk with a Silica UI.
FEATURES
- Sliding sync, end-to-end encryption, cross-signing, device verification, key backup and recovery
- Rooms, spaces (nested), direct chats, threads, room directory search
- Create rooms, invite, leave; member list and profiles with moderation
- Send, edit, delete, reply and paginate in encrypted rooms
- Search a conversation; the index stays on the device, the query never leaves it
- Formatted messages, written as well as read: bold, italic, struck through, underlined, monospace
- Polls: vote with a tap, take it back with another; create your own with several answers allowed or the results kept closed until the end. Only the creator can end a poll, and the app checks that itself
- Link previews, off by default: your homeserver fetches the page and the message shows its host, title and description. The setting says what the server learns and can limit previews to unencrypted rooms
- Pinned messages, favourites, low priority, mute, ignore list
- A line marks where reading stopped, and who has read what
- Four coloured lines for backup, recovery, cross-signing and local storage
- Reactions from a picker whose first tab you fill yourself, as characters or as your own emoji pictures
- Pictures, files, sharing, share target from Gallery and file manager
- One picker for attachments, with the gallery and the file system side by side and several files at once
- Pictures are made smaller before they go out and lose their metadata with them, the place a photograph was taken included; the original resolution stays one tap away
- Voice messages; voice and video calls (classic 1:1 VoIP)
- Speech2Text (needs Speech Note to be installed)
- Notifications, offline send queue, encrypted local storage
- Optional push notifications, off by default
- Bubble and text colours of your own or the ambience's, the return key as send key, the keyboard's behaviour after sending
- One page for what others learn: read receipts, message text in notifications, who may call, when pictures load, when downloaded media is deleted again
- An error log to read and copy when something goes wrong
- OAuth (MAS), device-code and password sign-in
- 32 interface languages, switchable in the app
LANGUAGES
The 24 official languages of the European Union plus Russian, Norwegian,
Icelandic, Simplified Chinese, Hindi, Japanese, Persian and Arabic. German is the project language and
Norwegian came from a Norwegian speaker; the rest are machine translations,
usable but unchecked. The language is set in the app and applies at the next
start.
Corrections are welcome at the repository below: translations/harbour-xmatic-
<language>.ts, and translations/STATUS.md says which have been read.
LOCAL STORAGE
Session tokens and the message database are encrypted with a key from Sailfish
Secrets. Without that key service nothing is written at all: the app says what
is missing and how to install it. A database that predates the key can be
re-created encrypted from the encryption page, which costs one sign-out and
your recovery key.
WHY IS THE PACKAGE SO BIG?
The complete Matrix stack ships statically: matrix-rust-sdk, E2EE, sliding
sync, rustls, an HTTP runtime and SQLite. None of it exists as a system library
here, and Qt 5.6 is too old for the C++ alternatives. Installed ~60 MB,
RPM ~18 MB.
NO BACKGROUND DAEMON
Messages arrive while the app is running; the cover is enough. A closed app
does not receive, unless push notifications are switched on.
ARCHITECTURES
aarch64 (Sailfish OS 5.0+), armv7hl (Sailfish OS 4.6+), tested on J2, X10III, Gemini PDA.
REQUIREMENTS
Your homeserver must support simplified sliding sync (MSC4186), the same
mechanism Element X uses. To check, open
https://YOUR-SERVER/_matrix/client/versions
and look for "org.matrix.simplified_msc3575": true
Sign-in: OAuth 2.0 / Matrix Authentication Service, device code, or username
and password on servers without OAuth. The SSO redirect (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
| Attachment | Size | Date |
|---|---|---|
| 18.91 MB | 28/09/2026 - 16:43 | |
| 19.44 MB | 28/09/2026 - 16:43 |
- A homeserver without a TURN relay no longer puts "no relay available:
deserialization failed" on the account page. That answer is read as "no
relay configured"; calls then go without one, as before.
Comments
Manisak
Tue, 2026/08/18 - 14:21
Permalink
Damed I Love you ;-)
kempertom
Tue, 2026/08/18 - 14:13
Permalink
Wow. Wonderful. What are you plan to implement?
Pages