whatsapp

Rating: 
3.5
Your rating: None Average: 3.5 (6 votes)

i created a whatsapp app based on whatsmeow, which is written in go. unfortunately it is only possible to register as second device, like the browser. it only has minimal  saljail permissions out of the box, internet and secrets for  storing the registration. one  can add contacts permssions or meda files permissions through a command that can be copied to clipboard and  edits the desktop file to add or remove these optional permissions. i used claude "ai" to develop this app. sources are here: https://github.com/smatkovi/harbour-whatsapp i updated  whatsmeow and fixed the errors you reported. thanks for all your comments and  error reports.

Screenshots: 
Application versions: 
AttachmentSizeDate
File harbour-whatsapp-0.2.1-1.aarch64.rpm9.07 MB03/12/2025 - 11:43
File harbour-whatsapp-0.3.0-1.aarch64.rpm5.59 MB12/07/2026 - 11:39
File harbour-whatsapp-0.4.2-1.aarch64.rpm5.59 MB12/07/2026 - 12:01
File harbour-whatsapp-0.4.2-1.armv7hl.rpm5.73 MB12/07/2026 - 12:01
File harbour-whatsapp-0.4.3-1.aarch64.rpm5.6 MB12/07/2026 - 12:17
File harbour-whatsapp-0.4.3-1.armv7hl.rpm5.73 MB12/07/2026 - 12:17
File harbour-whatsapp-0.4.5-1.aarch64.rpm5.6 MB12/07/2026 - 13:03
File harbour-whatsapp-0.4.5-1.armv7hl.rpm5.73 MB12/07/2026 - 13:03
File harbour-whatsapp-0.4.6-1.aarch64.rpm5.6 MB12/07/2026 - 13:03
File harbour-whatsapp-0.4.6-1.armv7hl.rpm5.73 MB12/07/2026 - 13:03
File harbour-whatsapp-0.4.8-1.armv7hl.rpm5.73 MB12/07/2026 - 13:08
File harbour-whatsapp-0.4.8-1.aarch64.rpm5.6 MB12/07/2026 - 13:08
File harbour-whatsapp-0.4.9-1.armv7hl.rpm5.74 MB12/07/2026 - 17:23
File harbour-whatsapp-0.4.9-1.aarch64.rpm5.6 MB12/07/2026 - 17:23
File harbour-whatsapp-0.4.11-1.aarch64.rpm5.61 MB12/07/2026 - 18:58
File harbour-whatsapp-0.4.11-1.armv7hl.rpm5.74 MB12/07/2026 - 18:58
File harbour-whatsapp-0.4.14-1.armv7hl.rpm5.74 MB12/07/2026 - 22:33
File harbour-whatsapp-0.4.14-1.aarch64.rpm5.61 MB12/07/2026 - 22:33
File harbour-whatsapp-0.7.4-1.aarch64.rpm5.74 MB12/07/2026 - 22:33
File harbour-whatsapp-0.7.4-1.armv7hl.rpm5.87 MB12/07/2026 - 22:33
File harbour-whatsapp-0.7.6-1.armv7hl.rpm5.88 MB13/07/2026 - 09:33
File harbour-whatsapp-0.7.6-1.aarch64.rpm5.74 MB13/07/2026 - 09:33
File harbour-whatsapp-0.7.8-1.armv7hl.rpm5.88 MB13/07/2026 - 09:56
File harbour-whatsapp-0.7.8-1.aarch64.rpm5.75 MB13/07/2026 - 09:56
File harbour-whatsapp-0.8.0-1.armv7hl.rpm5.89 MB13/07/2026 - 10:09
File harbour-whatsapp-0.8.0-1.aarch64.rpm5.76 MB13/07/2026 - 10:09
File harbour-whatsapp-0.8.4-1.armv7hl.rpm5.91 MB13/07/2026 - 10:55
File harbour-whatsapp-0.8.4-1.aarch64.rpm5.77 MB13/07/2026 - 10:55
File harbour-whatsapp-0.8.21-1.aarch64.rpm5.78 MB14/07/2026 - 00:43
File harbour-whatsapp-0.8.21-1.armv7hl.rpm5.92 MB14/07/2026 - 00:43
File harbour-whatsapp-0.8.29-1.armv7hl.rpm5.93 MB14/07/2026 - 01:39
File harbour-whatsapp-0.8.29-1.aarch64.rpm5.79 MB14/07/2026 - 01:39
File harbour-whatsapp-0.9.5-1.armv7hl.rpm5.96 MB14/07/2026 - 11:06
File harbour-whatsapp-0.9.5-1.aarch64.rpm5.82 MB14/07/2026 - 11:06
File harbour-whatsapp-0.9.6-1.armv7hl.rpm5.96 MB14/07/2026 - 11:42
File harbour-whatsapp-0.9.6-1.aarch64.rpm5.82 MB14/07/2026 - 11:42
File harbour-whatsapp-0.9.6-1.i486.rpm6.19 MB14/07/2026 - 11:50
File harbour-whatsapp-0.9.19-1.armv7hl.rpm5.98 MB14/07/2026 - 14:41
File harbour-whatsapp-0.9.19-1.aarch64.rpm5.84 MB14/07/2026 - 14:41
File harbour-whatsapp-0.9.19-1.i486.rpm6.21 MB14/07/2026 - 14:46
File harbour-whatsapp-0.9.29-1.aarch64.rpm5.85 MB14/07/2026 - 16:42
File harbour-whatsapp-0.9.29-1.armv7hl.rpm5.99 MB14/07/2026 - 16:42
File harbour-whatsapp-0.9.29-1.i486.rpm6.22 MB14/07/2026 - 16:59
File harbour-whatsapp-0.9.31-1.armv7hl.rpm5.99 MB14/07/2026 - 17:48
File harbour-whatsapp-0.9.31-1.aarch64.rpm5.86 MB14/07/2026 - 17:48
File harbour-whatsapp-0.9.34-1.armv7hl.rpm6 MB15/07/2026 - 08:57
File harbour-whatsapp-0.9.34-1.aarch64.rpm5.86 MB15/07/2026 - 08:57
File harbour-whatsapp-0.9.37-1.armv7hl.rpm6 MB15/07/2026 - 09:14
File harbour-whatsapp-0.9.37-1.aarch64.rpm5.87 MB15/07/2026 - 09:14
File harbour-whatsapp-0.9.38-1.aarch64.rpm5.87 MB15/07/2026 - 21:54
File harbour-whatsapp-0.9.38-1.armv7hl.rpm6.01 MB15/07/2026 - 21:54
File harbour-whatsapp-0.9.43-1.armv7hl.rpm6.01 MB16/07/2026 - 09:43
File harbour-whatsapp-0.9.43-1.aarch64.rpm5.87 MB16/07/2026 - 09:43
File harbour-whatsapp-0.9.45-1.aarch64.rpm5.88 MB16/07/2026 - 16:39
File harbour-whatsapp-0.9.45-1.armv7hl.rpm6.01 MB16/07/2026 - 16:39
File harbour-whatsapp-0.9.46-1.armv7hl.rpm6.02 MB16/07/2026 - 18:41
File harbour-whatsapp-0.9.46-1.aarch64.rpm5.88 MB16/07/2026 - 18:41
File harbour-whatsapp-0.9.56-1.armv7hl.rpm6.03 MB16/07/2026 - 20:27
File harbour-whatsapp-0.9.56-1.aarch64.rpm5.89 MB16/07/2026 - 20:27
File harbour-whatsapp-0.9.60-1.armv7hl.rpm6.04 MB16/07/2026 - 20:54
File harbour-whatsapp-0.9.60-1.aarch64.rpm5.9 MB16/07/2026 - 20:54
File harbour-whatsapp-0.9.63-1.aarch64.rpm5.9 MB16/07/2026 - 23:10
File harbour-whatsapp-0.9.63-1.armv7hl.rpm6.04 MB16/07/2026 - 23:10
File harbour-whatsapp-0.9.73-1.armv7hl.rpm6.05 MB17/07/2026 - 02:14
File harbour-whatsapp-0.9.73-1.aarch64.rpm5.91 MB17/07/2026 - 02:14
File harbour-whatsapp-0.9.79-1.aarch64.rpm5.91 MB17/07/2026 - 09:41
File harbour-whatsapp-0.9.79-1.armv7hl.rpm6.05 MB17/07/2026 - 09:41
File harbour-whatsapp-0.9.9-1.aarch64.rpm5.82 MB17/07/2026 - 13:43
File harbour-whatsapp-0.9.84-1.armv7hl.rpm6.82 MB17/07/2026 - 13:43
File harbour-whatsapp-0.9.85-1.aarch64.rpm6.67 MB17/07/2026 - 14:12
File harbour-whatsapp-0.9.85-1.armv7hl.rpm6.82 MB17/07/2026 - 14:12
File harbour-whatsapp-0.9.86-1.aarch64.rpm6.67 MB17/07/2026 - 14:56
File harbour-whatsapp-0.9.86-1.armv7hl.rpm6.82 MB17/07/2026 - 14:56
File harbour-whatsapp-0.9.86-1.i486.rpm7.1 MB17/07/2026 - 15:14
File harbour-whatsapp-0.9.87-1.aarch64.rpm6.67 MB17/07/2026 - 15:45
File harbour-whatsapp-0.9.87-1.armv7hl.rpm6.82 MB17/07/2026 - 15:45
File harbour-whatsapp-0.9.87-1.i486.rpm7.1 MB17/07/2026 - 15:45
File harbour-whatsapp-0.9.89-1.i486.rpm7.1 MB17/07/2026 - 20:57
File harbour-whatsapp-0.9.89-1.armv7hl.rpm6.83 MB17/07/2026 - 20:57
File harbour-whatsapp-0.9.89-1.aarch64.rpm6.67 MB17/07/2026 - 20:57
File harbour-whatsapp-0.9.90-1.aarch64.rpm6.68 MB17/07/2026 - 21:59
File harbour-whatsapp-0.9.90-1.armv7hl.rpm6.83 MB17/07/2026 - 21:59
File harbour-whatsapp-0.9.90-1.i486.rpm7.1 MB17/07/2026 - 21:59
File harbour-whatsapp-0.9.93-1.i486.rpm7.11 MB18/07/2026 - 10:16
File harbour-whatsapp-0.9.93-1.armv7hl.rpm6.83 MB18/07/2026 - 10:16
File harbour-whatsapp-0.9.93-1.aarch64.rpm6.68 MB18/07/2026 - 10:16
File harbour-whatsapp-0.9.95-1.i486.rpm7.11 MB18/07/2026 - 11:04
File harbour-whatsapp-0.9.95-1.armv7hl.rpm6.83 MB18/07/2026 - 11:04
File harbour-whatsapp-0.9.95-1.aarch64.rpm6.68 MB18/07/2026 - 11:04
File harbour-whatsapp-0.9.96-1.i486.rpm7.11 MB18/07/2026 - 13:34
File harbour-whatsapp-0.9.96-1.armv7hl.rpm6.83 MB18/07/2026 - 13:34
File harbour-whatsapp-0.9.96-1.aarch64.rpm6.68 MB18/07/2026 - 13:34
File harbour-whatsapp-0.9.97-1.i486.rpm7.11 MB18/07/2026 - 15:10
File harbour-whatsapp-0.9.97-1.armv7hl.rpm6.83 MB18/07/2026 - 15:10
File harbour-whatsapp-0.9.97-1.aarch64.rpm6.68 MB18/07/2026 - 15:10
Changelog: 

- Message edits (OpenRepos report): the receive pipeline existed
end to end (backend replaces text and sets the edited flag, the
chat shows "edited" next to the time) - but the edit handler
ignored the update result and logged nothing, so a non-matching
message ID vanished without a trace. Every received edit now
leaves a log line (found or not, or unhandled shape), and edited
image/video captions are extracted too. If the reported case
recurs, the backend log will name the reason verbatim

Comments

rob_k's picture

The edited message doesn't reach the backend log. A new message sent afterwards does. (The log is 600 kB, is it safe to delete?)

rdomschk's picture

One Question - I use a forked patch "notification count in switcher" and your app shows every time 1 open message in the bubble. What can it be? The patch can I send you but here is no possibility. In the patchmanager the original patch is also visible.

rdomschk's picture

Hello it runs :) the reasom was I deleted every time only the folder .local/share/harbour-whatsapp and not .local/share/harbour/harbour-whatsapp. The old database was the reason. Maybe you can add a help for other users like me how folders should be deleted after uninstall to get a fresh installation. Sorry for the trouble with me. But the app is great and every day more features. THANKS A LOT

rdomschk's picture

Here the output from the last comand:
defaultuser@Xperia10III ~]$ cd ~/.local/share/harbour/harbour-whatsapp && /usr/share/harbour-whatsapp/wa-b
ackend
Backend listening on http://127.0.0.1:8085 (initializing…)
P2P socket: unix:path=/run/user/100000/sailfishsecretsd/p2pSocket
Sailfish Secrets ready
self-test getPluginInfo ok (auth/transport working)
collections in plugin: [qCommand storeman Dee harbourwhatsapp harbourwhatsapp2]
Encryption key loaded from Sailfish Secrets (collection harbourwhatsapp2)
❌ Database error: database error: failed to upgrade database: failed to check if foreign keys are enabled:
file is not a database
[defaultuser@Xperia10III harbour-whatsapp]$

rdomschk's picture

Here the important part at terminal:
[D] unknown:0 - Got library name: "/usr/
lib64/qt5/qml/io/thp/pyotherside/libpyoth
ersideplugin.so"
[W] NemoConfigurationValuePlugin::registe
rTypes:52 - org.nemomobile.configuration
import is deprecated. Suggest migrating t
o Nemo.Configuration
[W] unknown:134 - file:///usr/lib64/qt5/q
ml/Sailfish/Silica/PullDownMenu.qml:134:
ReferenceError: lipstickSettings is not d
efined
[D] :56 - Backend failed to start
[D] rescanBackendPort:462 - Backend lost
entirely - respawning child backend
[D] :56 - Backend failed to start

aviarus's picture

Good news hidden in your log: the Python part is fixed — 0.9.96 imports cleanly on your device now. What fails is the next stage: the backend program itself doesn't come up. Three lines will show exactly why:
ls -la ~/.local/share/harbour/harbour-whatsapp/
tail -40 ~/.local/share/harbour/harbour-whatsapp/backend.log
cd ~/.local/share/harbour/harbour-whatsapp && /usr/share/harbour-whatsapp/wa-backend
The third one runs the backend directly in your terminal — whatever it prints in the first seconds (or the way it exits) is the answer; stop it with Ctrl+C afterwards. Paste what you see and the next fix will be precise.

rdomschk's picture

Unfortunately not, I test all from terminal, desktop, openrespos.... Every time I got “Backend did not start in time. This can happen on the first launch right after a reboot. Tap Retry, or see ~/.local/share/harbour/harbour-whatsapp/backend.log"

rdomschk's picture

To use sfos-upgrade to repair the pythonplugin "pyOtherside" is too risk for me. I will wait at the next SFOS Version now. The rest at my phone works perfect.

aviarus's picture

Completely understandable — and good news: you may not need to repair anything at all. Forget sfos-upgrade for now; that suggestion was based on my earlier Chum theory, which your package list has since weakened. The only step I'd still suggest is risk-free: update just the app to 0.9.96 in Storeman and start it once. The error you pasted was a bug in the app's own error display (0.9.95), fixed in 0.9.96 — so there's a real chance the app simply works and your system was never broken. If it still fails, the message that appears after ~6 seconds is the true cause — tap it, paste it here, and I'll know exactly what to fix. Either way, nothing about your OS gets touched.

rob_k's picture

I came across an interesting feature: an edited message.

In a group, someone asked "Can I borrow...?"
Ten minutes later, he has edited the message. The original question is still there, but in strike-through. He added new lines to the message: "Thanks...!"

Strike-through is not shown in the app, the added lines neither. The new, edited time is correct, the mark "Edited" isn't there. So, I still see the original question in the app.

I'd say this is an edge case, normal stuff is great.

aviarus's picture

Feature is a good joke here.^^ i hope it is now visible if a message is edited

rdomschk's picture

Here are my false protocoll:
>Python module failed to load:
Function not found: 'start_backend.installed_version' (Traceback (most recent call last):

File "", line 1, in

NameError: name 'start_backend' is not defined
)
Please report this text.<

aviarus's picture

Okay it seems that you are still on 0.9.95 and 0.9.96 should fix this exact issue. Once you're on 0.9.96: either it just works, or the message that appears after ~6 seconds is the real cause — that one would be interesting.

kempertom's picture

Is this an issue with the deamon. Had the same Problem this morning. I'll try to run it without daenom...

aviarus's picture

Probably not the daemon itself — the likely culprit for "stopped working this morning" (especially after a reboot) is a desktop-file key from 0.9.90 that broke launching from the app icon; 0.9.91+ removes it automatically during the update. Just update to the latest version, then start the app normally — no need to disable the daemon. If it still won't start from the icon afterwards, tell me and we'll dig.

rdomschk's picture

Now I could test it:
[defaultuser@Xperia10III ~]$ cat /etc/sailfish-release
NAME="Sailfish OS"
ID=sailfishos
VERSION="5.0.0.76 (Tampella)"
VERSION_ID=5.0.0.76
PRETTY_NAME="Sailfish OS 5.0.0.76 (Tampella)"
SAILFISH_BUILD=76
SAILFISH_FLAVOUR=release
HOME_URL="https://sailfishos.org/"
[defaultuser@Xperia10III ~]$ python3 -c "import ast; ast.parse(open('/usr/share/harbour-whatsapp/start_backend.py').read()); print('syntax ok on', __import__('sys').version)"
syntax ok on 3.8.18 (default, Mar 19 2024, 00:00:00)
[GCC 10.3.1 20210621 (Sailfish OS gcc 10.3.1-1)]
[defaultuser@Xperia10III ~]$ devel-su zypper se -si 'python3*' pyotherside\* | grep -i chum
Password:
i | python3-brotli | Paket | 1.0.9+git9-1.1.1.bso | aarch64 | sailfishos-chum
i | python3-cairocffi | Paket | 1.3.0-1.1.1.bso | noarch | sailfishos-chum
i+ | python3-cairosvg | Paket | 2.5.2+git2-1.2.1.bso | noarch | sailfishos-chum
i | python3-cssselect2 | Paket | 0.4.1-1.1.1.bso | noarch | sailfishos-chum
i | python3-defusedxml | Paket | 0.7.1+git1-1.1.1.bso | noarch | sailfishos-chum
i+ | python3-html5lib | Paket | 1:1.1-1.1.1.bso | noarch | sailfishos-chum
i+ | python3-mpmath | Paket | 1.2.1-1.2.1.bso | noarch | sailfishos-chum
i+ | python3-mutagen | Paket | 1.47.0-1.1.1.bso | noarch | sailfishos-chum
i | python3-numpy | Paket | 1.18.5-1.1.1.bso | aarch64 | sailfishos-chum
i+ | python3-opencv | Paket | 4.8.1-1.2.1.bso | aarch64 | sailfishos-chum
i+ | python3-packaging | Paket | 21.3+master.20230409154829.4.gd515213-1.2.1.bso | noarch | sailfishos-chum
i+ | python3-pycryptodomex | Paket | 3.23.0-1.2.1.bso | aarch64 | sailfishos-chum
i | python3-pyparsing | Paket | 2.4.7+master.20230409155124.3.g503310b-1.2.1.bso | noarch | sailfishos-chum
i | python3-tinycss2 | Paket | 1.1.1+git1-1.1.1.bso | noarch | sailfishos-chum
i | python3-webencodings | Paket | 0.5.1+git1-1.1.1.bso | noarch | sailfishos-chum
i+ | python3-websockets | Paket | 13.1-1.1.1.bso | aarch64 | sailfishos-chum
i+ | python3-yt-dlp | Paket | 2023.12.30+obs2-1.4.1.bso | noarch | sailfishos-chum
[defaultuser@Xperia10III ~]$

aviarus's picture

Thank you — that output helps a lot, and no trouble at all, enjoy your holiday first! Your system Python parses the app's module fine, and your Chum list contains only add-on libraries (none of which the app uses) — so my earlier Chum theory is weakened. Better yet: the NameError in your terminal log turned out to be a startup race in the app itself (fast devices won it, your 10 III lost it) — fixed in 0.9.96. Whatever the remaining blocker on your device is, 0.9.96 will show the exact error on the pairing screen, and tapping the message copies it to the clipboard. Whenever you're back: update, start the app, and paste whatever it shows. No rush.

rdomschk's picture

Thank youvery much and sorry for the trouble with me. I will test it but I am in holiday and can make it only later with my notbook.

rdomschk's picture

Ter inal:
[D] unknown:0 - Using Wayland-EGL
library "libui_compat_layer.so" not found
library "libutils.so" not found
library "libcutils.so" not found
library "libhardware.so" not found
library "android.hardware.graphics.mapper@2.0.so" not found
library "android.hardware.graphics.mapper@2.1.so" not found
library "android.hardware.graphics.mapper@3.0.so" not found
library "android.hardware.graphics.mapper@4.0.so" not found
library "libc++.so" not found
library "libhidlbase.so" not found
library "libgralloctypes.so" not found
library "android.hardware.graphics.common@1.2.so" not found
library "libion.so" not found
library "libz.so" not found
library "libhidlmemory.so" not found
library "android.hidl.memory@1.0.so" not found
library "vendor.qti.qspmhal@1.0.so" not found
[D] unknown:0 - Got library name: "/usr/lib64/qt5/qml/io/thp/pyotherside/libpyothersideplugin.so"
[W] NemoConfigurationValuePlugin::registerTypes:52 - org.nemomobile.configuration import is deprecated. Suggest migrating to Nemo.Configuration
[W] unknown:134 - file:///usr/lib64/qt5/qml/Sailfish/Silica/PullDownMenu.qml:134: ReferenceError: lipstickSettings is not defined
[D] unknown:0 - "PyOtherSide error: Traceback (most recent call last):\n\n File \"\", line 1, in \n\nNameError: name 'start_backend' is not defined\n"
[D] onError:78 - Python error: Function not found: 'start_backend.installed_version' (Traceback (most recent call last):

File "", line 1, in

NameError: name 'start_backend' is not defined
)
[D] :59 - Backend failed to start
[D] rescanBackendPort:434 - Backend lost entirely - respawning child backend
[D] :59 - Backend failed to start
[defaultuser@Xperia10III ~]$

aviarus's picture

Thanks for the report — your Chum hint is the best lead: the app's Python module fails to load, so the backend never starts and the deleted folder is never recreated. But I don't know for certain yet what exactly broke on your device — let's find out before fixing anything. Please post the output of these three lines:
cat /etc/sailfish-release
python3 -c "import ast; ast.parse(open('/usr/share/harbour-whatsapp/start_backend.py').read()); print('syntax ok on', __import__('sys').version)"
devel-su zypper se -si 'python3*' pyotherside\* | grep -i chum
The first tells me your OS release, the second whether your Python can read the app's module at all, the third whether any Python/pyotherside packages come from Chum. Even easier: update the app to 0.9.95 — it now shows the exact error on the pairing screen, and tapping the message copies it to the clipboard, so you can paste it here directly.
IF the third command lists Chum packages, a clean way to recover (no version change) is the sfos-upgrade tool from OpenRepos: run sfos-upgrade --verify — it verifies and re-aligns your installed packages with your current release — then reboot. Afterwards the app starts and you can pair freshly. But diagnosis first — one paste from you and we'll know instead of guessing.

rdomschk's picture

Hey aviarus, today I updated some pytbon respos from Chum an now your nice app not work. What can I do? I delete also the share folder but red test if I will new pair. No new folder under share.

rob_k's picture

Hey, you're faster than your shadow :) Yes, this works again!

aviarus's picture

Thanks. Glad to read

rob_k's picture

Latest version 0.9.90-1 crashes on my Xiii on Pispala 5.1.0.11

aviarus's picture

yes for me it didn't even start. it should be fixed now, if  not just tell me .

kempertom's picture

How to unarchive chats?

aviarus's picture

I thought i have to program again^^, but this is already implemented thankfully. Archived chats are not hidden — they move to the very bottom of the chat list, dimmed and marked "· archived". Scroll down to find them, then long-press the chat and choose "Unarchive" from the menu (the same long-press menu also has Archive, Pin and Mute). The state syncs to your other WhatsApp devices via app state, so unarchiving here unarchives everywhere.

kempertom's picture

It gets more and more perfect. Thank you !!!

rob_k's picture

Idea: add empty file .nomedia to Whatsapp folders, or the content will clutter the Gallery. I'm really happy that this app exists, AAS is now off by default and this saves battery! Thanks again!

aviarus's picture

It's a good suggestion, if media access is enabled you have the option to put .nomedia files for different media types

Pages