Entity versioningΒΆ

Note

Entity versioning is under consideration as an official XEP by the XMPP Standards Foundation. For more information see the XEP. Some time after it is accepted, the HipChat namespaces will be deprecated.

Entity versioning allows rosters and MUC lists to be versioned and cached so that the server will not need to send the list if it has not been modified (and can send a small diff if it has). This saves bandwidth and time during session intialization while requiring clients and servers to store minimal state.

Aggregate version token requests for MUC rooms are made by sending an IQ which contains a query qualified by the http://hipchat.com/protocol/rooms#hash namespace. This will return the aggregate token as a text node on the query element:

<!-- Client -->
<iq type='get' id='anne1'>
    <query xmlns="http://hipchat.com/protocol/rooms#hash" />
</iq>

<!-- Server -->
<iq id='anne1' to="10804_204364@chat.hipchat.com/yourresourcepart" type="result" >
    <query xmlns="http://hipchat.com/protocol/rooms#hash">5ba5b525f04dbb152c580bfa89d8dc6b</query>
</iq>
stanza:IQ
xmlns:http://hipchat.com/protocol/rooms#hash
http:None

Roster aggregate version token requests are made by sending an IQ which contains a query qualified by the http://hipchat.com/protocol/users#hash namespace. This will return the aggregate token as a text node on the query element:

<!-- Client -->
<iq type='get' id='bill1'>
    <query xmlns="http://hipchat.com/protocol/users#hash" />
</iq>

<!-- Server -->
<iq id='bill1' to="10804_204364@chat.hipchat.com/yourresourcepart" type="result" >
    <query xmlns="http://hipchat.com/protocol/users#hash">5ba5b525f04dbb152c580bfa89d8dc6b</query>
</iq>
stanza:IQ
xmlns:http://hipchat.com/protocol/users#hash
http:None