Jonathan Schleifer wrote:
Philipp Hancke <[email protected]> wrote:
So you want to wait for 5 minutes even when you don't have to?
The problem with that is that presences are probed when you sign in
instead of the server keeping track of presences, which would be far
more efficient.
No objection.
Instead of probing, a server could store the state of each contact.
Exactly.
Unfortunately, it isn't that simple. I tried that three years ago and
it did not work well. Contacts that were offline are shown as online
and vice-versa.
However, you have problems with presence state desync then which are
even more annoying.
One of the problems you also have with presences is that you only get
presences for only contacts - not for offline contacts. So you can't
know if somebody is really offline or if you just haven't got the
presence yet. One of the biggest annoyances in XMPP, IMO.
Implementation specific, see 5.1.3 #3 in rfc 3921.
Not replying is a quite reasonable choice when assuming that 50% of
a users contacts are offline. IIRC that reply is encouraged in -bis.
btw, smart implementations (jabberd) stamp the reply to presence
probes with jabber:x:delay so that a client can tell the difference
between a contact thatbecomes available and one that is available.
Which still does not solve the presence flood.
It does if the client does not show notifications for stanzas with
jabber:x:delay.
philipp