Whisperfish

Rating: 
5
Your rating: None Average: 5 (12 votes)

Whisperfish is the progress of being rewritten to use the upstream libsignal-protocol-c library. It is getting functional. As of Whisperfish-0.6.0-alpha.4, Whisperfish should be in a usable state for many users! Please do join the Matrix or Freenode channel to provide feedback!

What to expect

If you had a pre-existing, working 0.5 installation with default settings, migration should be a breeze. This is what currently works:

  • Sending and receiving messages
  • Significantly faster to start and load than Whisperfish 0.5.0
  • Reception of attachments may fail for some installations or configurations. Please contact me if that happens.
  • Group messages, but not yet GroupsV2 messages. If you have recent Signal groups ("private groups", created after 14 Oct 2020), you might consider waiting for beta.1.

Notably not working:

  • Creating groups (planned for beta.1)
  • GroupsV2 messages (planned for beta.1)
  • Session reset and identity reset in Whisperfish (planned for beta.1)
  • Linking with Signal Desktop (planned for beta.1)

I need feedback

If you are in the above mentioned condition, but 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 Freenode (#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. As soon as there is a version that makes sense to post here, it'll be there! Thanks for the support, feel free to buy me a coffee :-)

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

Whisperfish 0.6.0 (planned)

The milestone on Gitlab for this release

  • Feature parity with Whisperfish 0.5.

Whisperfish 0.6.0-beta.1 (planned)

The milestone on Gitlab for this release

Features

Fixes

  • 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
  • Race condition leading to settings corruption during registration

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

Comments

pvcn's picture

Thank you very much for your work on this! Updated a few days ago, but push notifications don't work, just got a lot of old messages after reboot...

NGC_Ollie's picture

Ok, you got me, I installed alpha5. Thanks for that, works like a charm, a huge improvement, especially the groups. Only tiny bits I found:
- when I switch from a dark to a light ambiance the font stays in the dark mode.
- sometimes I'm unable to see my last messages in the groups when on the conversations overview. I don't really care about that, but it's good to know.
- Image preview from pics I sent stay as a filled rectangle, no preview. But it sends, that's important!
Would you like to have issues/tickets on github or do you prefer comments like this?

rubdos's picture

Issues on Gitlab work the best, indeed. We're aware of the second issue (there's a merge request for that in progress), but number one and three are currently undocumented. Filing at https://gitlab.com/rubdos/whisperfish/-/issues/new would be thoroughly apperiated!

I'm glad you like the new version :-)

NGC_Ollie's picture

Actually there is no main show stopper, so you're right, beta might be considerable, since 0.5 gets more and more unstable. I need a smooth transition from 0.5 to 0.6, that's all, because I use WF since ages and I don't want to lose all conversations. I need that app on a daily basis, because I avoid any messenger like whatsapp, Telegram or worse.

rubdos's picture

FWIW, the only known issue on Whisperfish 0.6 alpha.5 is during registration. If you currently run 0.5, I think you'd be happy to try out alpha.5 already. I'm using it as daily, together with many others. 0.6 uses the exact same db and storage as 0.5, the compatibility was my first priority.

EDIT: wrt to 0.5 compatibility, 0.6 only supports the encrypted database ON, unencrypted database is untested (at least by me), but should be easy enough to implement. Let me know if you have any peculiar settings, because we've mainly tested default settings!

NGC_Ollie's picture

Ok, I love WF, it's the last reason why I can deactivate the Android layer. Thanks a lot for maintaining this app. I didn't install it yet, because I'm a sheepish chicken, but as soon as 0.6 is stable I'll drown you with feedback.

rubdos's picture

The "stable" label is something I'm very careful with, won't be there for a while. The meaning of "stable" will be the feature parity with 0.5. I think you might want to consider stepping in at beta.1 or beta.2, I expect those to be mostly bug-free (but not feature complete). We haven't had very many bugs yet, and those bugs we had, were easily mitigated.

I am interested in hearing what the main blockers or would-be features are for you! Thanks for the feedback :-)

broncheoli's picture

Dear rubdos,

first of all, thanks for developing this app, I will pay you some money for your effort.

I have a problem. I had signal installed to try it out. After some installing and deleting Whisperfish, I also deleted Signal. No problem so far. I now wanted to newly register with wisperfish but the dialog refuses to show up. I deleted WF and also deleted the folder under ~/.config with no luck, after reinstalling WF no register-dialog. What more do I have to delete to start from scratch?

Thanks in advance, broncheolus.

broncheoli's picture

I found the solution. I also deleted the WF folder under ~/.local/share/. Everything works fine now. Thanks. :-))

rubdos's picture

For future reference: deleting ~/.local/share/harbour-whisperfish indeed resets the complete application state. Resetting the settings is possible too, by removing ~/.config/harbour-whisperfish/*. The latter contains settings like your phone number and registration UUID.

lispy's picture

Hmm...login worked, but how do I add contacts? The adressbook is empty.

rubdos's picture

Fixed with alpha.5! :-)

rubdos's picture

Working on getting that polished again... Currently (alpha.4), you pull down on the contact selection and manually enter a phone number. Enter it as a local phone number (without intl. prefix), and make sure you have set your country code in the Whisperfish settings.

I might release alpha.5 this weekend to get rid of that issue.

objectifnul's picture

Logged in successfully, thanks!

PawelSpoon's picture

Start, login successfull

predator2019's picture

Ok, great.

predator2019's picture

Thanx for your work! Sailors need this app really! I am liitle unsure to install 0.6. on my mobile. Is it safe to install it? Any experience on an Inoi R7?

rubdos's picture

At this point, you may be interested in trying it out! If you never installed Whisperfish 0.5 before, and if you don't have any recent groups (groupv2, later than October 2020), it may work out very well for you.

rubdos's picture

No. Please do not install it yet, it's a work in progress. I will update the app description when it becomes safe.  Feel free to join us on Matrix for further discussion (or on Freenode #whisperfish)!

Nokius's picture

Is there anyway to support you?
do you need testing devices or some clubmate?

Thanks for you work!!

rubdos's picture

When I reach 0.6-alpha, I'll install a coffee-donate-button (maybe even in the App) :-)

I've got a nice Xperia 10 here to work on, no need for devices at this point. What does help is nagging me now and then, here, on Gitlab, on IRC (I made #whisperfish on Freenode) or Matrix (#whisperfish:rubdos.be).

EDIT, I've made a [Liberapay profile](https://liberapay.com/rubdos/), where you can sponser said coffee. I'll start advertising that in the main description when I reach alpha :-)

nephros's picture

Yes, reliably backing up the data would be very useful, I have repeatedly lost media and conversation history through reinstall/re-registrering.

rubdos's picture
nephros's picture

Hey, nice to see some activity in this area. Would it be possible to enable co-existence with the 0.5 version? It ia working ok for me but I would like to test your version as well.

rubdos's picture

I don't think I'm going to do that, since that would introduce two migration paths. I'm also quite confident that protocol-wise, it'll be impossible to "downgrade" an account at a certain point.

Either way, I'll clearly state so in here and on Gitlab while it's alpha or beta quality. I don't plan to release anything called "stable" if it's on not on par (feature wise) with the original! I'll also provide instructions on how to back-up your 0.5 data if you would want to alpha/beta-test.