HELP, I'd love to love this app, but I can't get it working

On Android I use a privacy OS, so no Google push notifications.
On PC I use a debian based Linux.
The devices connect through an external VPN provider.

Focusing on the mobile app, I tried connecting through the cellular network too, to narrow down the issue. The phone and PC is linked with the same account.

I have a single contact as of now, but on the phone it’s stuck in the invitation phase and it says it’s “downloading conversation from peer”. But it isn’t.

What settings do I need? I kinda hoped it would just work on default settings.
I was lead to believe Jami is extremely easy to use. Well, so far it seems anything but simple.
I guess this is what I get for stepping onto uncharted territory. :slight_smile:

If someone could walk me through the setup, I’d appreciate it.
If I can get this running reliably and get rid of the mainstream platforms, I pledge to set up a monthly donation. I’m subscribed to FB, just to keep in touch with a few people. I’d far rather give that money to a better cause.

Thanks!

1 Like

You are very welcome. I think you need to first check your network status. Having a public IPv4 or IPv6 address is preferable
When you have IPv6 or public IPv4, this software can work normally in most cases

Can you please advise which privacy OS?

Does the following link help?

I exposed the Jami app to the internet via the Split tunneling function, so it should not go through the VPN and go directly through the ISP. It still doesn’t start the chat up, just keeps showing the “downloading conversation from peer”.

It also doesn’t work on the computer, but that’s a compound issue, so I’ll focus on the phone for now.

I use IodeOS.
I installed the ntfy app, I tried using the Local DHT so far for a Connectivity Mode, but to no avail.
Not sure what to do with ntfy then. Does it need configuring?

I tried putting it on, it didn’t help so far.

I tried creating a new account on my spare phone with a stock Android. Jami installed from Play store.
Default app settings. Find my first account, invite, then nothing happens on my devices with the first account.

Update: oh, I disabled the DHT Proxy in the phone, and now I could get the invitation from the Test account, it connected and even my welcome text didn’t get lost!

But it doesn’t seem to receive the notification when in the background, so ntfy doesn’t just work straight ouf of the box?

And the computer is a completely different story, I’ll get to that once the phone works reliably.
So, what should I try next?

Alright, so Local DHT seems to work just fine so long the app keeps running in the background.
I could place calls and send text, pics back and forth between two phones. One on wifi, the other on cellular network.

It seems to receive messages and calls through the VPN tunnel as well (via a VPN provider), so that shouldn’t be an issue.

So all I needed to do is just not use a DHT Proxy on the phone. Although in theory that should work too, no?

However the camera doesn’t seem to work on the phone with IodeOS on, so the stock Android sends a video stream just fine in a video call, but the one with Iode on has just got a blank black camera feed. It has got the Camera permission, so not sure what else is there to check.

And lastly my single live contact somehow put us into a group (or the linking of IodeOS to the PC Client on my end), so that probably explains the weird “downloading conversation from peer” thing.
I deleted the group and this contact remained on my list, but now I can open it normally and get the chat window as I should. Good.

(The Linux Desktop client keeps being troublesome, having microphone and camera input device issues, so that’s for another day… But the messages get through that too at least.
Edit: this seems more of a kernel issue than Jami issue - that my USB devices keep disappearing -, so I’ll investigate this separately.)

Currently, apart from network issues, no other problems would cause this software to become unusable

Upon further testing I found that only the Local DHT connectivity mode works reliably WITHOUT the DHT Proxy. But that drains the battery and uses data like if I routed the traffic of the whole city, lol.
(I understand every Jami client that connects straight to the DHT network is a node by itself too? Like if I was hosting an OpenDHT node?)

On the de-googled phone with the F-droid flavour of Jami I don’t get Google Firebase, so I only have UnifiedPush. Ntfy doesn’t seem to be able to get through the VPN tunnel, so there’s that.
Meanwhile other apps that use Google FCM via MicroG work normally.

The Google phone (stock Android) of course has no issues whatsoever with push notifications.

Lastly, I tried to use Local DHT but WITH proxy. My initial test wasn’t successful, but more testing is needed with battery optimization off.

Only if I could get Ntfy running behind the VPN, that would be great…
Or I guess I could always try the Play Store flavour of Jami that has Google FCM in it and is known to work reliably on my de-googled phone along with other apps that use FCM.
But in the grand scheme of things, I’d rather not rely on Google servers. It’s a privacy concern mostly.

Anyone can share their thoughts on this? Or perhaps anyone has walked in my shoes: using Jami, but from behind a VPN?

PS: btw is the Play Store version privacy-friendly too? I believe Google has some sort of policy to integrate certain intrusive features in the apps that are published in their store, no?

UPDATE

So I could not get the F-droid flavor working reliably using DHT Proxies.
It could only ever receive calls and messages in Local DHT mode w/o Proxy. Polling in the background, which hurts battery life and data plan.

I tried it with and w/o VPN, split tunneling, etc. The logs all indicated that Jami could reach the DHT network one way or another (depending on what connection I used - cellular network or wifi), but the push messages were glitchy. Ntfy works just fine even behind VPN (as expected on port 443), it receives messages from other subscribed topics just fine. I tested this with UP-Example.
Jami logs indicated that it “saw” some push notifications, but none were received (with the High, Normal, Unknown labels). I can only guess this logs every single push notification that the phone gets and Jami cherry picks the relevant ones.

Then I read it in the forum that UnifiedPush is buggy in OpenDHT. So after long trying and almost giving up, I installed the Play version, which uses Google FCM.
Miraculously everything started to work straight off the bat, even from behind VPN with full tunneling.
The push logs see tons of messages, and there are also received ones in the counters.

Great so far! I’m not overly joyed that I have to rely on Google servers, but at least there’s no PII in the push notifications.
So, I’ve been testing the Google flavor for a while now and unfortunately it is not without some issues either…
Generally it has a much easier time, but depending on which DHT Proxy it connects to, it often stops receiving notifications after a while. Like if I want to call my phone after it has been sleeping all day, I can’t reach it. I open the Jami app, and the logs indicate a connectivity issue between the client and the DHT server. So far the only remedy I found is to disable/enable the DHT Proxy, so it would connect to another server, and things starting to work again. What a hassle…
I looked into the Proxy list and I only found just a handful, all of which is run by the Jami Project?
I kinda expected a list with entries at least in the double digits from all around the world, given the nature of a distributed network and all, you know… The entire Jami “network” relies on the few proxies the Jami Project runs? How is that “resilient”?

So bottom line is, for a reason unbeknownst to me, the client still loses connection over the period of a half day or so (I guess after the 6 hours listening period is over on the DHT Proxy). On paper the client should get a push message to restart the listening on the proxy, but I guess it doesn’t always?
I can’t blame the Google FCM, as that seems to work well with OpenDHT (unlike UnifiedPush at the moment), and I can’t blame the VPN either, as the port 443 is open where the notifications arrive and every other app works just fine with VPN that use FCM.

I kinda got into a stalemate with this app. I’d love to love Jami, I’m just not sure if it fits the bill, yet.
The user shouldn’t need to troubleshoot connectivity issues for weeks on end - only to find out a core functionality is broken on the server side (UnifiedPush) -, not to mention getting normies to switch…
Perhaps it’s time to look for alternatives for a privacy IM.

Please donate to help with Jami development.

The weakness of DHT proxies exists because only the developers of the publishing app can send push notifications, which is a restriction imposed by Google and Apple. One way to make UnifiedPush work properly might be to look for an older distributor or compile OpenDHT from source as a proxy server yourself. Not all users are ready for their devices to become servers, so directly switching to a fully distributed application is very difficult. Additionally, apps that use decentralized servers can also encourage users to pay attention to security and privacy. You can check out this post:

  1. Upgrade all phone and tablet operating systems to GrapheneOS at the GrapheneOS website.
  1. Install F-Droid from the F-Droid website.
  1. Install the ntfy (pronounced notify) notification service from the F-Droid website.
  1. Install Jami from the F-Droid website.

Please click the following link to donate to the Jami developers.

Thank you

Hey, can you make this auto-reply-like mechanism a bit more cautious? UnifiedPush isn’t working properly at the moment.