On Thu, Jun 28, 2012 at 1:33 PM, Lance Stout <[email protected]> wrote:
> XEP-0045 section 7.2.9. MUC participants who are not allowed to see the > actual JIDs of other participants will have issues recognizing the > situation. There would be two interleaved RTT streams, both from the full > JID "[email protected]/user" and so the RTT buffers in the receivers > would become garbled until a reset, and then only a single RTT session > would "win." Again, the use of a <thread /> element or an optional sid > attribute would remedy the issue. > > Done properly, XEP-0301* never gets garbled* because of the error detection found in Section 4.6 XEP-0301 is designed to be corruption-resistant, with automatic recovery: http://xmpp.org/extensions/xep-0301.html#automatic_recovery_of_realtime_text Now, the scenario you describe, does have some interesting noteworthy effects: During conflicting real time text, a "stall" occurs (Section 4.6.2, the message freezes on receiving end) Eventually, within 10 seconds the "dominant buffer" will win because of Message Reset (section 4.6.4) This is acceptable for most situations because usually there is only one active typist from the same JID. Result of a common scenario of someone switching computers during MUC: - A sender types on one computer, then pauses typing. ....The MUC channel sees the real-time typing. - Sender switches computer. Starts typing or resumes typing. ....The MUC channel still sees the original text. (conflicting <rtt/>'s are ignored) ....Within 10 seconds, the MUC channel suddenly sees the old text replaced by the new partially-composed text, thanks to a message reset according to section 4.6.4 recommending regular retransmission every 10 seconds. Real time text of the typing instantly resumes immediately after that message reset. ....Everything's back to normal within 10 seconds. No corrupted characters. Beyond XEP-0301, there can be additional creativity on part of the developer (i.e. intelligence in software clients to handle thrashing between multiple simultaneous typists coming from the same JID, such a whole family logged onto the same JID .... or logging issues .... or fixing the software to add <thread/> and distinguishing the streams via <thread/> as you mentioned. The question is: What to mention in XEP-0301? Most of these are not spec-related issues... Mark Rejhon
