Siskin only receives groupchat invitations when online (#430)
Open
Unknown opened 4 years ago

I sent an invitation to a groupchat to a contact with Siskin 5.8.1 and although he was shown to me as a member he told me he didn't receive any invitation or message from that group chat. The device used for sending the invitation was Conversations 2.8.9+fcr (fdroid version) on lineageos 16.0-20200719 on a klte and the server prosody trunk nightly build 1315 2020-07-25 05fefde93036 on Debian Buster. I'll report the iOS version as soon as I know it.

To Reproduce Steps to reproduce the behavior:

  1. Send an invitation for a groupchat to a Siskin contact while Siskin is offline
  2. Send messages to that groupchat
  3. Let the Siskin contact go online
  4. He sees no groupchats messages nor an invitation
  5. Send the groupchat invitation while he is online
  6. He'll receive the invitation and can join the group

Expected behavior The invitation should be shown as soon as Siskin comes online. This is escpecially important as it seems iOS is killing the app aggressively as it goes offline pretty quick if the contact is not keeping it open.

Unknown commented 4 years ago

That issue is not related to Siskin IM and it is not "fixable" in SiskinIM.

If invitation is sent without any body element then typically XMPP server is not triggering a push notification which could wake up SiskinIM and process that invitation. Without that it is not possible to handle those invitations while SiskinIM is in the background.

Which XMPP server (software if know? or domain?) are you using? If Conversation is not adding a <body/> element to the invitation the it may not be delivered by the XMPP server.

Unknown commented 4 years ago

Server is prosody as mentioned earlier. I got feedback that iOS is 13.5.1. It's not really necessary to handle them in background but I thought it should handle it when going online for the next time. I'll try to have a look what conversations sends when inviting later.

Unknown commented 4 years ago

Siskin when comes online, it syncs MAM archive and if invitation would be there it should ask you. I suppose that it is not stored in the MAM archive (nor in the offline storage) and due to that Siskin is not able to show you those invitations. Addition of body or storage hints could help solve the issue - but would need to be done on the senders side.

Unknown commented 4 years ago

I reproduced it by creating an ad-hoc MUC (invite contact while being in a 1-1 conversation in conversations) and the resulting invitation has a body so I wonder why my Siskin contact didn't get the invitation after coming online. Instead I had to reinvite him while he was online.

Jul 28 12:09:19 c2s5565a4577dd0 debug   SEND: <message xml:lang='en' to='info@mdosch.de' from='iwicot@chat.mdosch.de'><x xmlns='http://jabber.org/protocol/muc#user'><invite from='martin@mdosch.de/Conversations.y6Eu'><reason/></invite></x><x jid='iwicot@chat.mdosch.de' xmlns='jabber:x:conference'/><body>martin@mdosch.de/Conversations.y6Eu invited you to the room iwicot@chat.mdosch.de</body><stanza-id by='info@mdosch.de' xmlns='urn:xmpp:sid:0' id='2020-07-28-b077f492ef07a591'/></message>

I assume those should get stored in MAM but I'm not sure. Do you know what to look for?

On 28.07.2020 03:06, Andrzej Wójcik wrote:

Siskin when comes online, it syncs MAM archive and if invitation would be there it should ask you. I suppose that it is not stored in the MAM archive (nor in the offline storage) and due to that Siskin is not able to show you those invitations. Addition of body or storage hints could help solve the issue - but would need to be done on the senders side.

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/tigase/siskin-im/issues/50#issuecomment-664951832

Unknown commented 4 years ago

Sorry, GitHub always forgets how to handle markdown when you reply via email. Here in proper codeblock:

Jul 28 12:09:19 c2s5565a4577dd0 debug   SEND:
<message xml:lang='en' to='info@mdosch.de' from='iwicot@chat.mdosch.de'>
<x xmlns='http://jabber.org/protocol/muc#user'><invite from='martin@mdosch.de/Conversations.y6Eu'><reason/></invite></x>
<x jid='iwicot@chat.mdosch.de' xmlns='jabber:x:conference'/>
<body>martin@mdosch.de/Conversations.y6Eu invited you to the room iwicot@chat.mdosch.de</body>
<stanza-id by='info@mdosch.de' xmlns='urn:xmpp:sid:0' id='2020-07-28-b077f492ef07a591'/></message>
Unknown commented 4 years ago

That should get stored and should trigger push notification. I will look into that, but it is weird that Siskin would not handle that.

Unknown commented 4 years ago

The problem is also I have no apple devices for testing it myself so I have to rely on what my contact tells me. According to him he got no invitation.

Unknown commented 4 years ago

Just a quick question. From the last codeblock which you posted it looks like you are sending an invite to your self. Is that correct? (stanza-id by attribute matches to attribute of the message element).

Or was that just generated as an example?

Unknown commented 4 years ago

I'm asking about that, as messages sent to yourself would not be stored in the offline storage so would not get delivered to SiskinIM while it is offline.

Unknown commented 4 years ago

I (martin@mdosch.de) had a 1-1 conversation with myself (capo@diebesban.de) and created an ad-hoc MUC by inviting another account of myself (info@mdosch.de).

So the invitation should come from martin@mdosch.de to info@mdosch.de.
No idea how this works on the protocol level. Maybe this is what's called mediated invitation?

But I see from='iwicot@chat.mdosch.de', to='info@mdosch.de' and invite from='martin@mdosch.de/Conversations.y6Eu' so the message is not coming from the invited person himself.

On 28.07.2020 09:53, Andrzej Wójcik wrote:

I'm asking about that, as messages sent to yourself would not be stored in the offline storage so would not get delivered to SiskinIM while it is offline.

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/tigase/siskin-im/issues/50#issuecomment-665154392

Unknown commented 4 years ago

I asked in jdev@ and a prosody dev said this invitation looks fine according to the specs https://xmpp.org/extensions/xep-0045.html#invite and https://xmpp.org/extensions/xep-0045.html#invite

Please be aware that the quote is what my server sent out and the client should have received. It's from my prosody debug logs.

Am July 28, 2020 4:53:23 PM UTC schrieb "Andrzej Wójcik" notifications@github.com:

I'm asking about that, as messages sent to yourself would not be stored in the offline storage so would not get delivered to SiskinIM while it is offline.

Unknown commented 4 years ago

Was there any other XMPP client connected to the recipient account other than SiskinIM available at the time when invitation was sent?

(SiskinIM was in the background so most likely it was offline)

Unknown commented 4 years ago

The snippet is from three jids connected with conversations. I just wanted to reproduce the stanza conversations sends when creating an invitation. It shouldn't be of interest whether it is really a siskin at the receicing end or am I missing something? I just wanted to provide an example how an invitation looks like. I didn't send invitations to my siskin contact as I didn't want to spam him. But I'll do so later.

Unknown commented 4 years ago

The real question here is whether there is any other client connected to the same account as Siskin, while Siskin is in the background (offline) and not receiving an invitation?

Unknown commented 4 years ago

Ah ok, no my contact doesn't use any other client than siskin. Right now I sent him another invitation to a MUC and this time he received it. I have no idea why it is different this time as the last time he didn't get any invitation.

On 29.07.2020 04:20, Andrzej Wójcik wrote:

The real question here is whether there is any other client connected to the same account as Siskin, while Siskin is in the background (offline) and not receiving an invitation?

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/tigase/siskin-im/issues/50#issuecomment-665605696

issue 1 of 1
Issue Votes (0)
Watchers (0)
Reference
tigase/_clients/siskin-im#430
Please wait...
Page is in error, reload to recover