I don't get omemo working with multiple clients. I'm using conversations on a Android tablet and Gajim on desktop. Both are working fine. E.g. I can write a encrypted message with conversations and I can read the same written message with gajim.
With converse.js I can't read those messages:
I sent you an OMEMO encrypted message but your client doesn’t seem to support that. Find more information on https://conversations.im/omemo
Maybe I did something wrong?
Hi, I just moved this topic to support as it's not a question about app development.
And I suggest to address this matter to the app's maintainer using gitlab or github...
[Edit] Actually it's github :
You can find the link on the open store : https://open-store.io/app/conversejs.povoq
@poVoq Maybe you can help if you're around here.
@redi hmm, odd. Can you try between two ConverseJS instances? It should also work with Conversations and Gajim, but I didn't really test that to be honest.
PM me and we can try it. But if it doesn't work then it is an issue that can be only fixed upstream as my simple wrapper doesn't do anything special regarding OMEMO.
I just tested it with Conversations and that seems to work here with OMEMO.
Of course for old messages from other clients it shows that message you mention (that's a feature of OMEMO), but new ones work fine.
I have reinstalled converse.js and deleted all app data. Then logged in and wrote a message to my wife.
I could read this message on both converse.js and conversations.
Then my wife wrote an answer. I could read it on converse.js, but not on conversations.
I wrote a message again (readable on both) and then I could read the answer on both clients.
Now I add gajim. I had to trust the other device. After that most of the messages arrived and could be read on all devices.
Seemed to work now.
Well, I have no idea what I did wrong the weeks before.
@redi Great to hear that it works. OMEMO multi client support can be a bit tricky to get working as all the clients need to exchange keys first.
By the way, which device are you using my ConverseJS app on? I can only test it on my Nexus5 and so far didn't get any feedback if it runs sufficiently well on other devices.
I am using a nexus 5 too.
At 17.21 I send a message to a friend of mine with converse.js. She uses conversations.
I see two messages in converse.js: the message I wrote and a OMEMO warning, both at the same time.
While this is something I don't understand, I could read her answer which is shown only once with no warning.
But it is usable so far, in fact it is the only usable xmpp client on ubports. So thank you very much for your work.
Messages written with converse are shown twice in converse: message (readable) and omemo warning, which tells me, that I cannot read the message, because it is not encrypted for this device. This is wrong, because the message is shown above.
This is not a big problem, just an error message I don't understand.
Is it possible to save the login data? I chose the automatic login at the start screen, but it saves only the bosh date, not login and password.
Sorry, I never saw the double message issue. Maybe check the OMEMO keys and remove/reset them?
Edit: maybe a message carbon issue? What xmpp server are you using? Maybe it doesn't have carbons (and mam?) enabled?
Automatic login is working here with the 0.2.0 version. I need to double check the code to see what might be going wrong in your case. It sometimes is a bit slow, so you might see the login screen flash shortly, but then it should log in again.
I'm using trashserver.net with ejabberd 19. I have three clients: converse.js (phone), conversations (tablet) and gajim (desktop).
If I can help you just tell me.
It seems that I only get two messages if the other is online too.
I will investigate it further or simply reinstall converse and delete the saved data.
Hmm, trashserver.net should be fine according to this:
But it definitely sound like some message carbon related OMEMO issue.
I reinstalled converse.js again, deleted cache ... via ut tweak, .... and autologin works now.
But still I those omemo warnings.
Do you need a screenshot? If yes: how do I do a screenshot?
May I can ask one further question? I saw at the screenshots in openstore that it should be possible to send a file or picture. Do I have to activate this feature somehow? Because at the moment I see no paperclip while typing a message.
To take a screenshot, you have to press vol-up and vol-down simultaneously.
That's the extend of my knowledge
I really don't know how to fix the double message issue. I researched it a bit and i seem to be correct that it is message-carbon related and needs a special implementation on the client to discard double messages. But I don't know if this a specific issue with your setup or a general ConverseJS problem. I tried to get an answer in the official ConverseJS MUC, but so far no luck. but if you want you can raise an issue on their github repository with a detailed description of your problem.
The file or picture sending needs no special configuration but http_upload support server side. As soon as that is supported the paperclip shows up. It is a bit odd that trashserver.net reports this functionality on the compliance page but it doesn't work for you. I run my own ejabberd 20.02 server and there it works fine.
@redi is this in a OMEMO encrypted 1:1 chat or a MUC? Seems like there is a specific related issue in OMEMO encrypted MUCs, see here: https://github.com/conversejs/converse.js/issues/1481
Strange. It happens in direct chats. And of course trashserver supports http-upload.
Trashserver itsself works fine. These problems only happen with the converse.js client. With conversations and gajim everything works well.
May it be a problem caused by the bosh / wss configuration?
I added both to the server configuration. In that case which connection is used?
@redi In that case it should prefer the websocket connection. But to be honest, I am really only testing it with websocket only in my setup.
I switched to websockets, but it doesn't solve the problems.