- don't use getRSMResponse anymore: rsm.PubSubClient use a different signature which return items and RSMResponse, this is better than the previous method as if the requested don't call getRSMResponse, there is no memory leak anymore.
- use RSMResponse directly instead of using ext_data, as other extension (like MAM) will be probably be managed with an other workflow
- don't do a useless deep copy of pubsub.PubSubRequest._parameters on each instance anymore
- RSMResponse.parse do now manage parsing of <set/> element directly
- restored original tmp.wokkel.pubsub.PubSubService._toResponse_items
- changed arguments order in RSMRequest.__init__ to have most common arguments first
- added __str__ methods
- better parsing/toElement
- better handling of optional elements/attributes (count/index)
- _toResponse_items handler RSM set elements without modifying original pubsub _toResponse_items
- renamed parse to fromElement for coherency
- updated behaviour and namespace to new urn:xmpp:mam:1
- fixed use of query_id in MAMQueryRequest/MAMClient
- added a couple of assertions/checks
- use try/except instead of hasAttribute
- do not use generateElementsNamed (use elements method instead)
- do not ignore missing elements
- queryFields return a data form instead of a raw element
- fixed bad use of namespace in several addElement
- IMAMResource.onArchiveRequest doesn't have to return a Deferred anymore (but may do)
- buildForm use data_form.Field class directly and doesn't use intermediate list anymore
- /!\ XEP-0313 plugin is temporarly broken
with XEP-0260, we need to manage 2 hashes (one with SHA1(SID + Initiator JID + Responder JID) and the other with SHA1(SID + Responder JID + Initiator JID)). This was not handled correclty, resulting in transfer failure in several cases.
- this was here for retro-compatibility with messages previously posted from Libervia
- but this is not appropriate and will add some extra <br /> e.g. in messages from Movim
- \n in XHTML content should not be converted to <br /> by the frontend
- save it directly in the Atom payload for better compatibility with other clients