Messages to MUC appear twice
Description
Commit c6ff25c appears to have reintroduced the bug where messages sent to a MUC appear twice. When I checkout c8f6867, my messages only appear once.
Steps to Reproduce
- Join a MUC
- Send a message
Expected Results
My message to appear once.
Actual Results
My message appears twice.
Notes
- The message does not appear twice to other accounts, nor does it appear twice in other clients (Pidgin).
- I have only tested this with 1 Jabber account (so far). I'm happy to test with additional accounts if necessary.
how is it different with #264? (should not happen a validation by <message id="X" ... ?
Oh. I fail at searching. :man_facepalming:. That sounds like the same bug. It "went away" for a while, and just came back when I updated my local git repo to c6ff25c. But that description sounds like the same behavior I'm seeing.
By now Dino does not only rely on the message ID but also sets and checks the origin-id if the MUC server does not advertise stable ids. Do you still experience this issue?
Unfortunately, I do not have access to the affected XMPP server anymore so I cannot verify whether this is still occurring or not.
I also experience this, but only on transported MUCs. My setup is prosody/spectrum2 to transport to IRC. In Gajim and Conversations, my own messages are never shown twice. In dino, I can see my own messages sent from other clients only once as expected. But if I send a message to IRC from dino, I see it twice in dino. Maybe it has something to do with the fact that my nickname in IRC is different than what dino expects? Would be happy to help debugging, let me know how.
What does spectrum2 bring over Biboumi?
Never tried biboumi (I might now that you mentioned it), but spectrum2 allows to transport from and to other protocols. Notably, since it supports libpurple, it also allows XMPP gateways to a lot of "legacy" networks.
FWIW I just tried with another spectrum2 gateway and the problem also occur. It is possible that this is a spectrum2 issue BUT it doesn't happen with the two other XMPP clients I use (Conversations and Gajim), so… I am not XEP-savvy enough to be able to tell if the gateway or dino is to blame for this behaviour. Anyway, this is what the Dino logs show:
XMPP OUT [[email protected] 0x55b7ae312e50 2021-01-30T16:54:21+0100]
<message id='cc1bca00-f52d-4eb1-a383-56ebb8febe08' to='[email protected]' type='groupchat'>
<body>
beaucoup
</body>
<origin-id xmlns='urn:xmpp:sid:0' id='cc1bca00-f52d-4eb1-a383-56ebb8febe08' />
</message>
XMPP OUT [[email protected] 0x55b7ae312e50 2021-01-30T16:54:21+0100]
<r xmlns='urn:xmpp:sm:3' />
XMPP IN [[email protected] 0x55b7ae312e50 2021-01-30T16:54:21+0100]
<a xmlns='urn:xmpp:sm:3' h='247' />
XMPP IN [[email protected] 0x55b7ae312e50 2021-01-30T16:54:21+0100]
<message from='[email protected]/redacted' type='groupchat' to='[email protected]/dino.591fcee1'>
<body>
beaucoup
</body>
<active xmlns='http://jabber.org/protocol/chatstates' />
</message>
XMPP IN [[email protected] 0x55b7ae312e50 2021-01-30T16:54:21+0100]
<r xmlns='urn:xmpp:sm:3' />
XMPP OUT [[email protected] 0x55b7ae312e50 2021-01-30T16:54:21+0100]
<a xmlns='urn:xmpp:sm:3' h='638' />
and the message "beaucoup" is shown twice (from me) the MUC. Let me know if you want additional details.
This also happens with biboumi IRC channels, although not always. I did not determine under which circumstances this happens yet. Wild guess: since I am usually connected from Dino and Conversations, I wonder whether this has anything to do with carbons?
This also happens with biboumi IRC channels, although not always. I did not determine under which circumstances this happens yet. Wild guess: since I am usually connected from Dino and Conversations, I wonder whether this has anything to do with carbons?
Same here. I think this can be observed more often when Dino reconnects after a temporary network loss, so that may have something to do with how biboumi generates message ids for MUC Discussion History.
I'm not sure if this is the same issue, about some channels where I was writing, I could see some lines appearing twice on my Dino. It was in a Biboumi channel (so, IRC), and it was only visual: I asked other people in there, message was sent once only, and my Gajim and Conversations connected at the same time displayed them once too. Unfortunately the second PC didn't have Dino running at the same time and when I launched it after, it displayed them once too.
It's worth noting that it appeared to be lines coming after the first in multi-line messages (probably sent over to IRC as one message per line), but I don't know if bridge specificities can hit the XMPP client.
As a bonus, one of the messages got its end truncated on Dino, but completely visible on the two other clients (not one of the duplicated messages).