Software /
code /
prosody
File
spec/scansion/pubsub_resend_on_sub.scs @ 13262:9a86e7cbdd79
mod_storage_internal: Fix fast trimming of archive with exactly one item
This method would previously never delete the first (and only) item
since it works out which item should become the first item after the
trim operation, which doesn't make sense when all should be removed.
This also works as an optimization for when all the last item should be
trimmed, thus items should be removed.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 24 Sep 2023 13:41:54 +0200 |
parent | 11854:b605cbd5f13b |
line wrap: on
line source
# Pubsub: Send last item on subscribe #1436 [Client] Romeo jid: admin@localhost password: password // admin@localhost is assumed to have node creation privileges [Client] Juliet jid: juliet@localhost password: password --------- Romeo connects Romeo sends: <iq type="set" to="pubsub.localhost" id='create1'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <create node="princely_musings"/> </pubsub> </iq> Romeo receives: <iq type="result" id='create1'/> Romeo sends: <iq to="pubsub.localhost" id="config-never" type="set"> <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> <configure node="princely_musings"> <x xmlns="jabber:x:data" type="submit"> <field var="FORM_TYPE" type="hidden"> <value>http://jabber.org/protocol/pubsub#node_config</value> </field> <field type='list-single' var='pubsub#send_last_published_item'> <value>never</value> </field> </x> </configure> </pubsub> </iq> Romeo receives: <iq from="pubsub.localhost" id="config-never" type="result"/> Romeo sends: <iq type="set" to="pubsub.localhost" id='pub1'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node="princely_musings"> <item id="current"> <entry xmlns="http://www.w3.org/2005/Atom"> <title>Soliloquy</title> <summary>Lorem ipsum dolor sit amet</summary> </entry> </item> </publish> </pubsub> </iq> Romeo receives: <iq type="result" id='pub1'/> Juliet connects Juliet sends: <iq type="set" to="pubsub.localhost" id='sub1'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <subscribe node="princely_musings" jid="${Juliet's full JID}"/> </pubsub> </iq> Juliet receives: <iq type="result" id='sub1'/> Juliet sends: <iq type="set" to="pubsub.localhost" id='unsub1'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <unsubscribe node="princely_musings" jid="${Juliet's full JID}"/> </pubsub> </iq> Juliet receives: <iq type="result" id='unsub1'/> Romeo sends: <iq to="pubsub.localhost" id="config-on_sub" type="set"> <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> <configure node="princely_musings"> <x xmlns="jabber:x:data" type="submit"> <field var="FORM_TYPE" type="hidden"> <value>http://jabber.org/protocol/pubsub#node_config</value> </field> <field type='list-single' var='pubsub#send_last_published_item'> <value>on_sub</value> </field> </x> </configure> </pubsub> </iq> Romeo receives: <iq from="pubsub.localhost" id="config-on_sub" type="result"/> Juliet sends: <iq type="set" to="pubsub.localhost" id='sub2'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <subscribe node="princely_musings" jid="${Juliet's full JID}"/> </pubsub> </iq> Juliet receives: <iq type="result" id='sub2'/> Juliet receives: <message type="headline" from="pubsub.localhost"> <event xmlns="http://jabber.org/protocol/pubsub#event"> <items node="princely_musings"> <item id="current" publisher="${Romeo's JID}"> <entry xmlns="http://www.w3.org/2005/Atom"> <title>Soliloquy</title> <summary>Lorem ipsum dolor sit amet</summary> </entry> </item> </items> </event> </message> Juliet sends: <iq type="set" to="pubsub.localhost" id='unsub2'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <unsubscribe node="princely_musings" jid="${Juliet's full JID}"/> </pubsub> </iq> Juliet receives: <iq type="result" id='unsub2'/> Juliet disconnects Romeo sends: <iq type="set" to="pubsub.localhost" id='del1'> <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> <delete node="princely_musings"/> </pubsub> </iq> Romeo receives: <iq type="result" id='del1'/> Romeo disconnects // vim: syntax=xml: