This more of a 'what are people doing now' question, not a 'what should
the implementations be doing'.
Lets say that my Jabber client has an avid desire to know the accurate
online status of remote JIDs, and the roster subscriptions are 'both'. To
that end, my client makes the assumption that if no update to the status
has been received in an hour, then something has possibly happened to the
remote JID that hasn't been properly pushed to my client (remote server
restart normally ).
How should my Jabber _client_ get the latest news about the remote JID?
The solutions that I've tried to get this information are:
A) Presence probes. Swallowed by some servers.
<presence to='[EMAIL PROTECTED]' type='probe'/>
or
<presence to='[EMAIL PROTECTED]' from='[EMAIL PROTECTED]' type='probe'/>
B) Directed presence saying unavailable then available again.
<presence to='[EMAIL PROTECTED]' type='unavailable'/>
<presence to='[EMAIL PROTECTED]'/>
C) Subscribe to their presence again.
<presence to='[EMAIL PROTECTED]' type='subscribe'/>
and finally (this far less frequently than anything directed at a given
JID):
D) Unavailable then available again to the entire roster.
<presence type='unavailable/><presence/>
Of these, the 'subscribe' trick seems to be the most consistent at
returning the desired information. 'probe's seem to get swallowed by a
number of servers, and appearing to go offline and online again just
irritates the remote users.
Any other tricks that people use?
--
Bruce Campbell.