Software / code / prosody
File
spec/scansion/pubsub_resend_on_sub.scs @ 13146:771eb453e03a
util.sqlite3: Deduplicate query methods
There were 3 very similar methods:
- :execute()
- :execute_query()
- :execute_update()
The first one returns the prepared statement and is mainly used
internally in the library for CREATE statements.
The later two only really differ in how the results are returned.
Those two are one main method and one small one that only picks out the
iterator.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 10 Jun 2023 22:02:15 +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: