Software /
code /
prosody
File
spec/scansion/pep_nickname.scs @ 12580:a9dbf657c894 0.12
util.datamapper: Improve handling of schemas with non-obvious "type"
The JSON Schema specification says that schemas are objects or booleans,
and that the 'type' property is optional and can be an array.
This module previously allowed bare type names as schemas and did not
really handle booleans.
It now handles missing 'type' properties and boolean 'true' as a schema.
Objects and arrays are guessed based on the presence of 'properties' or
'items' field.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 08 Jul 2022 17:32:48 +0200 |
parent | 11714:d783716103c1 |
child | 12965:edde56b60fd7 |
line wrap: on
line source
# Publishing a nickname in PEP and receiving a notification [Client] Romeo jid: romeo@localhost password: password ----- Romeo connects Romeo sends: <iq id="4" type="set"> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node="http://jabber.org/protocol/nick"> <item id="current"> <nickname xmlns="http://jabber.org/protocol/nick"/> </item> </publish> </pubsub> </iq> Romeo receives: <iq id="4" type="result"> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node="http://jabber.org/protocol/nick"> <item id="current"/> </publish> </pubsub> </iq> Romeo sends: <presence> <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.matthewwild.co.uk/clix/" ver="jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/> </presence> Romeo receives: <iq id="disco" from="romeo@localhost" type="get"> <query xmlns="http://jabber.org/protocol/disco#info" node="http://code.matthewwild.co.uk/clix/#jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/> </iq> Romeo receives: <presence> <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.matthewwild.co.uk/clix/" ver="jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/> </presence> Romeo sends: <iq id="disco" type="result" to="romeo@localhost"> <query xmlns="http://jabber.org/protocol/disco#info" node="http://code.matthewwild.co.uk/clix/#jC32N+FhQoLrZ7nNQtZK3aqR0Fk="> <identity type="console" name="clix" category="client"/> <feature var="http://jabber.org/protocol/disco#items"/> <feature var="http://jabber.org/protocol/disco#info"/> <feature var="http://jabber.org/protocol/caps"/> <feature var="http://jabber.org/protocol/nick+notify"/> </query> </iq> Romeo receives: <message type="headline" from="romeo@localhost"> <event xmlns="http://jabber.org/protocol/pubsub#event"> <items node="http://jabber.org/protocol/nick"> <item id="current" publisher="${Romeo's JID}"> <nickname xmlns="http://jabber.org/protocol/nick"/> </item> </items> </event> </message> Romeo sends: <presence type="unavailable"/> Romeo disconnects