diff --git a/xmpp/handlers.go b/xmpp/handlers.go index 057aeff..194c861 100644 --- a/xmpp/handlers.go +++ b/xmpp/handlers.go @@ -2330,6 +2330,10 @@ func handleSetQueryMAM(s xmpp.Sender, iq *stanza.IQ, query extensions.MAMQuery) } } + if rsmBefore != 0 && rsmAfter == 0 { + rsmLastPage = true + } + if rsmLimit == 0 && !justCount { rsmLimit = 100 } @@ -2353,7 +2357,7 @@ func handleSetQueryMAM(s xmpp.Sender, iq *stanza.IQ, query extensions.MAMQuery) quotaTs := time.Now().AddDate(0, 0, -int(gateway.MAMThreshold)) var beyond, complete bool canBeComplete := true - fromStart := true + fromStart := !rsmLastPage var overallyFirstMessageId, overallyLastMessageId int64 reverse := query.GetFlipPage() != nil