[jdev] message events + chat state notifications

Olivier Goffart ogoffart at kde.org
Fri Nov 3 14:09:59 CST 2006


Le vendredi 3 novembre 2006 18:36, Peter Saint-Andre a écrit :
> IMHO it's about time to actively deprecate the old message events
> protocol (XEP-0022) in favor of chat state notifications (XEP-0085).

But 85 and 22 are IMO two completely different things.
Appart the composing notification, they covers different layer.

XEP-0022 is usefull to let know that the user has actually read the message, 
or if the message is stored offline.  XEP-0085 doesn't let you do that.

Maybe the composing event should be marked as deprecated in xep-0022 , but i 
don't think the whole xep-0022 should be deprecated.


> However, that means many clients will support both for a while. In
> certain scenarios that can result in use of message events instead of
> chat state notifications. Consider the following example (where both
> clients support both protocols):
>
> 1. Romeo sends an initial chat message to Juliet with 85 + 22 extensions.
>
> 2. Juliet doesn't reply immediately.
>
> 3. Romeo sends a second chat message to Juliet with 22 extenions only
> (since 22 is message-based but rule 2 in Section 5.1 of XEP-0085 says
> not to include 85 extensions after the first message).
>
> 4. Now Juliet sends a reply. Her client looks at the last message
> received from Romeo and includes the 22 extension (but not the 85
> extension) in her first message to Romeo.
>
> As a result, the clients end up using 22 instead of 85, even though
> Romeo's client probably preferred to use 85.

This is not an issue, the client which support XEP 85 need to remember the 
state (active) from the first message.  The reason is that even if the client 
only support XEP 85, the second message will contains no extention.


> IMHO the solution is for Juliet's client to prefer the use of 85 and
> toggle a bit that says "Romeo sent me 85 extensions, use those in this
> chat session". So the chat-session-level bit (85 support) takes
> precedence over the message-level bit (22 support).

yes, exactly.

> Thanks to Mikael Berthe of the mcabber project for pointing this out to me!
>
> BTW, Mikael and discovered that several existing clients act like
> Juliet's client in the above example, but I'm not naming names here. :)
>
> (And there are still clients that support only message events, but I'm
> poking the relevant developers directly...)

Personally, in Kopete, I do support both 22 and 85, and i use both of them all 
the time.

--
Olivier (aka Gof)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.jabber.org/pipermail/jdev/attachments/20061103/f7ae5ca0/attachment-0002.pgp>


More information about the JDev mailing list