IMHO it's about time to actively deprecate the old message events protocol (XEP-0022) in favor of chat state notifications (XEP-0085). 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. 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). 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...) Peter -- Peter Saint-Andre Jabber Software Foundation http://www.jabber.org/people/stpeter.shtml
smime.p7s
Description: S/MIME Cryptographic Signature
