Your rating: None Average: 4.7 (22 votes)

Shmoose - Xmpp Client for Sailfish OS


ATTENTION!!! Database format will change until v1.0.0. All your existing conversations from a previous installation will not show up anymore after an update!!!



Starting with Sailfish OS version you need to adjust the suspend settings of your device:

* pkcon refresh
* pkcon install mce-tools
* mcetool -searly

This disables late suspend of the device. Battery drain is only slightly more at my device with this setting. This setting is persistent over reboots and has to be done only once. Without this, the longterm TCP connection will drop after a short amount of time and you won't get notifications on new messages.


What you get is:

- One to one messaging (optional with Omemo encryption as experimental feature)

- Initial group messaging (Automatic room join on inventation or join open room by address)

- Sent, received and read status of messages

- Notifications on new messages

- Send pictures


Keep in mind that this is an alpha release. Many things work. Some things may have bugs. Lot of features are missing. For current status see the project page on github:

Are you good at qml, C++ or encryption? Any help is appreciated.

Application versions: 
File harbour-shmoose-0.1.0-1.armv7hl.rpm16.23 MB25/01/2017 - 22:49
File harbour-shmoose-0.1.1-1.armv7hl.rpm16.24 MB28/01/2017 - 22:22
File harbour-shmoose-0.2.0-1.armv7hl.rpm16.23 MB15/02/2017 - 21:54
File harbour-shmoose-0.3.0-1.armv7hl.rpm16.35 MB03/08/2017 - 21:31
File harbour-shmoose-0.4.0-1.armv7hl.rpm16.35 MB12/12/2017 - 21:38
File harbour-shmoose-0.5.0-1.armv7hl.rpm2.41 MB20/02/2019 - 22:27
File harbour-shmoose-0.6.0-1.armv7hl.rpm2.43 MB03/10/2019 - 22:05
File harbour-shmoose-0.7.0-1.armv7hl.rpm4.23 MB19/12/2020 - 00:01
File harbour-shmoose-0.7.1-1.armv7hl.rpm4.23 MB08/02/2021 - 23:02
File harbour-shmoose-0.7.1-1.aarch64.rpm4.72 MB30/06/2021 - 18:37
File harbour-shmoose-0.8.0-1.armv7hl.rpm4.4 MB07/01/2022 - 14:52
File harbour-shmoose-0.8.0-1.aarch64.rpm4.89 MB07/01/2022 - 14:52


  • Omemo as optional and experimental feature
  • http_upload improvements (by ron282)
    • Content encryption
    • Support any file type
    • UI improvements


  •  Fixed UI glitch on (really) long room subject.


  • Updated Swiften to Version 4
  • Message Carbons now available
  • Improved MaM
  • Settings for notification
  • UI also available in Landscape mode
  • Pictures pitch- and zoomable
  • i18n updated
  • Many small bug fixes


  • Additionally to 1on1 messaging, the status of messages in MUC rooms will also be shown
  • Improved the simple MAM for MUC's
  • Fixed bug in http upload where put and get urls where swaped
  • i18n updates


  • Stripped binary for smaller footprint
  • Fixed room rejoin on connection handover
  • New settings dialog (by slohse)
  • i18n updates


  • message read status through xep 0333
  • http upload fixed (by slohse)
  • i18n (by Caballero)
  • sort pictures by creation date in picker
  • some gui improvements

First draft of group chats

  • Display contact avatars
  • Some gui improvements



Updated Contacts Page

  • Show names of JID's
  • Show subscription and availability status
  • Implemented contact add and remove functionality


Fixed a bug which prevents the app to close properly


w_oe's picture

Thanks for the hint. I wasn't aware that I'm getting prereleases, oh well. The .desktop file change didn't work for me, unfortunately.

w_oe's picture

Since SFOS shmoose no longer notifies me of incoming messages, no blue LED either. Some permission missing?

slava's picture

AFAICT all apps got sandboxed in 4.4. To disable sadboxing, you need to add


to the .desktop file

schorsch's picture

I am still at the latest 4.3.x version. This phone is my daily driver and I cant effort to break it with a dev firmware. If you are able to debug, please do so.

D_R's picture

Okay. Sending via omemo is working only if your contact is onbthe same server.

schorsch's picture

For me, Omemo on the same server works direct without problems. This is also verified by an automated integration test. For omemo messaging through different servers, I have experienced that it need to exchange two or three (plain) messages between the JID's until it automatically get switched to omemo messaging. Currently, I don't know why.

Keep in mind that a pre-requisit is that both JID's are subscribed to each other.

D_R's picture

How can I activate OMEMO?
Sending encrypted is greyed out...

schorsch's picture

You first have to enable it on the global settings page. After that, restart Shmoose. Shmoose will detect if the other jid has omemo capabilities and tries to send omemo encrypted messages per default.

w_oe's picture

Now compliance is 95 % - only XEP-0368 is missing. I will see whether the issue persists.

w_oe's picture

I'm using Prosody 0.11.10 on my own server. Thanks for the compliance tester; I've got 71 % now, maybe some relevant XEP are missing. I will install more.and.test again.

schorsch's picture

Interesting. The receive issue works on my side. Which xmpp server are you using? Can you check compliance here?

w_oe's picture

Another observation: when Shmoose is running, but SFOS decides to close it due to shortness of memory, the cover is still there showing a connected status. No messages are received, and upon restart of Shmoose the unreceived messages do not appear.

w_oe's picture

Btw these white marks are impossible to see in an ambiance with white background.

w_oe's picture

Sorry for the delay. Shortly after (re)connection, the first few messages don't ever get sent, i. e. no check marks appear. I work around by resending via copy/paste so often until the checkmark appears.

schorsch's picture

(Not) sent messages during offline connectivity are easily noticeable by the message status. Lost received messages should not happen. Messages are resend to a client by most servers if client gets online again. Additionally there is limited but working mam implementation, which fetches old messages from the server to really catch up all messages which should be there. There is even an integration test for this which works perfect. Can you reproduce and describe your error case?

w_oe's picture

I use shmoose daily, as I know no better xmpp client for SFOS. Unfortunately that doesn't mean it's perfect. My main gripe is that interrupted connectivity leads to lost messages - both sent and received. Any chance on improving that? Thanks!

w_oe's picture

Thanks lpr for the hint - and the package!

w_oe's picture

Hi, is missing after update to SFOS Any.idea how to fix? Thanks

schorsch's picture

Shmoose is build on a 3.x sdk to also support devices that are not official supported and only have older sfos firmware available. Maybe we should do a poll what sfos version is running on most of the devices having shmoose installed ;-)...

lpr's picture

no, you should look what is available here on openrepos. Openssl1.1.1 for armv7 is available for any SFOS version supporting at least glibc2.17 , so practically for everyone




just install openssl1.1.1 openssl1.1.1-libs and openssl1.1.1-devel plus openssl-libs10 in your old sdk, that is all

lpr's picture
uddghsjauszg's picture

So the armv7hl version works fine for me. Did a little testing and its fairly good even in a daily usecase. Thank you so much, I am dependent on xmpp and this was the only thing holding me back from sfos.

schorsch's picture

You are welcome. Please be aware that currently only 1to1 omemo encryption is supported. Omemo in groups or rooms will be implemented as soon as 1to1 is known to be stable enough.

uddghsjauszg's picture

Thank you!

uddghsjauszg's picture

Meanwhile I've gone again with the cross compiling, got the platformsdk ready and don't really have a clue how to create a target with sb2-init

schorsch's picture

Shmoose needs a lot of libs which are not packaged within sfos. Follow the build instructions on github an all steps will work fine.

uddghsjauszg's picture

I have a qualcomm snapdragon 630 so I guess I'll need the 64bit build

schorsch's picture

There is now a 0.7.99 version for testing purpose at github which includes omemo via lurch plugin. It has some known bugs but should work for straight forward use cases. It may need some message exchange until the omemo encryption starts. As I did not have a 64 bit device, I could not test that build.

uddghsjauszg's picture

Unfortunately I cannot build the rpm for sfos neither cross compile because its either unsupported or finishes with some error. Or I just don't have the skills for it sadly.

schorsch's picture

Maybe I could push my next dev build as a rpm to github. Do you need 32 o 64bit build?