What steps will reproduce the problem?
<!-- Outgoing Do 12 Apr 2018 14:40:48 CEST -->
<iq xmlns="jabber:client" type="set" id="0ba93a59-33cc-4f2b-a20c-47e393f8a408" from="user@magicbroccoli.de/archlinux">
<query xmlns="urn:xmpp:mam:2" queryid="44a5771e-ffa5-4000-952c-8354987627b7">
<x xmlns="jabber:x:data" type="submit">
<field var="FORM_TYPE" type="hidden">
<value>urn:xmpp:mam:2</value>
</field>
<field var="start" type="text-single">
<value>2018-03-13T12:40:45Z</value>
</field>
<field var="end" type="text-single">
<value>2018-04-12T12:40:45Z</value>
</field>
</x>
<set xmlns="http://jabber.org/protocol/rsm">
<max>0</max>
</set>
</query>
</iq>
<!-- Incoming Do 12 Apr 2018 14:40:48 CEST -->
<iq id='0ba93a59-33cc-4f2b-a20c-47e393f8a408' type='result' to='user@magicbroccoli.de/archlinux'>
<fin queryid='44a5771e-ffa5-4000-952c-8354987627b7' xmlns='urn:xmpp:mam:2'>
<set xmlns='http://jabber.org/protocol/rsm'>
<count>4.326038794986e-320</count>
</set>
</fin>
</iq>
What is the expected output?
I would expect that the 'complete' attr is set to true
What version of the product are you using? On what operating system?
nightly build 470 (2018-03-29, 1d66f66a13c9) on Linux
Please provide any additional information below:
I get that this is not mentioned specifically in 0313 or 0059, but how would a client go forward if the query is not complete? there is no last item set, and even if as max=0 i never can page through the result, so this is a dead end, hence i would suggest to add complete=true to the reply
Zash
on
So this happens because in order to determine if a query is 'complete', it requests max+1 items. If it sees >max items, it determines that there are more items. So it requests 0+1 items here and the query is not complete.
Fixed in https://hg.prosody.im/0.10/rev/faca839ddbbb
<count>4.326038794986e-320</count>
This is because of a bug in LuaDBI, which has been fixed already.
What steps will reproduce the problem? <!-- Outgoing Do 12 Apr 2018 14:40:48 CEST --> <iq xmlns="jabber:client" type="set" id="0ba93a59-33cc-4f2b-a20c-47e393f8a408" from="user@magicbroccoli.de/archlinux"> <query xmlns="urn:xmpp:mam:2" queryid="44a5771e-ffa5-4000-952c-8354987627b7"> <x xmlns="jabber:x:data" type="submit"> <field var="FORM_TYPE" type="hidden"> <value>urn:xmpp:mam:2</value> </field> <field var="start" type="text-single"> <value>2018-03-13T12:40:45Z</value> </field> <field var="end" type="text-single"> <value>2018-04-12T12:40:45Z</value> </field> </x> <set xmlns="http://jabber.org/protocol/rsm"> <max>0</max> </set> </query> </iq> <!-- Incoming Do 12 Apr 2018 14:40:48 CEST --> <iq id='0ba93a59-33cc-4f2b-a20c-47e393f8a408' type='result' to='user@magicbroccoli.de/archlinux'> <fin queryid='44a5771e-ffa5-4000-952c-8354987627b7' xmlns='urn:xmpp:mam:2'> <set xmlns='http://jabber.org/protocol/rsm'> <count>4.326038794986e-320</count> </set> </fin> </iq> What is the expected output? I would expect that the 'complete' attr is set to true What version of the product are you using? On what operating system? nightly build 470 (2018-03-29, 1d66f66a13c9) on Linux Please provide any additional information below: I get that this is not mentioned specifically in 0313 or 0059, but how would a client go forward if the query is not complete? there is no last item set, and even if as max=0 i never can page through the result, so this is a dead end, hence i would suggest to add complete=true to the reply
So this happens because in order to determine if a query is 'complete', it requests max+1 items. If it sees >max items, it determines that there are more items. So it requests 0+1 items here and the query is not complete. Fixed in https://hg.prosody.im/0.10/rev/faca839ddbbb <count>4.326038794986e-320</count> This is because of a bug in LuaDBI, which has been fixed already.
Changes