Peter Saint-Andre wrote:
The old "xmppbis" page [1] had the following note:

***

It is unnecessary, potentially confusing, and not recommended to add
your own JID to your roster. However, RFC 3921 currently does not talk
about how a server should handle such "self roster items" if they exist.
The spec should probably specify that a server MUST NOT send presence
probes to self roster items, since the server already knows that the
entity is online once it receives initial presence from a specific
resource. Thus a resource should never receive presence information
about itself from its own server, although it will receive presence
information about other available resources for that entity as currently
specified in RFC 3921.

***

This conflates two issues: (1) adding yourself to your roster and (2)
receiving presence from your "self" resource.

IIRC we had list consensus that (1) is something we want to discourage.


2.3.2 talks specifically not allowing user to add his own bare jid to the roster (as a MUST).


But (2) seems OK. When you send presence to your server, your server
delivers that presence to all of your available resources. Consider a
user with two resources ("foo" and "bar") who then comes online with a
third resource ("baz").

<presence from='[EMAIL PROTECTED]/baz'/>

[ ... to "foo" resource ... ]

<presence from='[EMAIL PROTECTED]/baz'
          to='[EMAIL PROTECTED]'/>

[ ... to "bar" resource ... ]

<presence from='[EMAIL PROTECTED]/baz'
          to='[EMAIL PROTECTED]'/>

[ ... to "baz" resource ... ]

<presence from='[EMAIL PROTECTED]/baz'
          to='[EMAIL PROTECTED]'/>



Why should an entity need to get its own presence ack'ed from the server ? What is there a usecase for this ? Or is this a nice to have modification just to make things easier ?

There are way too many client and server deployments which already use the existing behavior - that is presence is not sent to the publisher, so we might want to weight against that when modifying this : since the bis spec compliant client should be able to interop with existing servers.





Is it harmful for the "baz" resource to receive its self-presence? I
don't see a particular reason why the server needs to avoid sending
that. Would it confuse the client?

/psa


bis compliant clients will 'expect' this behavior - and so will break when they talk to older servers (assuming they do something with this presence status). Reverse might also be the case - of existing clients breaking when they get presence for their own jid (will they treat it as conflict ?)

Regards,
Mridul



PS: I remember getting this clarified with Peter a while back - and he indicated that resource will not get its own presence ack'ed to it :)


[1] http://www.xmpp.org/xmppbis.html



Reply via email to