Whisperfish - The unofficial SailfishOS Signal client

One month ago when I was resetting last time secure sessions, then Android Signal showed an empty message about it.
Now Im not seeing anything on the Android side…

Furthermore, then also WF showed two “checkmarks” in Secure Session reset message ln WF side.
Now WF shows “undelivered” on that message.

Time to re-install from scratch and re-link to Android side?

Beta 18 crashes for me right after the passphrase. I failed navigating to the arm64 artifacts for your merge request due to being tired and gitlab not being super mobile friendly

Do you need any stacktrace or similar?

Now the the “Reset secure session” works again…

ps. Swedish translation updated.

Could you provide some logs? It sounds like Whisperfish is not able to deliver anything to the server, but without logs it’s impossible to judge why.

I don’t think you had to reset any sessions, potentially something else triggered a problem for you.

Thanks :pray:

It should soon appear as artifact on the CI releases page, which is quite a bit more friendly :slight_smile:
I should probably tag this as beta 19, then.

1 Like

Beta 19 works as expected again, thanks a lot!

1 Like

I’ve also pushed it to OpenRepos. Sorry for the inconvenience! The underlying issue is not fixed, but at least there’s a workaround in place now :slight_smile:

This was just fixed, again, but we’ll have to wait until the next beta to see if it actually works this time :sweat_smile:

1 Like

Does Wisperfish support migration between devices?
Does Wisperfish support migration back to Signal?

There’s no cross-device migration per se, but by moving .local/share/be.rubdos and .config/be.rubdos to the new device manually that can be done rather easily.

Migration to/from Signal Android is not possible (yet, but perhaps some day…)

Just make sure to not use the old installation anymore, because it will cross-corrupt the sessions between both devices! If you still want to use the old device, I suggest wiping these two directories, and linking it (secondary device) to the migrated Whisperfish device.

1 Like

An exciting new release this morning!

Whisperfish 0.6.0-beta.20

Post-quantum end-to-end encryption, registration fix, and much more.

Changes

  • Post-quantum (Kyber) key-exchange
  • Fix build version number in CI/About page (maybe, I hope)
  • Fix the info row lock size in developer mode
  • Fix muting conversations
  • Fix disappearing messages timer resets
  • Store attachment pointers in database, preparation work for attachment download retries.
  • New, more fine grained notification privacy options
  • Show blur hash while attachments are downloaded
  • Emoji-react to messages (hold message, swipe away, then tap the emoji)
  • Fix logs on panic
  • Implement a captcha test page
  • Handle remote message deletions, implement remote message deletion
  • Show original attachment file name, if available
  • Implement attachment exporting
  • Fix unidentified sending mode resets on profile key reception
  • Fix registration and linking for new registration protocol

Registration

Signal overhauled their registration procedure. In my eyes, the new API flow has been redesigned to allow for registrations without phone number in the future. Signal has, meanwhile, introduced usernames, which will allow you to hide your phone number from contacts and groups. I hope to get this into Whisperfish soon™ too.

Post-quantum key exchange

Signal recently introduced post-quantum key exchanges for their end-to-end encryption protocol. This is, as far as I know, the first broad and permanent real-world deployment of post-quantum cryptography, and follows the very recent NIST standardization of Kyber. Signal is yet to announce this change officially, but it has been in production for two weeks. I expect Signal to roll out a rekey event for all sessions, and at that time announce the roll-out.

The deployment is a hybrid of X25519 and Kyber. This means that if the new Kyber system is horribly broken next week, your sessions will still be secure in the classical sense.

Practically speaking, the current change means that every new session with a contact will be protected against capture-now-decrypt-later attacks by (currently non-existing) cryptographically-relevant quantum computers, under the condition that Kyber remains as secure as it is thought to be.

I expect Signal to trigger session renewals or rekeying events to additionally protect existing sessions from the “quantum threat”.


I think the above is a tremendously exciting change list. I hope you all agree :slight_smile:

24 Likes

Whisperfish beta.20 is indeed a release on the bigger side! The registration fix is the major user-visible feature of this release, but Kyber is the most exciting one under the hood! There are a lot of changes, and some features and changes are non-obvious, so I’ll expand a few of them here:

How to react to a message?

  • Press-and-hold to open the message context menu
  • Release your finger outside the menu (so it stays open)
  • Click the Emoji to select it, or
  • Click the trash can emoji to remove your reaction

Note that the message doesn’t update its emoji list until you visit the main page (also applies to incoming reactions). This is a known issue and will be fixed later.

This is little more than a proof-of-concept, more GUI work will follow! Yes, you can only send four (4) different reactions, selected by yours truly, but this will change in the future.

This reverts a failed attempt to log panics to file. It only hid the panics completely, so the old behaviour is back - the panics only show up in the console output.

This only corresponds to someone manually deleting a message. Deleting messages in a time-limited session is not implemented yet - however, this is a step towards making that happen.

You can now export a received (or a sent picture taken with the attachment camera feature) attachment using the pull-down menu item on the attachment view page.

  • Images are copied to ~/Pictures/Whisperfish/
  • Videos are copied to ~/Videos/Whisperfish/
  • Audio files are copied to ~/Music/Whisperfish/
  • Other files are copied to ~/Downloads/Whisperfish/

The original filename is used, if available. If a file already exists, the new file is saved using a number postfix.

Notably, there is no feedback in Whisperfish whether exporting the file was successful or not. This will be fixed in a later release, but for now, you’ll just have to go and look for the file (for example, open Gallery or Documents app and see if the file has appeared in it).

13 Likes

Wow! What an update! :muscle:
Huge thanks for you! You must have put a lot of time on this.

“This update came from the bushes” atleast for me…like we use to say in finnish. I thought everybodys had summer vacations and no time at all for tinkering with code :slight_smile: But here we are with a big update!
Didnt expect “reacting to messages” be implemented any time soon either. Nice! :+1:

Ps, version number actually works now on the About page :joy:

2 Likes

Wait, you’re supposed to not write code during the holidays?

:see_no_evil:

4 Likes

HI i have a question , it ist very strange issue.
My Wife sends me a Picture made with the option Screenshot in the morning.
I mean she is also an Version Beta 20. i got only a empty picture.
Then i switch to Version 19 and she sends me another Picture also Screenshot Picture .
I can see the image.
Now i updated to Beta 20 an the visible picture changed to invisible.
exporting is not working ??
Anybody a hint ?

1 Like

That’s interesting, because I’ve been using beta.20 and have looked at various attachments, screenshots including… Could you enable verbose logging and enable logging to file, and check if there are any error when you try too open the picture?

After registration (first install 0.6.0-beta20) getting only About and Settings in the pulley menu, is that expected? Installing android app didn’t help, chat from there didn’t show up in sfos version, resetting/reregistering whisperfish at least locked out the android version, but still unable to add any contacts, start chats, pretty much can’t do anything except editing profile

Creating new conversations is currently disabled, due to changes on Signal side which we haven’t yet caught up with (tl;dr). So currently to start new conversations you’ll need to link Signal Desktop and use it to create conversations and groups.

Or, alternatively, a conversation starts when someone else messages you first.

It looks like group memberships are preserved when you re-register, but don’t quote me on that. I’ll confirm this later today.

PS. It may be possible to relink your previous Signal Desktop so the previous messages are available there, but I haven’t tested this exact scenario. If you try that, definitely make a backup of the Signal Desktop profile first!

1 Like

Never used signal on desktop, that’s why I was hoping using android version would work, thanks!

Signal Android does not support registering as a secondary device, but Whisperfish does.

So perhaps you could re-register your Signal Android and add Whisperfish as a secondary device instead?

1 Like