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. The build for SailfishOS 3.x is located in a separate OpenRepos application.
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).
Lot's of stuff should work. Check the forum for an up-to-date known issues list.
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.
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!
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+.
The milestone on GitLab for this release (th
Many big plans!
The milestone on Gitlab for this release
Fix an issue during registration, and some QoL improvements
Overhauls the QML binding system. This should fix all UI inconsistencies, except for a few that are now introduced.
Bugfix release for most of the bugs we introduced in beta.13, and some fixes for changes upstream.
Profile fetching and updating, avatar displaying, sender key and unidentified sender support at receiver side, and much more.
Hotfix release for the new Signal root certificate
Mostly bugfixes for bugs that we introduced in beta.10, but also implements Whisperfish as secondary device. This release is basically completely due to direc85 and Gabriel Margiani; thank you both!
Many quality-of-life updates and technical debt fixes, thanks to the code sprint of Matti and Ruben!
Fixes for stuff in beta.8, mostly.
A bunch of quality-of-life updates, and SailfishOS 4.4 compatibilty! Direc85 did a lot of work in this release. If you consider donating to me for Whisperfish, please also consider buying direc85 a coffee.
Edition "omg OpenSSL".
Edition "invert the event loop". Write-up here: https://github.com/woboq/qmetaobject-rs/issues/102#issuecomment-919798690
Emergency release for the HTTP-500 "nothing can be send" bug and the BadKeyType bug.
Emergency release for the HTTP-500 "nothing can be send" bug.
The milestone on Gitlab for this release
Fixes startup on upgraded contact database.
The milestone on Gitlab for this release
The milestone on Gitlab for this release
The milestone on Gitlab for this release
The milestone on Gitlab for this release
Comments
aviarus
Fri, 2021/11/12 - 08:48
Permalink
I'm on aarch64:
[defaultuser@Xperia10II-DualSIM ~]$ ssu re
WARNING: ssu.ini does not seem to be writable. Setting values might not work.
Device release is currently: 4.3.0.12
[defaultuser@Xperia10II-DualSIM ~]$ harbour-whisperfish --verbose
[2021-11-12T05:46:52Z INFO harbour_whisperfish] Start main app (with autostart = false)
[D] unknown:0 - Using Wayland-EGL
library "libGLESv2_adreno.so" not found
library "eglSubDriverAndroid.so" not found
[2021-11-12T05:46:52Z INFO harbour_whisperfish::gui] QmlApp::application loaded - versio
n v0.6.0-beta.7
[W] __cpp_closure_14317703314545309294_impl:182 - Failed to load translator for ("sv-SE")
Searched "/usr/share/harbour-whisperfish/translations" for "harbour-whisperfish"
[W] unknown:0 - "Query failed: no such function: icu_load_collation Unable to execute sta
tement\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 to execute sta
tement\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: QSharedMemo
ry::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 query: \n SELE
CT DISTINCT DisplayLabelGroup FROM DisplayLabels ORDER BY DisplayLabelGroupSortOrder ASC"
[2021-11-12T05:46:52Z INFO harbour_whisperfish::worker::setup] SetupWorker::run
[2021-11-12T05:46:52Z INFO harbour_whisperfish::worker::setup] identity_key not found
[2021-11-12T05:46:52Z INFO harbour_whisperfish::config::settings] Setting default settin
gs.
[D] unknown:0 - Starting favorites query at 392 ms
[D] unknown:0 - Favorites queried in 564 ms
[D] unknown:0 - Starting metadata query at 701 ms
[D] unknown:0 - All queried in 722 ms
[2021-11-12T05:47:05Z INFO harbour_whisperfish::config::settings] Setting string country
_code
[2021-11-12T05:47:06Z INFO harbour_whisperfish::worker::setup] Using phone number: +4367
66517141
[2021-11-12T05:47:06Z DEBUG libsignal_service_actix::push_service] HTTP request GET https
://textsecure-service.whispersystems.org/v1/accounts/sms/code/+436766517141
[2021-11-12T05:47:06Z DEBUG libsignal_service_actix::push_service] AwcPushService::get re
sponse:
ClientResponse HTTP/1.1 402 Payment Required
headers:
"connection": "keep-alive"
"x-signal-timestamp": "1636696026883"
"content-length": "412"
"content-type": "text/html;charset=iso-8859-1"
"cache-control": "must-revalidate,no-cache,no-store"
"date": "Fri, 12 Nov 2021 05:47:06 GMT"
[2021-11-12T05:47:06Z TRACE libsignal_service_actix::push_service] Unhandled response wit
h body: Ok(b"\n\n\nError 402 Payment Required\n\n
HTTP ERROR 402
Payment Required
\n\nURI:/v1/accounts/sms/code/+436766517141
\nSTATUS:402\nMESSAGE:Payment Requi
red\nSERVLET:jersey\n\n\n\n\n"
)
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[aContrac
t] is undefined
rubdos
Fri, 2021/11/12 - 15:49
Permalink
Are you by any chance on a Pinephone? Because apparently the Captcha is still an issue on the Pinephone.
rubdos
Fri, 2021/11/12 - 15:48
Permalink
Please note that your phone number is readable in this log, you may want to edit this.
402 payment required means that you need to file a CAPTCHA. Signal abuses this status code. Don't you see a CAPTCHA? If not, please do state your full SailfishOS version and which device you use, because this is supposed to work fine.
If possible, it would be a lot easier if you could file an issue on Gitlab.
elakim
Wed, 2021/11/10 - 13:46
Permalink
Hi, I had the device linking to signal.desktop working, but as I started the desktop client again after a long while, it wanted to connect to my device again. That didn't work, so I upgraded the desktop client, and now the URI format in QR code has changed from tdevice: to sgnl: and Whisperfish no longer recognizes it.
rubdos
Wed, 2021/11/10 - 14:33
Permalink
Known and fixed on master, but master is currently broken because other reasons. I'll try and have a look in two weeks.
kettcar64
Sat, 2021/11/06 - 21:59
Permalink
Deprecated, does not install (4.3.0.12)
rubdos
Wed, 2021/11/10 - 14:35
Permalink
You can try https://openrepos.net/content/lpra7/openssl-102-legacy-jollaphone-x-xa2 as a workaround. Adding lpra7's repository should allow you to install WF on 4.3. We're working on a more permanent issue.
aviarus
Sat, 2021/10/23 - 22:23
Permalink
I think the last two or three lines are relevant
rubdos
Wed, 2021/11/10 - 14:40
Permalink
Can you rerun this with harbour-whisperfish --verbose , and then elaborate on which device you use and what version of SailfishOS? Full instructions on https://gitlab.com/whisperfish/whisperfish/-/wikis/home#censor-your-logs
aviarus
Sat, 2021/10/23 - 22:23
Permalink
[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
Sat, 2021/10/23 - 22:22
Permalink
Unfortunately the latest build crashes on aarch64 at registration
illyrion
Fri, 2021/09/17 - 12:46
Permalink
After reboot it works properly. Thanks @DrYak
illyrion
Fri, 2021/09/17 - 11:21
Permalink
Cannot start Whisperfish on my XA2 Ultra after update to SFOS 4.2.
DrYak
Fri, 2021/09/17 - 12:23
Permalink
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
Fri, 2021/09/17 - 18:16
Permalink
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
Thu, 2021/09/16 - 23:46
Permalink
This pages says:
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
Fri, 2021/09/17 - 10:11
Permalink
Fixing as we speak. Altered the changelog while it was still building :-)
aviarus
Thu, 2021/09/09 - 00:24
Permalink
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
Thu, 2021/09/09 - 11:31
Permalink
Yes, very well known by now. I'm working on it, but it's not easy.
Olsen
Sun, 2021/08/08 - 08:46
Permalink
Your wiki on gitlab states linking devices (signal desktop) under Notably unimplemented features -- but it works!
rubdos
Sun, 2021/08/08 - 14:55
Permalink
Hi! Thanks for noticing! I've updated that page a lot now :-)
deho
Fri, 2021/08/06 - 20:34
Permalink
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
Sat, 2021/08/07 - 16:06
Permalink
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
Sat, 2021/08/07 - 22:38
Permalink
Thansk for the reply. I use the original Jolla one.
rubdos
Sun, 2021/08/08 - 14:47
Permalink
Then you need the armv7 version!
Jaxxops
Mon, 2021/08/02 - 11:58
Permalink
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
Mon, 2021/08/02 - 13:03
Permalink
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
Sat, 2021/07/31 - 21:45
Permalink
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):
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
Mon, 2021/08/02 - 13:03
Permalink
Are you coming from Android or iOS with the same phone number? If so, you need to disable registration lock
Olsen
Mon, 2021/08/02 - 20:35
Permalink
That's it; thank you!
Maybe you could include this hint in the error message.
Pages