Software /
code /
prosody
File
spec/scansion/muc_mediated_invite.scs @ 12254:5b0c8e499288
modulemanager: Add plugin load filter that reads module metadata from source
Metadata in modules is added using lines formatted as:
--% key: value
Where key is a valid identifier string, and value is also a string (leading
and trailing whitespace are trimmed during parsing).
The initial supported keys are:
--% requires_core_features: feature1, feature2, ...
--% conflicts_core_features: feature1, feature2. ...
These 'features' map to features reported by the new core.features module.
A benefit of this load-time metadata approach compared to e.g. something like
module:requires()/module:conflicts() is that we can continue to look in module
search paths for a suitable module. Aborting an already-loaded module due to
a version conflict would be too late.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 04 Feb 2022 14:20:00 +0000 |
parent | 9291:329a670ae975 |
line wrap: on
line source
# MUC: Mediated invites [Client] Romeo jid: user@localhost password: password [Client] Juliet jid: user2@localhost password: password ----- Romeo connects Romeo sends: <presence to="room@conference.localhost/Romeo"> <x xmlns="http://jabber.org/protocol/muc"/> </presence> Romeo receives: <presence from='room@conference.localhost/Romeo'> <x xmlns='http://jabber.org/protocol/muc#user'> <status code='201'/> <item jid="${Romeo's full JID}" affiliation='owner' role='moderator'/> <status code='110'/> </x> </presence> Romeo receives: <message type='groupchat' from='room@conference.localhost'><subject/></message> # Submit config form Romeo sends: <iq id='config1' to='room@conference.localhost' type='set'> <query xmlns='http://jabber.org/protocol/muc#owner'> <x xmlns='jabber:x:data' type='submit'> <field var='FORM_TYPE'> <value>http://jabber.org/protocol/muc#roomconfig</value> </field> </x> </query> </iq> Romeo receives: <iq id="config1" from="room@conference.localhost" type="result"> </iq> # Juliet connects Juliet connects Juliet sends: <presence/> Juliet receives: <presence/> # Romeo invites Juliet to join the room Romeo sends: <message to="room@conference.localhost" id="invite1"> <x xmlns="http://jabber.org/protocol/muc#user"> <invite to="${Juliet's JID}" /> </x> </message> Juliet receives: <message from="room@conference.localhost" id="invite1"> <x xmlns="http://jabber.org/protocol/muc#user"> <invite from="room@conference.localhost/Romeo"> <reason/> </invite> </x> <body>room@conference.localhost/Romeo invited you to the room room@conference.localhost</body> <x xmlns="jabber:x:conference" jid="room@conference.localhost"/> </message>