Whisperfish - The unofficial SailfishOS Signal client

Is it a known bug that Whisperfish seems to say “Empty message” every time somebody sends a picture?
I can send pictures to others and they do work.

EDIT; I came to reply here that my problem got solved by setting Incognito mode to off.
Wasnt aware that it was on… possibly children had used my phone…

It’s a known bug that it doesn’t show up immediately, but you should see the attachments when you go back to main menu and re-open the session. If they still don’t show up, I think we’ll need some logs.

No, they don’t, unfortunately. I’ll try to fetch logs at some point…

Sorry…
I’m not tech savvy enough. Couldn’t do it.
I did SSH into device, but logging instructions’…:
" Edit ~/.config/[rubdos.be?]harbour-whisperfish/config.yml and set verbose: true ."
…was a bridge too far for me already. Googling Linux file editing gave “edit” command and VIM and what not, but couldn’t make them work. If you know some SFOS specific help page floating in the internet, then please link it to me, but otherwise don’t spend your valuable time into me :nerd_face:

Vim is (a bit) easyer to use than vi IMO.
It is in Openrepos IIRC.

In terminal, first make a backup of your file:

cp your_file your_file.bak

Open the file with

vi your_file

or

vim your_file

Then
-Navigate with the arrows
-Press ‘i’ to enter insert mode
-Make your changes
-Press ‘escape’
-Write ‘:wq’ (without the quotes) = write, quit
Normally, you are done.

But there is another way you can try:
In terminal,
(after having backedup your file with sth like:

cp /home/defaultuser/.config/be.rubdos/harbour-whisperfish/config.yml /home/defaultuser/.config/be.rubdos/harbour-whisperfish/config.yml .bak
)

You can try:

sed -i ‘s/verbose: false/verbose: true/g’ /home/defaultuser/.config/be.rubdos/harbour-whisperfish/config.yml

Sed is a program that is used to replace strings with other strings.
So, this will replace ‘verbose: false’ with ‘verbose: true’.

2 Likes

You can edit the file with nano (which is the best command line option for non-tech savvy users in my opinion).
First install nano (I’m not sure if it is installed by default):
devel-su pkcon install nano
Then edit the file with
nano yourFile
Nano describes shortcuts on the bottom of the screen, some basic ones are Ctrl+X to exit (or Strg+X or something else, I don’t know what keyboard layout you have), Ctrl+O to save

2 Likes

Hi all, I just had my first contact that only wanted to sync on Signal to get to some place to meet so I became a Whisperfish client since about 2-3 days:) - I was before, but did not kept it started all the time.

One thing I noticed, and I’ve yet to confirm, was that in 2 consecutive days with the client open all the time (no background options checked, just GUI) I had less battery backup than before.
I do not use android apps, so the only apps I have normally open on my phone are Fernschreiber and Battery budy. Even the browser I mostly close it when done, since it resumes more or less where I left.
Now - adding Whisperfish without any defaults changed - made the battery life from ~2days drop to about 1,5 or less.

The I noticed the run in background config & start at boot, and checked those, and even rebooted to make sure. I’m happy to report things are better (but take it with a grain of salt, these are the things that reboots do, the previous data point was not that scientific of course).

So, with background service and start at boot, I went ahead and checked ps aux | grep whisper on my computer. And I get 4 hits:

2 times is

/usr/bin/firejail --quiet --template=OrganizationName:be.ru
bdos --template=ApplicationName:harbour-whisperfish --private-bin=harbour-whisperfish --whitelist=/usr/share/harbour-whisper
fish --whitelist=/usr/share/applications/harbour-whisperfish.desktop --whitelist=${HOME}/.local/share/harbour-whisperfish --
whitelist=${HOME}/.config/harbour-whisperfish --whitelist=${HOME}/.cache/harbour-whisperfish --mkdir=${HOME}/.cache/be.rubdo
s/harbour-whisperfish --whitelist=${HOME}/.cache/be.rubdos/harbour-whisperfish --mkdir=${HOME}/.local/share/be.rubdos/harbou
r-whisperfish --whitelist=${HOME}/.local/share/be.rubdos/harbour-whisperfish --mkdir=${HOME}/.config/be.rubdos/harbour-whisp
erfish --whitelist=${HOME}/.config/be.rubdos/harbour-whisperfish --dbus-user.own=be.rubdos.harbour-whisperfish --profile=/et
c/sailjail/permissions/harbour-whisperfish.profile --profile=/etc/sailjail/permissions/Internet.permission --profile=/etc/sa
iljail/permissions/Pictures.permission --profile=/etc/sailjail/permissions/Contacts.permission --profile=/etc/sailjail/permi
ssions/Notifications.permission --profile=/etc/sailjail/permissions/Phone.permission --profile=/etc/sailjail/permissions/Med
iaIndexing.permission --profile=/etc/sailjail/permissions/Downloads.permission --profile=/etc/sailjail/permissions/UserDirs.
permission --profile=/etc/sailjail/permissions/WebView.permission --profile=/etc/sailjail/permissions/Camera.permission --pr
ofile=/etc/sailjail/permissions/RemovableMedia.permission --profile=/etc/sailjail/permissions/AppLaunch.permission --profile
=/etc/sailjail/permissions/Base.permission -- /usr/bin/harbour-whisperfish -prestart

and other 2 times is /usr/bin/invoker --type=qtquick2 /usr/bin/harbour-whisperfish -prestart

(proof by terminal find of the long string)

So my questions are:

  1. Do you know if there is a normal behavior to have 2-folds the processes and
  2. Anyone else notices battery drains with the UI open (and probably coupled with no background services)?

(I could invest in remembering/researching how collectd/systemDataScope can help me with my problem if I’m the only one… might be something else)

I really appreciate having Whisperfish as an option along with telegram, btw, I know this takes a lot of work. Thanks!

To summarize: you hypothesise that Whisperfish consumes more energy with the GUI, compared to using it in background mode? It would be quite strange, because it’s the same program, just with the QML UI minimized. It could be true, however.

Either way, I’m currently refactoring the whole QML binding subsystem, which should in the end turn out more energy efficient, especially on the long run.

I’m not sure why the process turns up twice…

I have also noticed that WF tends to reconnect pretty often to the Websocket, instead of keeping it alive. This is difficult to debug, however, because it doesn’t tend to happen when the screen is on (when I’m debugging).

@lumen, if you want, you can come on Matrix or IRC for a quick chat and help session; we can do it live, then.

THANK YOU @ric9k @NIS and @rubdos for the offered live help!
Extremely helpful, I managed in the end to fetch some logs!

How can I send them to you Rubdos? edit: sent them with Signal Desktop
And is it recommended to set “verbose” back to false?

1 Like

I wanted to write few lines of my experience with emojis. For me they were everything else than straight-forward.
I was pulling my hair off with linux syntax lines and non-installed-parallel and other things beyond my comprehension, so maybe this will help somebody else with so little linux experience as I have.

I tried to follow this guide:
Emojis.md · master · Whisperfish / Whisperfish Wiki · GitLab
Emoji-dl.sh was too hard for me to get working via Windows, nor via Ubuntu-on-a-USB-stick-tryout.

However, I found working solution from the end of the help file (“old documentation”) (thanks @ichthyosaurus for the help documentation!)
I chose to use twemoji.
Downloaded twemoji with the direct link https://github.com/twitter/twemoji/archive/v14.0.2.tar.gz
Extracted the downloaded tar.gz.
I created a folder structure “/sailor-emoji/twemoji/14.0.2/” for the SVG files.
Then I moved the folder structure to phone (via USB from Windows) to “Downloads” folder.
Used the FileBrowser (from Jolla store) to move the whole folder structure from “Downloads” to “.local/share/”.
So the resulting folder structure was “.local/share/sailor-emoji/twemoji/14.0.2/” and the SVGs in the folder “14.0.2”.
However Whisperfish didn’t find the emojis.
Fortunately I had just made logs of Whisperfish for another purpose and remembered seeing what WF was nagging about emojis, for example:
“[C] getStylePath:235 - failed to load emoji style at /home/defaultuser/.local/share/sailor-emoji/openmoji/14.0.0/2764.svg”
So I went with Terminal and used MV command to rename folder “twemoji” to openmoji and “14.0.2” to 14.0.0.
Rename command mv: “mv twemoji openmoji” and “mv 14.0.2 14.0.0”.
After renaming, SVGs are in folder structure: “.local/share/sailor-emoji/openmoji/14.0.0”.
Restarted WF and voi lá! Twemojis appeared in the WF :slight_smile:

Yes, emojis are now uncrushed, unshrunk, full size SVGs. But I couldn’t see any harm done.

Now my WF doesn’t look like 1980s anymore :tada:

3 Likes

I tried to make the script and documentation as easy to follow as possible, but it’s often hard to anticipate how people who didn’t write the code themselves will see it - so if you want to explain a bit more at which point(s) you got stuck, I’d love to improve the script and/or docs.

Getting it to work on Windows is beyond my abilities, though :).

I hope to get around making this configurable from within the Whisperfish GUI soon…

Actually, this is only relevant for PNGs. Openmoji and Twemoji don’t need shrinking/crushing. I tried to clarify that in Attempt at making emoji installation steps easier to follow (!7) · Merge requests · Whisperfish / Whisperfish Wiki · GitLab.

3 Likes

Thanks for the answer!
Sounds very good it to be configurable via WF! :partying_face:

I tried to install WSL (Windows Subsystem for Linux) which is Microsoft’s virtual computing linux platform on Windows 10 and onwards. I know not that much about it, just tried to make the script function that way (after googleing how to run sh scripts on Windows). I don’t recommend this way to those who are not familiar with it :nerd_face:

Next try was via Ubuntu tryout via booted USB-stick. Well, otherwise I got quite far, I managed to install some things the script said it needed (now I forgot what they were…) but then script said that it won’t do the shrink/crush if it doesn’t have “Parallel” available. That was the “one bridge too far” -moment for me. I just couldn’t install Parallel although I tried.
I assume all of this would go more fluid if I had Linux environment.
Somebody get Capture One Pro running on Linux and I will make the switch the same day :wink:
Well, actually I’d need the Affinity program too :thinking:

I’m sorry, I must have missed some part of text then…

@ichthyosaurus maybe we really should make work of an emoji-manager application; I suppose architecturally speaking, we’re basically ready for that?

I ran the script on the XA2 - speed is quite good for svg emojis.

The busybox mv doesn’t have the -t option (real mv is in gnu-coreutils) so the script exited after downloading, extracting and creating the temporary directory structure - about 95 per cent done, easy to finish manually.

1 Like

I see… thank you!

I think my latest changes should make it easier to get around some of these issues. While searching for a way to install GNU parallel on Ubuntu, I realized how messy the situation is, so I think maybe GNU parallel should be made optional…

If you want, you can try again with the updated script using these commands:

# for vector emojis (Openmoji, Twemoji)
./emoji-dl.sh openmoji

# for raster emojis (Whatsapp, Apple, etc.)
./emoji-dl.sh --no-shrink --no-crush whatsapp

But otherwise the workaround you posted works well enough so you don’t have to go through that again :slight_smile: .

Nah, there seems to be a fight between two common projects for the name “parallel”, namely moreutils and GNU parallel. So as long as our script depends on parallel, it will probably be messy :sweat_smile:.

Maybe https://www.darktable.org/ could be interesting for you…

Yes, we should… :grimacing:

That is good to hear, I’m surprised it worked this far!

Didn’t it show the big warning message? Because if not, we should find out why :wink: .

warning: You appear to be running this script on a Sailfish device.
This has not been tested and is not recommended.
It may fail unexpectedly due to outdated and limited software.
Continuing in 5 seconds…

Sorry for the late reply - yes, my assumption is that the GUI itself opened takes more CPU/power.
The only difference would be if some animations / GUI work is skipped when the window is not on the homescreen task list… This is different than being visible vs. not and I also doubt that my anecdotal 2 day sampling is correct. I do think that it is correct that whisperfish has an impact on battery:) But it is what it is…

As for the processes, I did notice that there are as many for another sailjail app too, (for example quickddit) so it is not a whisperfish problem.
In all cases, I patiently wait for the next developments, thanks!

Of course it has some impact, but I would really love to see the numbers on it. We’re all doing our very best to get the power usage down as much as we can.

There’s some very nice things happening in beta 15, thanks for the patience :slight_smile:

Do we have calling and video calling yet?