Whisperfish

Rating: 
4.97436
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 4.0.1.45 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!

Donations

 

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

Screenshots: 
Application versions: 
AttachmentSizeDate
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
Changelog: 

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

Features

  • 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

Features

 

Fixes

Whisperfish 0.6.0-beta.5

Fixes

  • 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

Features

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

Fixes

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

Translations

  • 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.

Fixes

Whisperfish 0.6.0-beta.2 (yanked)

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

Features

Fixes

Whisperfish 0.6.0-beta.1

The milestone on Gitlab for this release

Features

Translations

  • 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!

Fixes

  • 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

Features/fixes

Whisperfish 0.6.0-alpha.7

Features

Fixes

  • 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

Features

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

Fixes

  • 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

Features

  • 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

Fixes

  • 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

Features:

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

Comments

aviarus's picture

I think the last two or three lines are relevant

aviarus's picture

[defaultuser@Xperia10II-DualSIM ~]$ harbour-whisperfish
[D] unknown:0 - Using Wayland-EGL
library "libGLESv2_adreno.so" not found
library "eglSubDriverAndroid.so" not found
[W] __cpp_closure_14317703314545309294_impl:182 - Failed to load translator
for ("sv-SE") Searched "/usr/share/harbour-whisperfish/translations" for "ha
rbour-whisperfish"
[W] unknown:0 - "Query failed: no such function: icu_load_collation Unable t
o execute statement\nSELECT icu_load_collation('sv_SE', 'localeCollation')"
[W] unknown:0 - "Failed to configure collation for locale sv_SE: "
[W] unknown:0 - "Query failed: no such function: icu_load_collation Unable t
o execute statement\nSELECT icu_load_collation('sv_SE', 'localeCollation')"
[W] unknown:0 - "Failed to configure collation for locale sv_SE: "
[W] unknown:0 - "Failed to attach key memory region for qtcontacts-sqlite-np
: QSharedMemory::attach (shmget): doesn't exist"
[W] unknown:0 - "Failed to open contacts transient store"
[W] unknown:0 - "Unable to open synchronous engine database connection"
[W] unknown:0 - QSqlQuery::prepare: database not open
[W] unknown:0 - "Failed to prepare distinct display label group selection qu
ery: \n SELECT DISTINCT DisplayLabelGroup FROM DisplayLabels ORDER BY Displ
ayLabelGroupSortOrder ASC"
[D] unknown:0 - Starting favorites query at 452 ms
[D] unknown:0 - Favorites queried in 579 ms
[D] unknown:0 - Starting metadata query at 663 ms
[D] unknown:0 - All queried in 680 ms
greHome from GRE_HOME:/usr/bin
libxul.so is not found, in /usr/bin/libxul.so
JavaScript error: resource://gre/modules/XPCOMUtils.jsm, line 261: TypeError
: Cc[aContract] is undefined

aviarus's picture

Unfortunately the latest build crashes on aarch64 at registration

illyrion's picture

After reboot it works properly. Thanks @DrYak

illyrion's picture

Cannot start Whisperfish on my XA2 Ultra after update to SFOS 4.2.

DrYak's picture

as rubdos has mentionned: you need to switch to upgrade to version beta.6 as he has reqrote even handling code.

(also you need to kill any version beta.5 still running in the background. So either use your favorite tool for killing apps or simply restart the phone after the beta.6 upgrade and before trying to tun it).

rubdos's picture

Ah damnit, that's still a bug? I wrote it down here: https://gitlab.com/whisperfish/whisperfish/-/issues/383

Thanks for broadcasting the work-around.

DrYak's picture

This pages says:

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.

But currently only beta.5 is showing here.
And on the Gitlab page, beta.6 is available only for 486 and Aarch64.

I guess something broke in your CI/CD system?

Note: If I am not mistaken, it's the exact same commit as nightly "dev.b1615.3e46652", so I guess I could use that.

rubdos's picture

Fixing as we speak. Altered the changelog while it was still building :-)

aviarus's picture

Since the update to 4.2 on aarch64, it isn't starting anymore :/ not even a message in the terminal if i try to start it from there

rubdos's picture

Yes, very well known by now. I'm working on it, but it's not easy.

Olsen's picture

Your wiki on gitlab states linking devices (signal desktop) under Notably unimplemented features -- but it works!

rubdos's picture

Hi! Thanks for noticing! I've updated that page a lot now :-)

deho's picture

Dear developer

What is the right version to install for Sailfish 3.4? The aarch didn't seem to work, but the armv installed, but I can't set my password there. What is the i486 version for?

In one earlier version from last winter I was not able to connect Whisperfish to my Linux laptop client. Let s see if this latest version fixes that.

 

rubdos's picture

Hello deho,

The right version depends on your device. The easiest is to install Warehouse, and let Warehouse decide which version to install. Most Sailfish devices use the armv7 version, except for Xperia 10 II and the Jolla Tablet.

You will probably want to reset Whisperfish (https://gitlab.com/whisperfish/whisperfish/-/wikis/Frequenty-Asked-Quest...) and disable the Registration Lock on your Android or iOS (https://gitlab.com/whisperfish/whisperfish/-/wikis/Frequenty-Asked-Quest...), before trying to register again.

Good luck! Feel free to ping me on IRC/Matrix for help.

deho's picture

Thansk for the reply. I use the original Jolla one.

rubdos's picture

Then you need the armv7 version!

Jaxxops's picture

Hi, I recently disconnected Whisperfish and uninstalled it. When reinstalling it, it remembers my phone and when I press Reconnect nothing happens. In what file is this data stored and can I remove it for a clean reinstall? Thanks in advance!

rubdos's picture

Deleting the registration cannot currently be done through the UI, but you can do it from command line: https://gitlab.com/whisperfish/whisperfish/-/wikis/Frequenty-Asked-Quest...

Olsen's picture

Just tried to register in Whisperfish. When I entered the registration code (received via sms) Wihisperfish tells me (won't be the exact wording; translated to english by myself):

Error

Failed to setup the signal client

Please restart Wisperfish. If the problem persists and Whisperfish seems to be the cause, please report this issue.

Et Voilá!  ;-)

What can I do? I'm running Whisperfish 0.6.0.0.beta.5 on SFOS 4.1.0.24 / Xperia X.

 

rubdos's picture

Are you coming from Android or iOS with the same phone number? If so, you need to disable registration lock

Olsen's picture

That's it; thank you!

Maybe you could include this hint in the error message.

rubdos's picture

Thing is, if I'm dispatching on the error type, we might as well implement the whole unlocking procedure :-)

zipotron's picture

Hi rubdos, good update! working much more better. I promise you dont use any other client from when is going a be audio messages implemented!

rubdos's picture

Haha nice! Thanks for the feedback :-)

explit's picture

Restarted many times with same result... Xperia XA2+, OS: 4.2.0.8

rubdos's picture

Once was definitely enough.

Please run these commands (which disables the daemon mode/autostart):

systemctl stop --user harbour-whisperfish
systemctl disable --user harbour-whisperfish

Then start Whisperfish from command line again, and let me know how it turns out.

Only now I notice you're running 4.2, which I haven't tested yet, so it possibly has something to do with that. Did beta.3 work for you on SailfishOS 4.2?

explit's picture

Hi rubdos, and thanks for the info. systemct commands didnt solved the issue, 4.2 is only a small stability update for 4.1, and yes, the last version before updated worked fine on 4.2

rubdos's picture

Hi, please run those commands again, and then start Whisperfish from command line and provide me with the logs that you have then.

explit's picture

ultuser@XA2P-H4493 ~]$ harbour-whisper
fish
[2021-07-24T21:30:28Z ERROR harbour_whisper
fish] Did not receive a reply. Possible cau
ses include: the remote application did not
send a reply, the message bus security pol
icy blocked the reply, the reply timeout ex
pired, or the network connection was broken
.
[defaultuser@XA2P-H4493 ~]$

Pages