Software / code / prosody
File
spec/scansion/muc_whois_anyone_member.scs @ 11016:5176d9f727f6 0.11
net.http: Add request:cancel() method
This is a new API that should be used in preference to http.destroy_request()
when possible, as it ensures the callback is always called (with an error of
course).
APIs that have edge-cases where they don't call callbacks have, from experience,
shown to be difficult to work with and often lead to unintentional leaks when
the callback was expected to free up certain resources.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sat, 08 Aug 2020 13:13:50 +0100 |
| parent | 9620:ddcb28c8f64b |
| child | 11712:d117b92fd8e4 |
line wrap: on
line source
# MUC: Allow members to fetch the affiliation lists in open non-anonymous rooms [Client] Romeo jid: romeo@localhost/MsliYo9C password: password [Client] Juliet jid: juliet@localhost/vJrUtY4Z password: password ----- Romeo connects Romeo sends: <presence to='issue1230@conference.localhost/romeo'> <x xmlns='http://jabber.org/protocol/muc'/> </presence> Romeo receives: <presence from='issue1230@conference.localhost/romeo'> <x xmlns='http://jabber.org/protocol/muc#user'> <status code='201'/> <item jid="${Romeo's JID}" role='moderator' affiliation='owner'/> <status code='110'/> </x> </presence> Romeo receives: <message from='issue1230@conference.localhost' type='groupchat'> <subject/> </message> Romeo sends: <iq id='lx3' type='set' to='issue1230@conference.localhost'> <query xmlns='http://jabber.org/protocol/muc#owner'> <x type='submit' xmlns='jabber:x:data'> <field var='FORM_TYPE'> <value>http://jabber.org/protocol/muc#roomconfig</value> </field> <field var='muc#roomconfig_whois'> <value>anyone</value> </field> </x> </query> </iq> Romeo receives: <iq from='issue1230@conference.localhost' type='result' id='lx3'/> Romeo receives: <message from='issue1230@conference.localhost' type='groupchat'> <x xmlns='http://jabber.org/protocol/muc#user'> <status code='172'/> </x> </message> Juliet connects Juliet sends: <presence to='issue1230@conference.localhost/juliet'> <x xmlns='http://jabber.org/protocol/muc'/> </presence> Juliet receives: <presence from='issue1230@conference.localhost/romeo'> <x xmlns='http://jabber.org/protocol/muc#user'> <item jid="${Romeo's JID}" role='moderator' affiliation='owner'/> </x> </presence> Juliet receives: <presence from='issue1230@conference.localhost/juliet'> <x xmlns='http://jabber.org/protocol/muc#user'> <status code='100'/> <item jid="${Juliet's JID}" role='participant' affiliation='none'/> <status code='110'/> </x> </presence> Juliet receives: <message from='issue1230@conference.localhost' type='groupchat'> <subject/> </message> Juliet sends: <iq id='lx2' type='get' to='issue1230@conference.localhost'> <query xmlns='http://jabber.org/protocol/muc#admin'> <item affiliation='member'/> </query> </iq> Juliet receives: <iq from='issue1230@conference.localhost' type='result' id='lx2'> <query xmlns='http://jabber.org/protocol/muc#admin'/> </iq> Juliet disconnects Romeo disconnects