end otr session when receiving failed otr message warnings

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/parser/MessageParser.java | 8 +++
1 file changed, 7 insertions(+), 1 deletion(-)

Detailed changes

src/main/java/eu/siacs/conversations/parser/MessageParser.java 🔗

@@ -202,7 +202,13 @@ public class MessageParser extends AbstractParser implements
 		if (packet.getType() == MessagePacket.TYPE_ERROR) {
 			Jid from = packet.getFrom();
 			if (from != null) {
-				mXmppConnectionService.markMessage(account, from.toBareJid(), packet.getId(), Message.STATUS_SEND_FAILED);
+				Message message = mXmppConnectionService.markMessage(account,
+						from.toBareJid(),
+						packet.getId(),
+						Message.STATUS_SEND_FAILED);
+				if (message.getEncryption() == Message.ENCRYPTION_OTR) {
+					message.getConversation().endOtrIfNeeded();
+				}
 			}
 			return true;
 		}