Software / code / prosody
Comparison
spec/scansion/pubsub_resend_on_sub.scs @ 11854:b605cbd5f13b
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Default left as 'never' in mod_pubsub to preserve the previous behavior.
Unclear if this is desirable, but can always be changed later.
In mod_pep this allows turning off the automatic resending of most
recent item.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Tue, 19 Oct 2021 18:11:50 +0200 |
| parent | 11714:spec/scansion/pubsub_basic.scs@d783716103c1 |
comparison
equal
deleted
inserted
replaced
| 11853:ae5ac9830add | 11854:b605cbd5f13b |
|---|---|
| 1 # Pubsub: Send last item on subscribe #1436 | |
| 2 | |
| 3 [Client] Romeo | |
| 4 jid: admin@localhost | |
| 5 password: password | |
| 6 | |
| 7 // admin@localhost is assumed to have node creation privileges | |
| 8 | |
| 9 [Client] Juliet | |
| 10 jid: juliet@localhost | |
| 11 password: password | |
| 12 | |
| 13 --------- | |
| 14 | |
| 15 Romeo connects | |
| 16 | |
| 17 Romeo sends: | |
| 18 <iq type="set" to="pubsub.localhost" id='create1'> | |
| 19 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
| 20 <create node="princely_musings"/> | |
| 21 </pubsub> | |
| 22 </iq> | |
| 23 | |
| 24 Romeo receives: | |
| 25 <iq type="result" id='create1'/> | |
| 26 | |
| 27 Romeo sends: | |
| 28 <iq to="pubsub.localhost" id="config-never" type="set"> | |
| 29 <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> | |
| 30 <configure node="princely_musings"> | |
| 31 <x xmlns="jabber:x:data" type="submit"> | |
| 32 <field var="FORM_TYPE" type="hidden"> | |
| 33 <value>http://jabber.org/protocol/pubsub#node_config</value> | |
| 34 </field> | |
| 35 <field type='list-single' var='pubsub#send_last_published_item'> | |
| 36 <value>never</value> | |
| 37 </field> | |
| 38 </x> | |
| 39 </configure> | |
| 40 </pubsub> | |
| 41 </iq> | |
| 42 | |
| 43 Romeo receives: | |
| 44 <iq from="pubsub.localhost" id="config-never" type="result"/> | |
| 45 | |
| 46 Romeo sends: | |
| 47 <iq type="set" to="pubsub.localhost" id='pub1'> | |
| 48 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
| 49 <publish node="princely_musings"> | |
| 50 <item id="current"> | |
| 51 <entry xmlns="http://www.w3.org/2005/Atom"> | |
| 52 <title>Soliloquy</title> | |
| 53 <summary>Lorem ipsum dolor sit amet</summary> | |
| 54 </entry> | |
| 55 </item> | |
| 56 </publish> | |
| 57 </pubsub> | |
| 58 </iq> | |
| 59 | |
| 60 Romeo receives: | |
| 61 <iq type="result" id='pub1'/> | |
| 62 | |
| 63 Juliet connects | |
| 64 | |
| 65 Juliet sends: | |
| 66 <iq type="set" to="pubsub.localhost" id='sub1'> | |
| 67 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
| 68 <subscribe node="princely_musings" jid="${Juliet's full JID}"/> | |
| 69 </pubsub> | |
| 70 </iq> | |
| 71 | |
| 72 Juliet receives: | |
| 73 <iq type="result" id='sub1'/> | |
| 74 | |
| 75 Juliet sends: | |
| 76 <iq type="set" to="pubsub.localhost" id='unsub1'> | |
| 77 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
| 78 <unsubscribe node="princely_musings" jid="${Juliet's full JID}"/> | |
| 79 </pubsub> | |
| 80 </iq> | |
| 81 | |
| 82 Juliet receives: | |
| 83 <iq type="result" id='unsub1'/> | |
| 84 | |
| 85 Romeo sends: | |
| 86 <iq to="pubsub.localhost" id="config-on_sub" type="set"> | |
| 87 <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> | |
| 88 <configure node="princely_musings"> | |
| 89 <x xmlns="jabber:x:data" type="submit"> | |
| 90 <field var="FORM_TYPE" type="hidden"> | |
| 91 <value>http://jabber.org/protocol/pubsub#node_config</value> | |
| 92 </field> | |
| 93 <field type='list-single' var='pubsub#send_last_published_item'> | |
| 94 <value>on_sub</value> | |
| 95 </field> | |
| 96 </x> | |
| 97 </configure> | |
| 98 </pubsub> | |
| 99 </iq> | |
| 100 | |
| 101 Romeo receives: | |
| 102 <iq from="pubsub.localhost" id="config-on_sub" type="result"/> | |
| 103 | |
| 104 Juliet sends: | |
| 105 <iq type="set" to="pubsub.localhost" id='sub2'> | |
| 106 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
| 107 <subscribe node="princely_musings" jid="${Juliet's full JID}"/> | |
| 108 </pubsub> | |
| 109 </iq> | |
| 110 | |
| 111 Juliet receives: | |
| 112 <iq type="result" id='sub2'/> | |
| 113 | |
| 114 Juliet receives: | |
| 115 <message type="headline" from="pubsub.localhost"> | |
| 116 <event xmlns="http://jabber.org/protocol/pubsub#event"> | |
| 117 <items node="princely_musings"> | |
| 118 <item id="current" publisher="${Romeo's JID}"> | |
| 119 <entry xmlns="http://www.w3.org/2005/Atom"> | |
| 120 <title>Soliloquy</title> | |
| 121 <summary>Lorem ipsum dolor sit amet</summary> | |
| 122 </entry> | |
| 123 </item> | |
| 124 </items> | |
| 125 </event> | |
| 126 </message> | |
| 127 | |
| 128 Juliet sends: | |
| 129 <iq type="set" to="pubsub.localhost" id='unsub2'> | |
| 130 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
| 131 <unsubscribe node="princely_musings" jid="${Juliet's full JID}"/> | |
| 132 </pubsub> | |
| 133 </iq> | |
| 134 | |
| 135 Juliet receives: | |
| 136 <iq type="result" id='unsub2'/> | |
| 137 | |
| 138 Juliet disconnects | |
| 139 | |
| 140 Romeo sends: | |
| 141 <iq type="set" to="pubsub.localhost" id='del1'> | |
| 142 <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> | |
| 143 <delete node="princely_musings"/> | |
| 144 </pubsub> | |
| 145 </iq> | |
| 146 | |
| 147 Romeo receives: | |
| 148 <iq type="result" id='del1'/> | |
| 149 | |
| 150 Romeo disconnects | |
| 151 | |
| 152 // vim: syntax=xml: |