diff options
author | Christian Schneppe <christian@pix-art.de> | 2019-06-18 18:11:08 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2019-06-18 18:11:08 +0200 |
commit | fe4c5fabf7a9da61b52ce6a269d1df0493826e01 (patch) | |
tree | 3d9459fac06b7ec8b9907bb0f347d3c60bd05a32 /src/main/java/de/pixart/messenger/parser | |
parent | 777ab177c1416c5635f7821acd85ab3298cf1484 (diff) |
self ping (xep-0410) after receiving invite to muc
Diffstat (limited to 'src/main/java/de/pixart/messenger/parser')
-rw-r--r-- | src/main/java/de/pixart/messenger/parser/MessageParser.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/parser/MessageParser.java b/src/main/java/de/pixart/messenger/parser/MessageParser.java index 2c81380dc..8c0f89323 100644 --- a/src/main/java/de/pixart/messenger/parser/MessageParser.java +++ b/src/main/java/de/pixart/messenger/parser/MessageParser.java @@ -549,7 +549,7 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece final boolean checkedForDuplicates = serverMsgId != null && remoteMsgId != null && !conversation.possibleDuplicate(serverMsgId, remoteMsgId); if (origin != null) { - message = parseAxolotlChat(axolotlEncrypted, origin, conversation, status, checkedForDuplicates,query != null); + message = parseAxolotlChat(axolotlEncrypted, origin, conversation, status, checkedForDuplicates, query != null); } else { Message trial = null; for (Jid fallback : fallbacksBySourceId) { @@ -999,7 +999,10 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece public boolean execute(Account account) { if (jid != null) { Conversation conversation = mXmppConnectionService.findOrCreateConversation(account, jid, true, false); - if (!conversation.getMucOptions().online()) { + if (conversation.getMucOptions().online()) { + Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": received invite to " + jid + " but muc is considered to be online"); + mXmppConnectionService.mucSelfPingAndRejoin(conversation); + } else { conversation.getMucOptions().setPassword(password); mXmppConnectionService.databaseBackend.updateConversation(conversation); mXmppConnectionService.joinMuc(conversation, inviter != null && inviter.mutualPresenceSubscription()); |