MAM: assume true counterpart is safe to extract when using mam:2

Daniel Gultsch created

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

src/main/java/eu/siacs/conversations/Config.java πŸ”—

@@ -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;
 

src/main/java/eu/siacs/conversations/parser/MessageParser.java πŸ”—

@@ -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;
 				}