Your rating: None Average: 5 (39 votes)

Whisperfish is an advanced but unofficial Signal client. Whisperfish should be in a usable state for many users, but is still considered beta quality software; make sure to always have the latest version! Also, check our Wiki and feel free to contribute to it! Currently, mimimum supported SailfishOS version is 3.4. We intend to keep compatibility with 3.3 for as long as humanly possible.

Do not ever contact the Signal developers about a Whisperfish issue. You will annoy them and make them dislike us. Contact us instead (see below).

What to expect


If you had a pre-existing, working 0.5 installation with default settings, migration should be a breeze. Notably not working:

  • Creating groups, inviting new members, deleting members (planned for later)
  • Message quotes (the UI element is there, but the implementation currently lacks)
  • Many other UI features are just stubs at this point.
  • Whisperfish as secondary device, if you register Whisperfish, your previous registration (Android/iOS) gets disabled.

SailfishOS platform version notes and known issues

The intention is to keep as many versions of SailfishOS supported for as long as possible. Some versions show bugs specific to that SailfishOS version. If it is not possible to upgrade to the version mentioned below, you can use the workarounds mentioned here.

Currently highest tested SailfishOS version: SailfishOS 4.2

SailfishOS 3.x series

Bugs present in the Sailfish 3.x series

In principle, Whisperfish works on SailfishOS 3.3, except for registration.

SailfishOS 4.x series

The Sailfish 4.x series introduced a few issues, and possibly new features; notably:

  • Registration on SailfishOS EA. The rendering of a reCAPTCHA does not work in any of the available webviews. This will be fixed in the next SailfishOS release. Meanwhile, use this patch which will be offered to you as an update after enabling this OpenRepos repository. Install the update and then register. Do not install it on any other version than SailfishOS 4.0, there's no need. If it still doesn't work, run zypper ref ; zypper dup -r openrepos-rubdos on the command line as root and accept the update of the three webview packages.
  • Especially SailfishOS 4.2 required a major change in the event loop structure. Make sure you use Whisperfish 0.6.0-beta.6 or later.

Contribute: get in touch, report issues and translate!



If the app behaves strangely or slow (I have a strong dislike for slow software) to you, please get in touch on Matrix #whisperfish:rubdos.be or on Libera.Chat #whisperfish, file an issue, or send an email to whisperfish [at] rubdos [dot] be, or post on the SailfishOS Forum topic. If it works well already, alse let me know! That's good for morale.

Development and progress


Follow the progress of the rework in the 0.6 milestone on Gitlab. If you are interested in contributing, contact me on Gitlab. If you want to discuss development, join the discussion on Matrix #whisperfish:rubdos.be.

There are nightly builds (in form of RPM) available on Gitlab. Nighlies eat batteries for breakfast, break up with your girlfriend, and use magic to turn phones into bricks. If you want to use them, please come and chat on Matrix or IRC. Whenever there is a version that makes sense, and has a low probability of tearing apart the very fabric of the universe, it'll be here on Open Repos!



Thanks for the support, feel free to buy me a coffee! Liberapay allows for donations via PayPal or credit card. While I do appreciate the donations, please consider matching your donation towards Signal themselves. They need it more than I do, now more than ever! Also consider donating to Weblate, because they provide their translation hosting service to us and many other SailfishOS applications at no cost!

License note

The original Whisperfish 0.5.0, by Andrew, was released under GPLv3+. Since we are using the upstream code of Signal themselves, partly licensed under AGPLv3+, the whole of Whisperfish 0.6.0 falls under AGPLv3+.

Application versions: 
File harbour-whisperfish-0.6.0-0.alpha_.1.armv7hl.rpm2.19 MB08/07/2020 - 11:14
File harbour-whisperfish-0.6.0-0.alpha_.1.i486.rpm2.34 MB08/07/2020 - 11:14
File harbour-whisperfish-0.6.0-0.alpha_.2.i486.rpm5.75 MB20/09/2020 - 18:58
File harbour-whisperfish-0.6.0-0.alpha_.2.armv7hl.rpm5.3 MB20/09/2020 - 18:58
File harbour-whisperfish-0.6.0-0.alpha_.3.i486.rpm6.33 MB01/11/2020 - 20:33
File harbour-whisperfish-0.6.0-0.alpha_.3.armv7hl.rpm5.78 MB01/11/2020 - 20:33
File harbour-whisperfish-0.6.0-0.alpha_.4.aarch64.rpm6.21 MB17/11/2020 - 16:05
File harbour-whisperfish-0.6.0-0.alpha_.4.armv7hl.rpm6.17 MB17/11/2020 - 16:05
File harbour-whisperfish-0.6.0-0.alpha_.4.i486.rpm6.75 MB17/11/2020 - 16:05
File harbour-whisperfish-0.6.0-0.alpha_.5.aarch64.rpm6.13 MB21/11/2020 - 14:54
File harbour-whisperfish-0.6.0-0.alpha_.5.i486.rpm6.66 MB21/11/2020 - 14:54
File harbour-whisperfish-0.6.0-0.alpha_.5.armv7hl.rpm6.1 MB21/11/2020 - 14:54
File harbour-whisperfish-0.6.0-0.alpha_.6.aarch64.rpm6.1 MB21/12/2020 - 18:34
File harbour-whisperfish-0.6.0-0.alpha_.6.i486.rpm6.62 MB21/12/2020 - 19:04
File harbour-whisperfish-0.6.0-0.alpha_.6.armv7hl.rpm6.07 MB21/12/2020 - 19:04
File harbour-whisperfish-0.6.0-0.alpha_.7.aarch64.rpm6.17 MB12/01/2021 - 12:38
File harbour-whisperfish-0.6.0-0.alpha_.7.i486.rpm6.68 MB12/01/2021 - 13:08
File harbour-whisperfish-0.6.0-0.alpha_.7.armv7hl.rpm6.14 MB12/01/2021 - 13:08
File harbour-whisperfish-0.6.0-0.alpha_.8.aarch64.rpm6.86 MB09/02/2021 - 13:11
File harbour-whisperfish-0.6.0-0.alpha_.8.i486.rpm7.45 MB09/02/2021 - 14:16
File harbour-whisperfish-0.6.0-0.alpha_.8.armv7hl.rpm6.74 MB09/02/2021 - 14:16
File harbour-whisperfish-0.6.0-0.alpha_.9.aarch64.rpm6.82 MB19/03/2021 - 12:11
File harbour-whisperfish-0.6.0-0.alpha_.9.i486.rpm7.42 MB19/03/2021 - 12:24
File harbour-whisperfish-0.6.0-0.alpha_.9.armv7hl.rpm6.72 MB19/03/2021 - 12:25
File harbour-whisperfish-0.6.0-0.beta_.1.aarch64.rpm5.55 MB25/04/2021 - 15:26
File harbour-whisperfish-0.6.0-0.beta_.1.i486.rpm5.91 MB25/04/2021 - 15:52
File harbour-whisperfish-0.6.0-0.beta_.1.armv7hl.rpm5.78 MB25/04/2021 - 15:52
File harbour-whisperfish-0.6.0-0.beta_.3.i486.rpm5.88 MB07/06/2021 - 13:40
File harbour-whisperfish-0.6.0-0.beta_.3.aarch64.rpm5.5 MB07/06/2021 - 13:40
File harbour-whisperfish-0.6.0-0.beta_.3.armv7hl.rpm5.69 MB07/06/2021 - 13:40
File harbour-whisperfish-0.6.0-0.beta_.4.i486.rpm6 MB23/07/2021 - 16:31
File harbour-whisperfish-0.6.0-0.beta_.4.armv7hl.rpm5.8 MB23/07/2021 - 16:31
File harbour-whisperfish-0.6.0-0.beta_.4.aarch64.rpm5.58 MB23/07/2021 - 16:31
File harbour-whisperfish-0.6.0-0.beta_.5.i486.rpm6.01 MB28/07/2021 - 15:15
File harbour-whisperfish-0.6.0-0.beta_.5.armv7hl.rpm5.79 MB28/07/2021 - 15:15
File harbour-whisperfish-0.6.0-0.beta_.5.aarch64.rpm5.59 MB28/07/2021 - 15:15
File harbour-whisperfish-0.6.0-0.beta_.6.armv7hl.rpm5.91 MB17/09/2021 - 10:23
File harbour-whisperfish-0.6.0-0.beta_.6.aarch64.rpm5.71 MB17/09/2021 - 10:23
File harbour-whisperfish-0.6.0-0.beta_.6.i486.rpm6.19 MB17/09/2021 - 10:23

Whisperfish 1.0.0 (planned)

The milestone on GitLab for this release

Many big plans!

Whisperfish 0.6.0 (planned)

The milestone on Gitlab for this release


  • Feature parity with, and modernized version of Whisperfish 0.5.

Whisperfish 0.6.0-beta.6

Edition "invert the event loop". Write-up here: https://github.com/woboq/qmetaobject-rs/issues/102#issuecomment-919798690




Whisperfish 0.6.0-beta.5


  • Reception of messages with attachments, but without accompanying text
  • Show contact/payment/deletion/group call update messages as "unimplemented" instead of empty.

Whisperfish 0.6.0-beta.4


  • MyBackup compatibility, thanks to Nathan!
  • Display group changes and message timer changes in chat.


  • Fix usage of configured attachment path
  • Fix the many empty messages sent by Android and iOS clients for profile key pushes


  • Add Lithuanian, by Gediminas Murauskas
  • Updates to Greek, French, Turkish, Dutch, and Vlaams. Thanks to all contributors!

Whisperfish 0.6.0-beta.3

Emergency release for the HTTP-500 "nothing can be send" bug and the BadKeyType bug.


Whisperfish 0.6.0-beta.2 (yanked)

Emergency release for the HTTP-500 "nothing can be send" bug.



Whisperfish 0.6.0-beta.1

The milestone on Gitlab for this release



  • We have a Weblate account now!
  • Portuguese translation, thanks to Yield and Antonio Maretzek!
  • Czech translation, thanks to PawelSpoon!
  • Turkish translation, thanks to Oğuz Ersen!
  • Nowegian translation, thanks to Allan Nordhøy!
  • Many, many, many, MANY cleanup operations on Dutch, German, French, and Spanish, thanks to Nathan, Dryo, and J. Lavoie!


  • More stable reconnection management. Flight mode and network changes should now work as expected.
  • Access contacts through the Nemo QML interface instead of raw contacts.db. This interface will probably be more stable than the raw SQLite, and keeps compatibility across 3.x and 4.x.
  • A "privileged file" allows us to read contact lists again on SailfishOS 4.0
  • More or less fixed video playback
  • Fix lingering notifications on session activation, thanks to flypig!
  • JPEG rotation is now correct in Whisperfish (but not yet on Android), thanks to Mirian Margiani.
  • Image zoom is more intuitive for images that are almost the same size as the screen, thanks to Mirian Margiani.

Whisperfish 0.6.0-alpha.9

Fixes startup on upgraded contact database.

Whisperfish 0.6.0-alpha.8


Whisperfish 0.6.0-alpha.7



  • Create the correct attachments download directory, should fix attachments downloading for new installations.
  • Some phone numbers (notably with dashes, parantheses or dots) did not show up with names.
  • New members in a group show up, group renames come through.
  • Group members show up as names, not phone numbers, thanks to Thomas Michel.
  • Fixes copying message to clipboard, thanks to Thomas Michel.
  • Auto-focus password field, thanks to Markus.

Whisperfish 0.6.0-alpha.6


  • The conversation page got a complete overhaul in design. I hope you like it.


  • Fix a race condition during registration, which may corrupt the settings file.
  • Sent messages update the session view
  • More names show up correctly in session view (please file an issue if it's still buggy!)
  • Session sections
  • Sent attachments show up as thumbnails
  • Some translation work in the (currently disfunctional) Device List page

Whisperfish 0.6.0-alpha.5


  • Sending new messages to a single contact, clean-up of contact selection
  • Started French language translation
    • French translation finished (thanks Thibaut Vandervelden)
  • Spanish translation got a lot of clean-up (thanks carlosgonz)
  • Settings page looks a lot nicer


  • Settings page revamped, looks a lot cleaner
  • attachment_dir was not set on settings init.
  • Contact DB fix for non-nemo users (new 3.4 installs, alternate users)
  • Show build ID in about screen
  • Notifications with vibration and sound

Whisperfish 0.6.0-alpha.4

The milestone on Gitlab for this release


Under the hood:

  • Partial support new UUID-based identifiers
  • Initial tooling for future database migrations
  • Pre-key refreshing
  • Attachment failure log (set attachment_log=true in harbour-whisperfish.conf)

Whisperfish 0.6.0-alpha.3

The milestone on Gitlab for this release

  • Sending direct and group messages, notably no attachments.

Whisperfish 0.6.0-alpha.2

The milestone on Gitlab for this release

  • Receiving messages and their attachments

Whisperfish 0.6.0-alpha.1

The milestone on Gitlab for this release

  • GUI performance improvement


inte's picture

Is it just me or are conatcts not syncing any more in And, by the way, the contact name shown previously appears to be the name stored in the nickname field which is not optimal since messenger id is stored in this field by the system when using the built in chat function??

rubdos's picture

Definitely not just you. It's in the description:

This is fixed in the master branch. Maybe I should branch out *yet another* alpha, now that 4.0 is actually released...

edp17's picture

Thank you for working on native a Signal client.
The previous ones worked fine but the latest version on my Note4 port (SFOS doesn't work. When I hit the Register button, I only get a white screen, then little later it displays a message at the top: "Could not connect to the reCAPTCHA service. Please check your internet connection and reload to get a reCAPTCHA challenge."
The internet (wifi) is on as I just installed the app and there is no way to reload the page. There is some log here: https://paste.ubuntu.com/p/XYw92dYNKv/

rubdos's picture

This is sadly something we didn't get to work around on 4.0. See known issues here in the description and on https://gitlab.com/rubdos/whisperfish/-/wikis/home

I suggest you register on a 3.4 device and copy over your storage directories, we do not a have a fix handy yet, we're awaiting a bug report with Jolla.

edp17's picture

Thank you. I'll try that.

rubdos's picture

Check https://gitlab.com/rubdos/whisperfish/-/issues/229 for the right directories!

lunatix's picture

Hello @rubdos and thank you very much for this app. Here my few questions:
- Do you confirm that we cannot run the android app and your app at the same time?
- Is there any workaround to join existing groups ? Or do we need to create new groups ourselves?
- Any plan to implement the "swipe move" to answer to a specific message?
Once again, thank you very much for your work, keep it up!

rubdos's picture

Yes, Whisperfish and the Android Signal app are both "primary device" apps. Ntninja has a work-in-progress branch that would enable Whisperfish to act as "secondary device", which would enable using WF and an official app at the same time. This is not a priority for me though.

No workaround for GroupV2, we have to implement completely new crypto for this. Creating groups from Whisperfish is also not possible. The only thing you can do, is to ask a group member to create a new group that includes you from the beginning. GroupV2 is high on the priority list because of several reasons.

Swipe move? If you refer to "reacting" to a message (both with emoji and with text), yes, this is planned, but not a priority currently.

lunatix's picture

Thank you for your answers!

deprecated's picture

@rubdos Thank you for all your hard work and devotion to our community. If there's anything I can help with (testing, trying different configurations, etc.) I'll be glad to do so.

Am I correct in assuming that, if I register Whisperfish before updating to Sailfish 4.x, the captcha rendering should work okay?

Thank you!

rubdos's picture

Very correct assumption! I urge everyone to register before upgrading to 4.0, because I'm not sure whether we will resolve this issue before 4.1 comes out. There seems to be an issue with Jolla's library.

Testing is very much appreciated indeed. If you want to live on the edge, you can download the master branch builds, but if you do so, please come have a chat on IRC or Matrix :-)

csg1976's picture

Cannot register for some reason. "Client could not be set up"

rubdos's picture

We're currently working on fixing this, as currently written in the description. Getting it done is a bit more difficult than expected. :-(

damoleon's picture

Edit : sorry I missed the part above where it says it's planned for beta1 :) I'll wait, thanks :)


Thanks again for this app. Is linking the device with signal desktop implemented yet ?

when I copy the url to link the device and click on "add". It just comes back to the "linked devices" page. But the device isn't linked even after "refresh".

Keep up the nice and hard work :)

rubdos's picture

Thanks! Beta 1 will be glorious! :-)

jlaitine's picture

Thanks for this app and for the quick response, I'm looking forward to try out the alpha.8! And sorry for the formatting of the log, it didn't come out quite right when I tried to copy-paste directly on the phone...

rubdos's picture

No worries about the formatting. Your log definitely confirmed that there's a fundamental problem, it's been very helpful :-)

jlaitine's picture

Hi, I tried to take this into use, but registration fails. I tried 0.6.0-alpha7 and 0.6.0-beta1 nightly

here is some log:


Sailfish OS (Pallas-Yllästunturi)'---[nemo@XperiaXA2-DualSIM ~]$ harbour-wharbour-whisperfish   harbour-wifianalyser[nemo@XperiaXA2-DualSIM ~]$ harbour-wharbour-whisperfish   harbour-wifianalyser[nemo@XperiaXA2-DualSIM ~]$ harbour-whisperfish[D] unknown:0 - Using Wayland-EGL[W] unknown:42 - file:///usr/share/harbour-whisperfish/qml/cover/UnreadLabel.qml:42:15: Unable to assign [undefined] to QString[D] onTriggered:184 - Page status: 2[W] unknown:157 - file:///usr/lib/qt5/qml/Sailfish/Silica/DialogHeader.qml:157: TypeError: Cannot read property 'backIndicatorDown' of null[W] unknown:152 - file:///usr/lib/qt5/qml/Sailfish/Silica/DialogHeader.qml:152: TypeError: Cannot read property 'backIndicatorDown' of null[W] unknown:212 - file:///usr/lib/qt5/qml/Sailfish/Silica/DialogHeader.qml:212: TypeError: Cannot read property 'forwardIndicatorDown' of null[W] unknown:207 - file:///usr/lib/qt5/qml/Sailfish/Silica/DialogHeader.qml:207: TypeError: Cannot read property 'forwardIndicatorDown' of null[D] onTriggered:156 - Page status: 2[2021-02-02T22:38:47Z ERROR harbour_whisperfish::worker::setup]Error in registration: Unexpected response: HTTP 402[D] :42 - Failed to setup Signal client



rubdos's picture

Hi! It looks like since yesterday, second of Februari, we see hightened requests from Signal for Whisperfish users to file a captcha. Some developers (including me) have gotten them too.

I will prioritise the captcha implementation now. There doesn't seem to be a viable workaround. I'll make a note in the description, and break out an alpha.8 soon™.

mz_i_norge's picture

Thx for your fast reply. Nice to hear that you have all my questions on your desk. I will go on using Wf on my Jolla C and for the rest I will do like Wonko, wait for the next release. :-)

mz_i_norge's picture

Thx for the nativ client for Signal. Good job and I hope for ongoing development. There are to things to say. It took me 3 days to find the button for sending pictures. (For others: it's not a separate button, you have to press and hold the send-button and the option for sending files will appear ;).) Please insert a description for this function on the about-page.
I don't know how to get an overview about my contacts using Signal/ Whisperfish. When I open a new communication all my contacts appear in the list (and I know that only a few of them have Signal). One more thing, can you please make a checkbox in the settings to start without password?
Otherwise brilliant and keep up the good work.

rubdos's picture

Wrt. attachments, I'll do you one better: I yesterday merged a new UI with a separate attachment button. Will be a lot clearer this way. Will be in the next release!

Contact filtering is scheduled, but needs some work still.

Starting without password is the same story, but the first steps have been made this week: the next release will allow to register anew without setting a password. Disabling the password is quite involved.

Wonko's picture

Thank you very much for Whiperfish. I really love the idea of a native SF Signal agent. I recently ran into problems with a friend also using Whisperfish. During a conversation we changed clients and had to reset the crypto. We could not find any control in Whisperfish to do that and so I had to use the Droid client so restart the conversation. Did we miss something or is this feature not implemented yet?

rubdos's picture

I have implemented this yesterday, it will be included in the next release. If you can't wait, you can download the master branch RPM.

Wonko's picture

Thank you very much. I will wait for the next release. And I really appreciate your work.

chris_bavaria's picture

Please post your PayPal adress for donation! Thx

rubdos's picture

Hi! I added a PayPal account to my Liberapay page. Let me know if that worked. Please also consider matching your donation towards Signal, or let me know, and I can split the donation.

rossholmes's picture

Hmm. Suddenly started to work :) Ignore the above please. And thank you again!

rubdos's picture

Signal's servers were down! Things seem to be better now :-)

I've taken notes to see how we can respond to this with a message, at https://gitlab.com/rubdos/whisperfish/-/issues/175.

rossholmes's picture

Thanks very much for the app! I've installed it and went through the registration process. I am able to receive messages, but the ones I send doesn't reach my contact. What am I missing? Cheers