Some initial impressions

Hi! Just taking a few minutes to give Jami a shot after meaning to do so for quite some time. Really appreciate the concepts behind it, way too much stuff is centralised these days and I appreciate there are still ongoing efforts to move past that. Thanks for the tremendous work you’re all putting into this, hope I can one day help a bit! I especially think it’s cool how this isn’t just some special purpose new protocol unto itself but instead builds on top of existing standards and projects eg. SIP, TURN, OpenDHT, InfoHash etc.

Unfortunately, I’m a bit scattered and can’t necessarily devote a tonne of time at the moment, including to file proper issues. But in case I pull it together enough to follow up on this more formally I wanted to document my first impressions so might as well do it on the support forum in case that’s at all useful (or someone can help clue me in):

I installed Jami (Maloya) on Ubuntu via Snap and was able to readily enough create an account and link it to my Android phone and I got a friend somewhere else to install on Windows. Broadly, this all worked quite smoothly and we were able to get through the hiccups, but here’s what we noticed:

  • when I got my friend’s request I just saw their mysterious id, it didn’t show me their username so I wasn’t completely sure it was them I was authorising

  • chat worked instantly which was a great first impression as did the first image I sent from my phone, alas neither of us could send images from desktop, error was just an opaque “Unable to make contact”. We were able to figure out that we needed to turn on a DHT proxy so that works fine now

  • I don’t want to have to use the resources of your DHT proxy but it’ll be a while before I get around to understanding UPNP (I’m already sketched out by the amount of random software talking to the internet, I don’t want to enable it to start receiving incoming connections without my explicit intervention). It doesn’t seem readily apparent to me how to forward a port for this, is there a default range that’s used? Or there is no provision for me to be able to do that and it won’t even try to listen on a port if it can’t get one via UPNP?

  • incoming messages appeared on both my phone and desktop, but my responses did not show up on both devices, only the one where I typed them. I suppose swarm addresses this? But nothing currently?

  • on desktop there seems to be no way to see detailed metadata about messages (eg. when sent, received, perhaps how it was received as it’d be neat for me to see if my message to another local device successfully avoided going out to the internet)

  • (super minor) had to use mouse to insert an emoji rather than eg. typing :think[tab] to get :thinking: like I can on Slack, Signal and even this forum

1 Like


  • Is it a username or a display name? the username is registered on, the display name is a part of the profile like the avatar. In the first case it’s a bug, on the second case it can be normal. It will mean that the trust request was not received, only the first message. This will change with swarm

  • The file transfer is completely redesigned with swarm and files will be automatically be retried if the connection is cut. It’s completely unrelated to the DHT proxy as the DHT is not used during the transfer, only the p2p socket negotiated.

  • UPnP has nothing to do with the DHT. But disabling the DHT proxy will use the embedded DHT node in Jami. Also for the ports: Frequently Asked Questions · Wiki · savoirfairelinux / jami-project · GitLab

  • This is normal there is no history sync for now. This will be the case with swarm

  • Indeed there is no way.

  • Indeed