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
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
delocoyo
Thu, 2021/11/18 - 22:02
Permalink
Isnt amazing that anytime there is an update is so much work to do to make the app work properly again? Isnt a collaboration to make it work smoothy from Jolla?
rubdos
Sat, 2021/11/20 - 20:54
Permalink
By the way: I'm in contact with some people at Jolla. I hear that some Jolla people are even using Whisperfish, which means I'm aware of some bugs before the EA releases (but often difficult to fix without hands-on, such as the 4.3 OpenSSL breakage).
slava
Fri, 2021/11/19 - 04:28
Permalink
I heard that there's something called "backward compatibility"...
delocoyo
Sat, 2021/11/20 - 09:42
Permalink
Whats that?
rubdos
Sat, 2021/11/20 - 20:53
Permalink
It's the idea that Jolla should be making sure that a minor version upgrade doesn't break any app. I agree with Slava's sentiment on the breakage between beta 6 and beta 7 here. Jolla should have carried OpenSSL 1.0 throughout the 4.x series, formally deprecating it and alerting app developers that it would be gone in 5.x series, instead of just dropping this bomb.
That said, all previous breakage was 100% due to me abusing undefined behaviour of the SailfishOS operating system. All those hacks are gone now (since the event-loop rework and the SFDK rework), and there's only a few undocumented APIs that we use (but existing APIs, not undefined behaviour). These undocumented APIs include our rendering of the reCAPTCHA (which is now stabilized in 4.3) and retrieval of contact names by phone number in the GUI.
deprecated
Sun, 2021/11/14 - 20:21
Permalink
For anyone having issues with beta 7 (latest, as of writing) on SFOS 4.3.0.12, I found a workaround. Unfortunately, it's intrusive:
This procedure works flawlessly on my Xperia XA2 Ultra. I went through it twice to make sure it was repeatable. I'll be happy to help if anyone needs assistance. I'm sure this will be ironed out in future Whisperfish releases, but for now this gets us both the latest SFOS and latest Whisperfish with minimal hassle. Good luck!
Edit: It seems this method breaks my SIM contexts for MMS, no idea why. journalctl is unhelpful, and mmslogger provides exactly nothing. Fresh flash to either 4.3.0.12 or 4.2.0.21 results in MMS working as normal. I'll try to figure out a way to get beta 6 installed on 4.3.0.12, register then update to beta 7. Will update as it comes.
Edit #2: Okay, so I finally figured out how to keep ofono working properly, have SFOS 4.3.0.12, AND have the latest Whisperfish:
This is the ONLY way I've gotten it to work correctly. If you install beta 7 first, it'll crash when it's supposed to display the captcha. I hope this helps someone.
rubdos
Sat, 2021/11/20 - 20:49
Permalink
I honestly wasn't aware that the CAPTCHA broke on 4.3 in general, I thought this issue was confined to some ports to non-Sony phones. Thanks for making me notice!
olf
Thu, 2022/04/07 - 23:09
Permalink
Note that the hard dependency on OpenSSL 1.0 (which is not in SailfishOS 4.3.0) has been resolved by the Beta-7.
And do not permanently enable the lpr_A7 repository, that is likely harming your SailfishOS installation sooner or later. Preferably use the last OpenSSL packages from Jolla, which still contain OpenSSL 1.0 (from SailfishOS 4.2.0), they are installable and removable without issues, plus offered in a single purpose repository, which will not affect the integrity of your SailfishOS installation: https://openrepos.net/content/openssl111102/openssl-111-102
aviarus
Sat, 2021/11/13 - 16:04
Permalink
It crashes when it should display the captcha
rubdos
Sat, 2021/11/13 - 16:31
Permalink
I had an alike report on the forum with an XA, so apparently it's not confined to the Pinephone anymore. Thanks for reporting!
aviarus
Sat, 2021/11/13 - 16:01
Permalink
No on sfos 4.3.0.12 xperia 10ii aarch64 architecture
aviarus
Fri, 2021/11/12 - 09:07
Permalink
I am also willing to pay at this moment, because it says payment required
aviarus
Fri, 2021/11/12 - 09:03
Permalink
Although this fixes error 402, maybe it's a shot. https://github.com/signalapp/Signal-Desktop/pull/5121
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 :-)
Pages