From 576980097ec463fdc1cc8fcf0e398b1f9ab65adf Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Tue, 19 May 2015 14:21:52 +0200 Subject: [PATCH] Request SM ack when re-sending after stream resumption Fixes SMACK-667. --- .../java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java index 378f3299d..64de91db5 100644 --- a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java +++ b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java @@ -1117,6 +1117,12 @@ public class XMPPTCPConnection extends AbstractXMPPConnection { } smResumedSyncPoint.reportSuccess(); smEnabledSyncPoint.reportSuccess(); + // If there where stanzas resent, then request a SM ack for them. + // Writer's sendStreamElement() won't do it automatically based on + // predicates. + if (!stanzasToResend.isEmpty()) { + requestSmAcknowledgementInternal(); + } LOGGER.fine("Stream Management (XEP-198): Stream resumed"); break; case AckAnswer.ELEMENT: