Livewire

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

An alpha-quality native XMPP client for Sailfish OS and Ubuntu Touch, written in Rust.

Features

  • OMEMO encryption: End-to-end encrypted messaging via OMEMO, supporting OMEMO 2 and OMEMO legacy.
  • Private encrypted groups: Invite-only group chats that are always OMEMO-encrypted.
  • Public channels (MUCs): Join and participate in public XMPP group chats, with member lists, mentions, and whispers.
  • Rich messaging: Text, images, image galleries, video, voice messages, audio, documents, and stickers; replies; emoji reactions; message editing; delivery and read receipts with status indicators.
  • Message sync: Your conversations are synced between all logged-in devices via MAM history, and messages sent while offline are queued and delivered on reconnect.
  • Contacts & presence: Roster management, adding contacts, and blocking (XEP-0191).
  • Push notifications: XEP-0357 push notifications via the Livewire Push Service, with a background-run fallback when push is unavailable (for Sailfish OS, requires a UnifiedPush distributor such as Foghorn).
  • Account creation: In-band registration where the server supports it.
  • Media handling: Download and display images, video, and audio.
  • Mobile-data aware: Client State Indication when unfocused, data-usage tracking, and automatic reconnect on network switch.

Not Currently Implemented

These are features not yet implemented, but are on the road map.

  • Searching for public channels (channel directory)
  • Jingle
  • Voice/video calls (let's call that a streeeeetch goal)

Do you want to use XEP-0357 push notifications? Also install Foghorn. Otherwise, the app functions just fine with a persistent connection to the server, as long as it's open.

Screenshots: 
Application versions: 
AttachmentSizeDate
File harbour-livewire-0.4.0-1.aarch64.rpm19.08 MB25/08/2026 - 16:34
File harbour-livewire-0.5.0-1.aarch64.rpm23.39 MB01/09/2026 - 21:40
File harbour-livewire-0.6.0-1.aarch64.rpm25.65 MB16/09/2026 - 12:47
File harbour-livewire-0.7.0-1.aarch64.rpm28.61 MB06/10/2026 - 10:42
File harbour-livewire-0.7.1-1.aarch64.rpm28.59 MB08/10/2026 - 11:37
File harbour-livewire-0.7.1-1.armv7hl.rpm27.56 MB08/10/2026 - 11:37
File harbour-livewire-0.7.2-1.armv7hl.rpm27.53 MB09/10/2026 - 15:41
File harbour-livewire-0.7.2-1.aarch64.rpm28.55 MB09/10/2026 - 15:41
File harbour-livewire-0.7.3-1.armv7hl.rpm27.61 MB11/10/2026 - 20:33
File harbour-livewire-0.7.3-1.aarch64.rpm28.65 MB11/10/2026 - 20:33
File harbour-livewire-0.7.4-1.aarch64.rpm35.13 MB21/10/2026 - 13:27
File harbour-livewire-0.7.4-1.armv7hl.rpm33.98 MB21/10/2026 - 13:27
Changelog: 

Version 0.7.4

Fourth bug fix release of 0.7.x. This release fixes problems with the push helper's fresh reconnect logic. It also adds XEP-0070 (Log in to websites with XMPP!), a handful of OMEMO fixes, and a couple of send queue fixes.

  • Feature: XEP-0070: Log in to websites with XMPP! Meant for use with XMPP OIDC Connector.
  • Improvement: Slightly faster rejoining of MUCs when push helper reconnects.
  • Fix: Notify from push helper when catchng up with messages from group chats.
  • Fix: Fresh reconnect from push helper no longer kills push notification registration.
  • Fix: Don't block OMEMO sending if we can't find devices immediately.
  • Fix: Outgoing messages are never permanently stuck in the send queue.
  • Fix: Address potential queued send deadlock.
  • Fix: Don't show verify notices in unencrypted MUCs.
  • Fix: Record decrypt failure details for debugging.
  • Fix: Convert OMEMO trust rows written by a still-running 0.6 after migration 0088.
  • Fix: Package channel_tool for Sailfish and Ubuntu Touch, for CLI-based XMPP blogging.
  • Fix: Bump webpki-roots to 1.0.10 (drops emSign ECC Root CA - G3).

Comments

dumol's picture

Is sending files supported? Getting this error with any contact or remote server: “No compatible attachment transport is available.”

Dimasik's picture

Ah, yes, I see my coment on Openrepos . Then need to look on your git site.

Dimasik's picture

Hey in the round. I am trying since some weeks livewire on SFOS with JP2 batch 1. I use most of the time different devices fot same accounts. Since last livewire update I cannot write to my other account with Conversations and Gajim active clients. There are error messages aboit untrusted devices, but no devices listed. Is it already known bug?

projectmoon's picture

Not a known bug. You should see a list of devices in the OMEMO trust list, if you swipe left in chat and go into it from there. They should, in theory, be automatically trusted. If they are not trusted/verified, verify them. Also, possibly turn off global strict mode, make sure it's default in the app settings. This will make Livewire return to its normal default OMEMO yolo state, but now with more informative bubbles about when people log in to new devices.

If none of the above works, then more in-depth investigation is needed, at which point I would ask you either join the MUC or open an issue on the Git repository.

davodego's picture

I am happy about a native xmpp app in Sailfish. Could you make it that sharing via livewire is possible? Especially from Android. I often share from Tusky and cannot choose Livewire. That would be cool.

projectmoon's picture

The next major release is focused specifically on file transfers, sharing, etc. So this request will probably make it into that release. https://git.agnos.is/projectmoon/livewire/issues/133

Dimasik's picture

Hello, i cannot send anything to some contacts. The error says, there are no trusted devices, but if I go to the righ menu to check devices, there is nothing, only "All devisec trusted or verified. But for short time there is also error message „invalid omemo device trust value: trusted” .

projectmoon's picture

Sounds like a bug in the OMEMO trust implementation(s) that's beyond a simple discussion on OpenRepos. It would be best to create an issue at https://git.agnos.is/projectmoon/livewire/issues with a bit more information. The "invalid device trust value: trusted" bit is very suspicious looking and is not something I (or anyone else) have run into while testing OMEMO trust thus far.

norayr's picture

i confirm, downloaded 32-bit rpm works on xperia-xa2 device.
problem: i tried to login with my main, utf-8 user@domain.
livewire was stuck on connectting.
if i restarted the app it was still 'connecting' and would not allow me to try non-unicode xmpp account.
i restarted the phone and it was stilr in that mode. so i removed .config and .local livewire dirs and i was able to login with ascii jid.

would be great if you managed to make utf-8 usernames and domains work as well.

norayr's picture

someone from a random muc here. i have downloaded and installed rpm without problems. program runs. when logging in with utf-8 jid, dt says connecting indefinitely.
will test further.

dumol's picture

Can test 32bit package for you. Let me know through XMPP at dumol@jabber.org, thanks!

projectmoon's picture

You can find the 32-bit RPM for the current stable version here: https://git.agnos.is/projectmoon/livewire/releases/tag/v0.7.0

The report is based off a few random messages from someone in a MUC, so I have very little information about what's going on. I would at least expect it to install, even if it doesn't launch...

dumol's picture

Thank you! The armv7hl package installs on my XA2, launches, authenticates my account at jabber.org, lists my contacts, etc.

Can't test much more though, my contacts stopped using XMPP years ago. Used to be a heavy user, have convinced close family members to use jabber.org at some point. Unfortunately, WhatsApp have corrupted almost everyone around here.

If someone can send a message to my account at dumol@jabber.org, I'll be grateful. Would love to see Foghorn in action...

dumol's picture

Have received some messages through Livewire, all fine with that too… Can also see my XMPP messages from Thunderbird sent using my jabber.org account.

But I can't, for the life of me, send any message to the other party from Livewire. I've tried all combos of encryption settings, but the lock in the conversation window is always labelled as Modern. And, after attempting to send, I get the error Encryption failed: OMEMO 2 device-list fetch failed: account@server.tld: iq round-trip timed out.

projectmoon's picture

Have you tried swpiing left (or tapping in the top right) in the chat itself and picking Compatible encryption there?

dumol's picture

Had no idea of this option, thanks for the suggestion! Anyway, Livewire started allowing me to send messages to this contact after a restart of the app, i think. I remember also having to blindly trust some fingerprint. He's using Monal.

I now see modern encryption being set in general settings while compatible mode is set for this contact. All good, i guess...

projectmoon's picture

Good that works, but the app should handle the case you described, so it sounds like a bug. There are two forms of auto-detection of encryption: one based on XEP-0155 negotiation (only works with other Livewire clients at this time), and the original auto-detect logic which counts number of active OMEMO devices for each type of OMEMO and picks the one that makes sense.

Some explanations:

  • Preferred Encryption: this is the type of encryption that Livewire will broadcast if it answers the session negotiation. The idea is that if both devices in the negotiation support this, it will use that encryption. Otherwise it will use a different encryption type.
  • Negotiation should time out after 30 seconds and fall back to the automatic selection logic. Maybe this is the problem? Did you see a "getting chat ready" banner thing in these situations, before setting the encryption manually?
dumol's picture

Thank you for the explanations! Honestly, can't recall if there was a "getting ready" banner or not.

ghazouani's picture

I can't believe that there is a app for XMPP with this great progress, I hope you continue to develop 

There is a slow connection to the server and a slow arrival of notification, and is there a solution to reach the alerts and the application is closed?

lorenzo's picture

Very Nice!