From f2867a7fc3ee28741cd45facfa87309c342d43e8 Mon Sep 17 00:00:00 2001 From: Bohdan Horbeshko Date: Tue, 26 Aug 2025 15:40:11 -0400 Subject: [PATCH] Return last page for any queries that specify RSM before --- xmpp/handlers.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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