Whisperfish - The unofficial SailfishOS Signal client

Whisperfish Whisperfish icon

Translation status

Important: With beta.25, you may have to re-link your secondary Whisperfish devices. See release notes and linking and registration for more info.

Note: Registration and linking work only in beta.28+
Note: Groups properly work only in beta.19+
Note: Only beta.12+ works. Any older version can’t connect to the Signal servers at all!

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 Sailfish OS version is 3.4. We intend to keep compatibility with 3.3 for as long as humanly possible. The build for Sailfish OS 3.x is located in a separate OpenRepos application.

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

Collecting logs is something we often ask for, you can find the details in the wiki: Debugging and logging. Please note that the verbose log contains private and sensitive information, so make sure to get familiar with the Censor your logs chapter before sharing the logs with anyone!

Talk about Signal, Whisperfish and Sailfish OS :video_camera:

Why Signal, what’s so interesting about it? Watch me explain what I like and love about Signal, explained in Lausanne, October 2022, FIXME hackerspace.

Sailfish OS fan club group on Signal

Known issues :broken_heart:

Whisperfish is a project by volunteers. Lots of stuff works, lots of other stuff does not work. If you find something that does not work, file an issue or reply to this thread.

Content moved! Please go to Whisperfish Wiki: Version History

Contribute: get in touch, report issues and translate! :handshake:

Translation status

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 email whisperfish [at] rubdos [dot] be, or post on this forum thread. If it works well already, also let me know! That’s good for morale.

Development and progress :nerd_face:

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 :moneybag:

Thanks for the support, feel free to buy us a coffee! Liberapay allows for donations via PayPal or credit card. While we do appreciate the donations, please do match your donation towards Signal themselves. Also consider donating to Weblate, because they provide their translation hosting service to us and many other Sailfish OS applications at no cost!

Licence note :open_book:

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

Release notes :chart_with_upwards_trend:

Content moved! Please go to Whisperfish Wiki: Release Notes

Downloads

Master branch builds (“nightlies”)

Only use nightly builds if instructed to do so, or you know what you are doing!

All RPMs are published on the Gitlab package archive.

Version history

Published versions can be found on my OpenRepos account.

57 Likes

Do I understand correctly, that if I don’t have Whisperfish 0.5 I can’t install 0.6?

That is correct for now, indeed. I want the adoption to go slowly, to catch some bugs early on, and not to overwhelm the Signal servers just yet. alpha.4 will have registration, as well as sending attachments.

Thanks for all of your efforts with this @rubdos. It’s great to see Whisperfish being kept alive… and driven forwards. I’m looking forward to trying it out.

5 Likes

I thank you, and will happily donate $ to this cause! The old Whisperfish stopped accepting attachments, so I had to go back to the Android app. Which I hate, and which loses the data connection every time I get an MMS. So I’d love to go back to Whisperfish when it is ready.

1 Like

Thanks, @flypig and @sethdove for the kind words!

If you’re really keen on donating, I have a Liberapay account at https://liberapay.com/rubdos/. I’ve stopped to refuse donations, although I have to tell you: I am full time employed (at the Vrije Universiteit Brussel as researcher in applied cryptography), and money sadly doesn’t buy me time. It does buy me coffee and beer though, which is of course appreciated :slight_smile:

10 Likes

Update! I’ve pushed Whisperfish 0.6.0-alpha.4. I do not have the rights (yet?) to edit my topic start, to update the overview, or is that not-done here?

Either way: I am quite confident that at this point, Whisperfish is usable for a lot of users! :partying_face:

Implemented features:

  • Registration
  • Sending attachments

Notably not implemented:

  • GroupV2
  • UUID-only devices
  • Creating new conversations (contact selection)
  • Group management (creating and modifying groups)
  • Linking devices (i.e., Signal Desktop)

Known issues

  • New 3.4 installs (the ones with defaultuser) will panic on displaying messages. (fixed on master)
  • Entering a phone number for new messages doesn’t accept leading +, but you can just leave it out! (fixed on master)
12 Likes

Woohoo, wonderful thanks to you and your team! :champagne: :love_you_gesture: :notes:

[quote="rubdos, post:7, topic:3337]

Implemented features:

  • Registration
  • Sending attachments
    [/quote]

Sooo that would mean Whisperfish is ready for new users, who didn’t have 0.5 installed?

It absolutely is. Please do check whether you created any Signal groups after the October update (or Signal Beta, if that’s your thing). If you have, please wait until we implement groupsv2!

If you have an old (defunct) 0.5 installation, or if you tried to register with 0.5 before, you may want to remove .local/share/harbour-whisperfish (recursively) and .config/harbour-whisperfish/*. I have not implemented anything as a “re-register” functionality yet!

4 Likes

Hej Rubdos

first, thanks a lot for your work… this kind of things are neccesary for sailfish.

when trying to do a new message the app doesnt recognize any contact and if I try to write them manually the + bottom doesnt work , so I cant introduce any number. I am using it in a sony xa2

2 Likes

Same for me on XA2 Ultra.

Also thanks for amazing work!

1 Like

Contact selection is indeed unimplemented, but manually entering a phone number should work. The regex is a bit flakey there (I’ll note that for beta.1, thanks for the report!), but it should work if you just leave the + out! +32474123456 becomes 32474123456.

EDIT: the patch that accepts the + is on the master branch. Should be fixed in next release (and contact selection is on the road map)

2 Likes

it doesnt work yet. if no symbol, no recognice number

Just had a look at it: try using the 00 prefix instead of +, that seems to work here. +32474123456 -> 0032474123456. I’ll take note to make that clearer in the UI!

EDIT; doesn’t look like I can actually send a message to a new number though. That’s planned for the next release! :slight_smile:
Receiving messages from a new number does work, so you can always ask to have them send you something on Signal, via another medium.

2 Likes

Doing some testing. Aside from the observations already noted (no contact selection, sending messages to new numbers doesn’t work), it seems I can’t get Whisperfish to work over my LTE data connection. The card icon stays orange after entering my password, and messages don’t go through. When I close Whisperfish, enable WiFi and reenter my password, the icon goes green and messages are sent normally (verified with double check mark and another device). I have verified internet connectivity, and have rebooted/toggled airplane mode on and off.

I’m not sure what’s going on here. Device is an Xperia XA2 Ultra, on T-Mobile LTE (US). Data works, confirmed with speedtest and other apps. Let me know if I can be of further assistance.

That’s peculiar indeed! I don’t immediately see what could cause that. Could you provide me with a (partial) trace log? Switch to LTE, then open Whisperfish on the terminal: RUST_LOG=trace harbour-whisperfish, and enter password as per usual. The terminal will be extremely chatty.

Important: currently the logs are not sanitized: they print phone numbers and secrets. You might want to cherry-pick some lines that you judge may be interesting. I expect to see ERROR and WARN lines that should jump out, those will quickly give me or Gabriel a clue.

Let me know if I can help obtaining the log (and feel free to come have a chat on Matrix/IRC).

After some debugging (thank you for the tip on the trace log), I discovered that T-Mobile (US) suddenly changed behavior on the fast.t-mobile.com APN. I reverted to the old epc.t-mobile.com APN and everything works as expected. Changing the APN back makes the “couldn’t create websocket” error return, so I’m now certain it is the culprit… nothing to do with Whisperfish. Apologies!

4 Likes

Slightly off-topic:
Isn’t Signal very much against third-party/unofficial clients? Do Whisperfish developers have any official agreement with them?

1 Like

They seemed very much against it a few years ago, but our feeling is that they don’t mind it much any more. We haven’t heard from they yet, and they never really seemed terribly unhappy with Whisperfish 0.5 either as far as I know.

I’m quite sure they changed their minds, or at least tolerate us now!

1 Like

If I remember correctly, Signal faced severe backlash over their stance on third-party clients. They reversed position pretty rapidly.

2 Likes