Change summary
src/main/java/eu/siacs/conversations/Config.java | 2
src/main/java/eu/siacs/conversations/parser/MessageParser.java | 4
src/main/java/eu/siacs/conversations/services/MessageArchiveService.java | 4
3 files changed, 6 insertions(+), 4 deletions(-)
Detailed changes
@@ -100,8 +100,6 @@ public final class Config {
public static final boolean IGNORE_ID_REWRITE_IN_MUC = true;
- public static final boolean PARSE_REAL_JID_FROM_MUC_MAM = false; //dangerous if server doesnβt filter
-
public static final long MAM_MAX_CATCHUP = MILLISECONDS_IN_DAY * 5;
public static final int MAM_MAX_MESSAGES = 750;
@@ -506,8 +506,8 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
Jid trueCounterpart;
if (message.getEncryption() == Message.ENCRYPTION_AXOLOTL) {
trueCounterpart = message.getTrueCounterpart();
- } else if (Config.PARSE_REAL_JID_FROM_MUC_MAM) {
- trueCounterpart = getTrueCounterpart(query != null ? mucUserElement : null, fallback);
+ } else if (query != null && query.safeToExtractTrueCounterpart()) {
+ trueCounterpart = getTrueCounterpart(mucUserElement, fallback);
} else {
trueCounterpart = fallback;
}
@@ -354,6 +354,10 @@ public class MessageArchiveService implements OnAdvancedStreamFeaturesLoaded {
}
}
+ public boolean safeToExtractTrueCounterpart() {
+ return muc() && !isLegacy();
+ }
+
public Query next(String reference) {
Query query = page(reference);
query.pagingOrder = PagingOrder.NORMAL;