aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/parser
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2019-06-18 18:11:08 +0200
committerChristian Schneppe <christian@pix-art.de>2019-06-18 18:11:08 +0200
commitfe4c5fabf7a9da61b52ce6a269d1df0493826e01 (patch)
tree3d9459fac06b7ec8b9907bb0f347d3c60bd05a32 /src/main/java/de/pixart/messenger/parser
parent777ab177c1416c5635f7821acd85ab3298cf1484 (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.java7
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());