MAM request with only a “start” value returns wrong results
Description of the issue
For some MAM query, with only a “start” value, it looks like the archive sent contains messages sent BEFORE that date, and in reverse order. Please investigate.
Relevant debug logs
[DEBUG]: src/xmpp/xmpp_component.cpp:162: XMPP RECEIVING: <presence from='braack@xmpp.example.com/chatsecure496' to='#hexa@irc.example.com/braack|xmpp' xmlns='jabber:component:accept'><x xmlns='http://jabber.org/protocol/muc'><history since='2018-11-18T22:33:51Z' xmlns='http://jabber.org/protocol/muc'/><password xmlns='http://jabber.org/protocol/muc'/></x><c hash='sha-1' node='https://github.com/robbiehanson/XMPPFramework' ver='8YBEH/vxAMKLlIFFhFNt1PvZaBA=' xmlns='http://jabber.org/protocol/caps'/><x xmlns='vcard-temp:x:update'><photo xmlns='vcard-temp:x:update'/></x></presence>
[DEBUG]: src/irc/irc_client.cpp:383: IRC SENDING: (lechuck.hackint.org) IrcMessage[JOIN]{#hexa}
[DEBUG]: src/irc/irc_client.cpp:345: IRC RECEIVING: (lechuck.hackint.org) IrcMessage[JOIN]{#hexa}(from: braack|xmpp!~braack@gateway/xmpp)
[DEBUG]: src/irc/irc_client.cpp:345: IRC RECEIVING: (lechuck.hackint.org) IrcMessage[353]{braack|xmpp}{=}{#hexa}{braack|xmpp RJHacker21231 GlaDOS` @hexa- skorpy}(from: lechuck.hackint.org)
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <presence from='#hexa@irc.example.com/RJHacker21231' to='braack@xmpp.example.com/chatsecure496'><x xmlns='http://jabber.org/protocol/muc#user'><item affiliation='none' role='participant'/></x></presence>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <presence from='#hexa@irc.example.com/GlaDOS`' to='braack@xmpp.example.com/chatsecure496'><x xmlns='http://jabber.org/protocol/muc#user'><item affiliation='none' role='participant'/></x></presence>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <presence from='#hexa@irc.example.com/hexa-' to='braack@xmpp.example.com/chatsecure496'><x xmlns='http://jabber.org/protocol/muc#user'><item affiliation='admin' role='moderator'/></x></presence>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <presence from='#hexa@irc.example.com/skorpy' to='braack@xmpp.example.com/chatsecure496'><x xmlns='http://jabber.org/protocol/muc#user'><item affiliation='none' role='participant'/></x></presence>
[DEBUG]: src/irc/irc_client.cpp:345: IRC RECEIVING: (lechuck.hackint.org) IrcMessage[366]{braack|xmpp}{#hexa}{End of /NAMES list.}(from: lechuck.hackint.org)
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <presence from='#hexa@irc.example.com/braack|xmpp' to='braack@xmpp.example.com/chatsecure496'><x xmlns='http://jabber.org/protocol/muc#user'><status code='110'/><item affiliation='none' jid='~braack@gateway/xmpp' role='participant'/></x></presence>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <message from='#hexa@irc.example.com' to='braack@xmpp.example.com/chatsecure496' type='groupchat'><subject/></message>
[DEBUG]: src/irc/irc_client.cpp:345: IRC RECEIVING: (lechuck.hackint.org) IrcMessage[JOIN]{#hexa}(from: braack|xmpp!~braack@gateway/xmpp)
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <presence from='#hexa@irc.example.com/braack|xmpp' to='hexa@xmpp.example.com/Conversations.ypYz'><x xmlns='http://jabber.org/protocol/muc#user'><item affiliation='none' jid='~braack@gateway/xmpp' role='participant'/></x></presence>
[DEBUG]: src/xmpp/xmpp_component.cpp:162: XMPP RECEIVING: <iq from='braack@xmpp.example.com/chatsecure496' id='F4B6AE07-A3B0-4B4B-90B3-7DAFF798E37C' to='#hexa@irc.example.com/RJHacker21231' type='get' xmlns='jabber:component:accept'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <iq from='#hexa@irc.example.com/RJHacker21231' id='F4B6AE07-A3B0-4B4B-90B3-7DAFF798E37C' to='braack@xmpp.example.com/chatsecure496' type='error'><error type='cancel'><feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:162: XMPP RECEIVING: <iq from='braack@xmpp.example.com/chatsecure496' id='E070C092-86D7-452D-B420-A5BA97EC9646' to='#hexa@irc.example.com/GlaDOS`' type='get' xmlns='jabber:component:accept'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <iq from='#hexa@irc.example.com/GlaDOS`' id='E070C092-86D7-452D-B420-A5BA97EC9646' to='braack@xmpp.example.com/chatsecure496' type='error'><error type='cancel'><feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:162: XMPP RECEIVING: <iq from='braack@xmpp.example.com/chatsecure496' id='1539E8CB-5723-497A-A3CD-2C612B856E16' to='#hexa@irc.example.com/hexa-' type='get' xmlns='jabber:component:accept'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <iq from='#hexa@irc.example.com/hexa-' id='1539E8CB-5723-497A-A3CD-2C612B856E16' to='braack@xmpp.example.com/chatsecure496' type='error'><error type='cancel'><feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:162: XMPP RECEIVING: <iq from='braack@xmpp.example.com/chatsecure496' id='418730E8-8794-4488-9E10-C350AF3260F2' to='#hexa@irc.example.com/skorpy' type='get' xmlns='jabber:component:accept'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <iq from='#hexa@irc.example.com/skorpy' id='418730E8-8794-4488-9E10-C350AF3260F2' to='braack@xmpp.example.com/chatsecure496' type='error'><error type='cancel'><feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:162: XMPP RECEIVING: <iq from='braack@xmpp.example.com/chatsecure496' id='5BAEAFE4-8153-407F-B487-9FB2F95B3750' to='#hexa@irc.example.com/braack|xmpp' type='get' xmlns='jabber:component:accept'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <iq from='#hexa@irc.example.com/braack|xmpp' id='5BAEAFE4-8153-407F-B487-9FB2F95B3750' to='braack@xmpp.example.com/chatsecure496' type='error'><error type='cancel'><feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:162: XMPP RECEIVING: <iq from='braack@xmpp.example.com/chatsecure496' id='921539F7-6EC0-4FFA-AF80-6ADAE0EFE2D1' to='#hexa@irc.example.com' type='get' xmlns='jabber:component:accept'><query xmlns='http://jabber.org/protocol/muc#admin'><item affiliation='member' xmlns='http://jabber.org/protocol/muc#admin'/></query></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <iq from='#hexa@irc.example.com' id='921539F7-6EC0-4FFA-AF80-6ADAE0EFE2D1' to='braack@xmpp.example.com/chatsecure496' type='error'><error type='cancel'><feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:162: XMPP RECEIVING: <iq from='braack@xmpp.example.com/chatsecure496' id='E5A91881-4105-4922-B5C1-30E391159239' to='#hexa@irc.example.com' type='get' xmlns='jabber:component:accept'><query xmlns='http://jabber.org/protocol/muc#admin'><item affiliation='admin' xmlns='http://jabber.org/protocol/muc#admin'/></query></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <iq from='#hexa@irc.example.com' id='E5A91881-4105-4922-B5C1-30E391159239' to='braack@xmpp.example.com/chatsecure496' type='error'><error type='cancel'><feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:162: XMPP RECEIVING: <iq from='braack@xmpp.example.com/chatsecure496' id='450A3D45-8C2B-484B-B2E9-A6E82C08E6C0' to='#hexa@irc.example.com' type='get' xmlns='jabber:component:accept'><query xmlns='http://jabber.org/protocol/muc#admin'><item affiliation='owner' xmlns='http://jabber.org/protocol/muc#admin'/></query></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <iq from='#hexa@irc.example.com' id='450A3D45-8C2B-484B-B2E9-A6E82C08E6C0' to='braack@xmpp.example.com/chatsecure496' type='error'><error type='cancel'><feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:162: XMPP RECEIVING: <iq from='braack@xmpp.example.com/chatsecure496' id='4955ECC6-C9E2-4C3B-9C42-F8AAC122ABF2' to='#hexa@irc.example.com' type='set' xmlns='jabber:component:accept'><query queryid='6D551801-1312-4F65-BB1F-E10546D6CA5F' xmlns='urn:xmpp:mam:2'><x type='submit' xmlns='jabber:x:data'><field type='hidden' var='FORM_TYPE' xmlns='jabber:x:data'><value xmlns='jabber:x:data'>urn:xmpp:mam:2</value></field><field var='start' xmlns='jabber:x:data'><value xmlns='jabber:x:data'>2018-11-11T22:37:09Z</value></field></x></query></iq>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <message from='#hexa@irc.example.com' to='braack@xmpp.example.com/chatsecure496'><result id='c2af36cb-b1ed-4689-8d55-801f73bdadb8' queryid='6D551801-1312-4F65-BB1F-E10546D6CA5F' xmlns='urn:xmpp:mam:2'><forwarded xmlns='urn:xmpp:forward:0'><message from='#hexa@irc.example.com/braack|xmpp' type='groupchat' xmlns='jabber:client'><body>Hi</body></message><delay stamp='2018-11-18T22:28:59Z' xmlns='urn:xmpp:delay'/></forwarded></result></message>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <message from='#hexa@irc.example.com' to='braack@xmpp.example.com/chatsecure496'><result id='600d1698-8066-4bae-9e5f-46a93089c0e0' queryid='6D551801-1312-4F65-BB1F-E10546D6CA5F' xmlns='urn:xmpp:mam:2'><forwarded xmlns='urn:xmpp:forward:0'><message from='#hexa@irc.example.com/braack|xmpp' type='groupchat' xmlns='jabber:client'><body>Lalala</body></message><delay stamp='2018-11-18T22:31:21Z' xmlns='urn:xmpp:delay'/></forwarded></result></message>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <message from='#hexa@irc.example.com' to='braack@xmpp.example.com/chatsecure496'><result id='0db96adb-c8cb-4278-ace3-002011f1c310' queryid='6D551801-1312-4F65-BB1F-E10546D6CA5F' xmlns='urn:xmpp:mam:2'><forwarded xmlns='urn:xmpp:forward:0'><message from='#hexa@irc.example.com/hexa-' type='groupchat' xmlns='jabber:client'><body>hi braack</body></message><delay stamp='2018-11-18T22:32:30Z' xmlns='urn:xmpp:delay'/></forwarded></result></message>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <message from='#hexa@irc.example.com' to='braack@xmpp.example.com/chatsecure496'><result id='892af7dc-91ae-4947-bbcf-660ade09f84d' queryid='6D551801-1312-4F65-BB1F-E10546D6CA5F' xmlns='urn:xmpp:mam:2'><forwarded xmlns='urn:xmpp:forward:0'><message from='#hexa@irc.example.com/braack|xmpp' type='groupchat' xmlns='jabber:client'><body>Hi</body></message><delay stamp='2018-11-18T22:32:45Z' xmlns='urn:xmpp:delay'/></forwarded></result></message>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <message from='#hexa@irc.example.com' to='braack@xmpp.example.com/chatsecure496'><result id='5447f25c-9479-4750-b809-91451bf25c99' queryid='6D551801-1312-4F65-BB1F-E10546D6CA5F' xmlns='urn:xmpp:mam:2'><forwarded xmlns='urn:xmpp:forward:0'><message from='#hexa@irc.example.com/hexa-' type='groupchat' xmlns='jabber:client'><body>testitest</body></message><delay stamp='2018-11-18T22:32:50Z' xmlns='urn:xmpp:delay'/></forwarded></result></message>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <message from='#hexa@irc.example.com' to='braack@xmpp.example.com/chatsecure496'><result id='6ab52f77-08f6-4966-8429-4f578e20acd9' queryid='6D551801-1312-4F65-BB1F-E10546D6CA5F' xmlns='urn:xmpp:mam:2'><forwarded xmlns='urn:xmpp:forward:0'><message from='#hexa@irc.example.com/hexa-' type='groupchat' xmlns='jabber:client'><body>test</body></message><delay stamp='2018-11-18T22:33:45Z' xmlns='urn:xmpp:delay'/></forwarded></result></message>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <message from='#hexa@irc.example.com' to='braack@xmpp.example.com/chatsecure496'><result id='29eff4a1-c991-4c93-b7c6-214f285c239f' queryid='6D551801-1312-4F65-BB1F-E10546D6CA5F' xmlns='urn:xmpp:mam:2'><forwarded xmlns='urn:xmpp:forward:0'><message from='#hexa@irc.example.com/hexa-' type='groupchat' xmlns='jabber:client'><body>123</body></message><delay stamp='2018-11-18T22:33:50Z' xmlns='urn:xmpp:delay'/></forwarded></result></message>
[DEBUG]: src/xmpp/xmpp_component.cpp:77: XMPP SENDING: <iq from='#hexa@irc.example.com' id='4955ECC6-C9E2-4C3B-9C42-F8AAC122ABF2' to='braack@xmpp.example.com/chatsecure496' type='result'><fin complete='true' xmlns='urn:xmpp:mam:2'><set xmlns='http://jabber.org/protocol/rsm'><last>29eff4a1-c991-4c93-b7c6-214f285c239f</last><first index='0'>c2af36cb-b1ed-4689-8d55-801f73bdadb8</first></set></fin></iq>
^C
(reported on XMPP by hexa-)
To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information