Whisperfish - The unofficial SailfishOS Signal client

Hehehe. beta.1 is gonna be very interesting indeed :slight_smile:
According to Gitlab, we’re in about 2/3 of getting it done.

The current changelog (which I update on OpenRepos):

Features

Translations

  • We have a Weblate account now!
  • Portuguese translation, thanks to Yield and Antonio Maretzek!
  • Czech translation, thanks to PawelSpoon!
  • Turkish translation, thanks to Oğuz Ersen!
  • Nowegian translation, thanks to Allan Nordhøy!
  • Many, many, many, MANY cleanup operations on Dutch, German, French, and Spanish, thanks to Nathan, Dryo, and J. Lavoie!

Fixes

  • More stable reconnection management. Flight mode and network changes should now work as expected.
  • Access contacts through the Nemo QML interface instead of raw contacts.db. This interface will probably be more stable than the raw SQLite, and keeps compatibility across 3.x and 4.x.
3 Likes

For the translations, we have the same problem in Dutch. The SMS app seems to capitalize the sections, so I think it’s best to keep the translated with a leading capital, and I’ll have to change that in the code for the days then.

EDIT: according to Qt, the small letter is correct… https://gitlab.com/rubdos/whisperfish/-/commit/6a3eabd:

diff --git a/qml/pages/MainPage.qml b/qml/pages/MainPage.qml
index 9f10d33..ccc7d47 100644
--- a/qml/pages/MainPage.qml
+++ b/qml/pages/MainPage.qml
@@ -122,7 +122,7 @@ Page {
                         break;
                     default:
                         // two days to one week ago
-                        Qt.locale().standaloneDayName(parseInt(section), Locale.LongFormat)
+                        Qt.locale().dayName(parseInt(section), Locale.LongFormat)
                     }
                 }
             }

Ah well. Let’s keep it in sync with Jolla’s SMS app for now; I’ve pushed that patch.

3 Likes

Hi there. First let me say a big thank you for active development!

I just upgraded to 4.0.1.18 from 3 and I was ok let me test whisperfish… I got the known captcha white screen… So is as there a way for users that are on 4.0.18 a way to register whisperfish or is this something new users cant do? I think this should be high priority if not blocker.

You should’ve done it the other way around indeed… Try Whisperfish and then upgrade :slight_smile:

Currently, no, there’s not even a workaround. If you have an existing 3.x installation, you can register there and copy the data directories.

While this is indeed a “high priority” bug, none of us have a clue how to fix it at this stage. We have forwarded our query to Jolla. It seems to be a breaking change somewhere in the new 60 ESR release that they introduced (and rightfully introduced!)

While this is obviously a blocker for any “release candidate”, I would rather await Jolla’s feedback at this point. @gamag and I both have spent numerous hours working around several issues to get captcha’s to do anything at all on 3.x, only to be faced two days later with 4.x breaking our work. These are countless hours that I would rather spend now on getting UUIDs to work correctly, because these actually cause our current user base to lose communication with several people (i.e., new users and GroupV2).

That said, a implementing a workaround to get 4.0 users registered should be doable, but it will involve using a second computer and using the browser console to capture the captcha token from Signal.

1 Like

Heh, I use SailfishOs as my primary phone and I missed that note about first registering on 3 and then upgrade to 4 :slight_smile: No worries. Hopefully Jolla devs will be so kind and provide a patch if needed or at least provide info on how to implment changes on whipserfish side. I was hoping to ditch Android support alltogether after I saw whisperfish project :slight_smile:

When you have more detailed flow on how to register on 4.0 with additional computer please do share so I can at least help with testing!

Thank you again and I’m looking forward to make a voice call in native app :slight_smile:

I’ve tried putting notes everywhere, but it was a bit drowned by all the good things that happened in 4.0 :wink:
I’m not expecting Jolla to really get back to me on that issue ([4.0.1.45] Regression in rendering of reCAPTCHA in sailfish-components-webview), so we’ll probably want to implement a workaround anyway :frowning:

Ditching Android is certainly possible. I’m using WF as daily (which is the main reason for the big progress, because I’m missing features). If you can, join us on the Matrix channel, and I’ll give you a ping to try registration when I find time to work on a workaround.

I’m looking forward to voice calls too, but that’s still far ahead haha :slight_smile:

1 Like

Is it possible for WF to share a link of the reCAPTCHA?

There’s currently an issue with signing into your Dropbox account on 4.0 that can be circumvented by opening the link on another browser either on the phone or on another device. I used Sailfish-connect to copy and open the link on a desktop and a token was generated in the desktop browser (with a localhost address). I simply copied that address back to the phone browser and the account registration completed.

Is something similar possible with Whisperfish?

1 Like

It’s currently not possible, because the link that gets returned by Signal is not a parseable URL. It’s of the form signalcaptcha://[Stuff], and the [Stuff] is longer than 64 chars and case-sensitive. This makes it impossible with the current Sailfish browser, which tries to parse it as a valid URL (through the lipstick compositor, which yeets it through a QUrl).

That said, it is possible to implement a workaround where you capture the redirect in the desktop browser console, but I’ll have to make an input field on Whisperfish to paste the redirected URL for that.

The only current workaround is to register on a 3.4 device and copy over the data and config directories.

I’ve just spent another three hours looking for the source of the bug, to no avail.

4 Likes

do you mean linking ?
i did register in whisperfish, then downloaded linux desktop version
there you can get the qrcode.
my camera is broken, so i had to scan it with someother phone encode it and then just pasted the text in whisperfish / link devices
it did work as expected (on the non-official version from gitlab)
it did not work on the last version from openrepos

No, @pawel.spoon registration for new accounts is broken for all versions of Whisperfish on SailfishOS 4.0. Device linking is not affected, this is still present on master and will be there in beta.1. I’m afraid beta.1 will come without a patch for this, none of us currently really see a way out without pulling the whole thing through gdb.

Jolla stepped up: @flypig and @kende fixed up the sailfish-webview component that we need for reCAPTCHA to show correctly. I have published this patch on OpenRepos. After installing this, alpha.8 should work fine for registration of new accounts. :tada:
For working Whisperfish installations, there’s no reason to install this patched version.

Meanwhile, @ichthyosaurus has been working on the UI (you won’t recognise Whisperfish anymore, I promise!) and I’ve been working on getting the database in a more modern state, such that we can finally implement UUID. Meanwhile, Gabriel has been implementing GroupsV2 in the back-end, so we’re getting perspective on that too. Our move to Rust is starting to pay off with large margins! :smiley:

(I’m working on getting the i486 and aarch64 versions out there; feel free to send me a reminder if it’s not there by tonight)

19 Likes

Sorry but the

patch doesn’t seem to have fixed this for me. I have the patch installed but the reCAPTCHA behaviour is unchanged with registration failing because the CAPTCHA is not displayed. Have tried reinstalling the Whisperfish App and doing a PKCON refresh to no avail.

Did you try waiting for about 10-20 seconds? I just tested it, got the captcha and it automatically went through. Maybe try a reboot? If that does not help, you may want to start RUST_LOG=trace harbour-whisperfish on the terminal and have a look at what happens after “[D] onUrlChanged:54 - Url changed to: https://signalcaptchas.org/registration/generate.html”. Don’t dump your logs here though, they contain some sensitive information.

Feel free to get in touch via Matrix/IRC/email.

EDIT: did you possibly try fixing it yourself at some point? You could try removing the captcha’s cache stuff at .cache/harbour-whisperfish/harbour-whisperfish/.mozilla. You can safely delete that whole directory.

EDIT2: @gamag suggests on Matrix that for some reason the webview packages didn’t get updated. Could you show the output of pkcon search name sailfish-components-webview-qt5 --filter installed ? This should show “1.2.14+jb53103.20210304094636.f48fd13-1” as a version.

2 Likes

Please also check that your /usr/share/sailfish-browser/data/ua-update.json.in from package sailfish-browser contains the google user agent overrides, reCAPTCHA won’t work without those.

2 Likes

Hi @rubdos Thanks very much for the suggestions. Yes I did wait and do a reboot.

Will try other things you suggest but have just done

This gives:
Installed all-translations-pack-0.7.6-1.11.19.jolla.noarch (installed) Collection of all system translations
Installed sailfish-components-webview-qt5-1.2.14-1.15.6.jolla.armv7hl (installed) Allows embedding Sailfish OS Browser WebView into applications
Available sailfish-components-webview-qt5-1.2.14+jb53103.20210304094636.f48fd13-1.armv7hl (openrepos-rubdos) Allows embedding Sailfish OS Browser WebView into applications
Available sailfish-components-webview-qt5-devel-1.2.14-1.15.6.jolla.armv7hl (jolla) Sailfish OS WebEngine development files
Installed sailfish-components-webview-qt5-pickers-1.2.14-1.15.6.jolla.armv7hl (installed) Picker and selector QML components used by sailfish-components-webview
Available sailfish-components-webview-qt5-pickers-1.2.14+jb53103.20210304094636.f48fd13-1.armv7hl (openrepos-rubdos) Picker and selector QML components used by sailfish-components-webview
Installed sailfish-components-webview-qt5-popups-1.2.14-1.15.6.jolla.armv7hl (installed) Popup and alert QML components used by sailfish-components-webview
Available sailfish-components-webview-qt5-popups-1.2.14+jb53103.20210304094636.f48fd13-1.armv7hl (openrepos-rubdos) Popup and alert QML components used by sailfish-components-webview

I’m guessing that the refernece to “Available” is relevant? Does this help?

Zypper dup worked fine for me. Now I can get past the captcha.

Yet now I am seeing no contacts.

Aren’t those overrides shipped with any 4.0.1.48 installation, or do I need to provide some instructions? Thanks for your work @kende :slight_smile:

@ninepine You seem to still have the original webview installed, for some reason my patch didn’t come through. You can try zypper dup as root, if you have zypper installed. Otherwise, we’ll think of a pkcon command that works for you. Probably pkcon upgrade or something, but I’m not sure.

@csg1976

Yet now I am seeing no contacts.

I just noticed that too on alpha.8. It is fixed on master branch though, so you should see a Whisperfish update in the next two weeks that fixes a lot of stuff :slight_smile: (you can already see the changelog, still growing, on OR). If you really want your contacts, you can pick a -dev version from the CI, but keep in mind to manually downgrade to OpenRepos (or keep manually updating by picking from CI).

3 Likes

Thanks a lot - looking forward!

1 Like

@rubdos Thanks for the suggestion to use zypper. Am a novice at this so a bit reluctant to hit “y” after running zypper.

zypper dup identifies a lot of potential changes

22 packages to upgrade, 258 to downgrade, 11 new, 66 to reinstall, 17 to remove,
19 to change vendor.
Overall download size: 231.8 MiB. Already cached: 0 B. After the operation, 9.5
MiB will be freed.
Continue? [y/n/v/…? shows all options] (y):

Would like to just amend the minimum so is there a version of the zypper command that is more precise please?

The overrides should be there, latest google overrides are in sailfish-browser 2.0.2 or newer version.

@ninepine “zypper up sailfish-components-webview-qt5” or “pkcon update sailfish-components-webview-qt5” should install the patched webview for you.

1 Like