beagle-im icon indicating copy to clipboard operation
beagle-im copied to clipboard

Unable to receive self messages from other clients

Open Nothing4You opened this issue 2 years ago • 6 comments

Describe the bug Occasionally I want to share text or files between devices. With Gajim and Conversations this works just fine, however, with BeagleIM this is only possible one-way. Messages sent by BeagleIM show up in other clients but messages sent from Gajim or Conversations never show up.

To Reproduce Steps to reproduce the behavior:

  1. Start a converstation in another client to your own JID
  2. Send a text message
  3. Message shows up in other connected clients but not on BeagleIM

Expected behavior Messages should show up in BeagleIM as well.

Desktop (please complete the following information):

  • OS: macOS 11.5.2
  • Version: 5.0 (132) and stable app store version, not sure which version that was as it seems that the stable version isn't usable anymore after launching the beta.

Additional context In BeagleIM the chat shows up in the From unknown section below Direct messages if you explicitly open such a chat.

Nothing4You avatar Aug 26 '21 16:08 Nothing4You

The same as #30

I've just checked and this works as expected. Messages from "self" are in "From unknown" and are delivered and shown there. All conversations which are not MUC rooms or MIX channels or are not with people from Contacts window are shown in From unknown section.

If you will to received notifications for those messages please go to Preferences and in General check Show for messages from unknown senders in Notifications section.

hantu85 avatar Aug 26 '21 16:08 hantu85

Thanks for the quick response.

As far as I understand the setting should only affect whether I receive notifications for those, not whether they are visible in general.

I do unfortunately not see any messages in the chat window, I'm not just missing notifications.

I did check if it makes any difference if I check the checkbox and also restarted BeagleIM just to be sure but it does not appear to make any difference.

<!--   2021-08-26T16:38:06Z   <<<<   -->
<message to='[email protected]/DAv78hRC' type='chat' from='[email protected]'>
<sent xmlns='urn:xmpp:carbons:2'>
<forwarded xmlns='urn:xmpp:forward:0'>
<message from='[email protected]/gajim.PXS83LRHWOGD8I9M' type='chat' xmlns='jabber:client' id='7b6c4735-145b-41b3-a45f-48c3653fd34f'>
<body>this does not show up</body>
<origin-id id='7b6c4735-145b-41b3-a45f-48c3653fd34f' xmlns='urn:xmpp:sid:0'/>
<markable xmlns='urn:xmpp:chat-markers:0'/>
<stanza-id by='[email protected]' xmlns='urn:xmpp:sid:0' id='99bcee4b-7ab9-4560-9cf2-2020590fb1b7'/>
</message>
</forwarded>
</sent>
</message>

<!--   2021-08-26T16:38:06Z   <<<<   -->
<message type='chat' from='[email protected]/gajim.PXS83LRHWOGD8I9M' id='7b6c4735-145b-41b3-a45f-48c3653fd34f'>
<body>this does not show up</body>
<origin-id xmlns='urn:xmpp:sid:0' id='7b6c4735-145b-41b3-a45f-48c3653fd34f'/>
<markable xmlns='urn:xmpp:chat-markers:0'/>
<stanza-id xmlns='urn:xmpp:sid:0' id='1add16b0-c5b7-494c-905e-721d9365b553' by='[email protected]'/>
</message>

<!--   2021-08-26T16:38:06Z   <<<<   -->
<r xmlns='urn:xmpp:sm:3'/>

<!--   2021-08-26T16:38:06Z   >>>>   -->
<a xmlns='urn:xmpp:sm:3' h='2371'/>
Screenshot 2021-08-26 at 18 41 41

Nothing4You avatar Aug 26 '21 16:08 Nothing4You

btw, to add to that, as visible in the bottom of the screenshot, pubsub messages do show up.

Nothing4You avatar Aug 26 '21 16:08 Nothing4You

What server do you use? I'm asking as incoming message is missing to attribute and that is most likely causing the issue in your case.

hantu85 avatar Aug 26 '21 18:08 hantu85

this is on Prosody 0.11 nightly build 133 (2021-07-23, d117b92fd8e4)

Nothing4You avatar Aug 26 '21 18:08 Nothing4You

According to RFC 6120 https://datatracker.ietf.org/doc/html/rfc6120#section-8.1.1.1 states that for incoming stanza:

  1. A stanza with a specific intended recipient (e.g., a conversation partner, a remote service, the server itself, even another resource associated with the user's bare JID) MUST possess a 'to' attribute whose value is an XMPP address.

and for processing stanzas before sending them back to client:

  1. If the server has received the stanza from another connected client or from a peer server, the server MUST NOT modify the 'to' address before delivering the stanza to the client.

I'm pretty sure that your other clients are sending to attribute in messages sent to self and your server is removing this to attribute which is not ok according to this RFC.

@mwild1 Am I correct? I know that client may "ignore" checking to but it still may be checking and without to there is an issue.

hantu85 avatar Aug 26 '21 18:08 hantu85

I don't know what changed since last time but it seems that this is working now with BeagleIM 5.3.1 (162) and Prosody 0.12.1.

Nothing4You avatar Oct 31 '22 12:10 Nothing4You