On Thu, Nov 10, 2011 at 12:59 PM, XMPP Extensions Editor <edi...@xmpp.org>
 wrote:

> Version 0.1 of XEP-0308 (Last Message Correction) has been released.


About interop between standards:
XEP-0308 - http://xmpp.org/extensions/xep-0308.html (Last Message
Correction)
XEP-0301 - 
http://xmpp.org/extensions/xep-0301.html<http://xmpp.org/extensions/xep-0308.html>
(In-Band
Real Time Text)

Me and other users of real time text XEP-0301 (i.e. text that is streamed
as it is typed) has thought of how XEP-301 may be improved for maximum
compatibility with Last Message Correction.  For continued
compatibility, <rtt> elements must be transmitted in separate <message>
payloads as <replace> elements.  Although it is not necessarily required,
the XEP-0308 spec suggests this.

Within this, there are two approaches I see easily:

1. Only allow real time text (XEP-0301) on the most recent message (default
scenario).  Last message correction (XEP-0308) would suddenly update the
previous message, rather than incrementally.   This works fine with
existing spec as long as best practice is followed:
(a) Use separate <message> payload for <replace> transmission.
(b) Do not transmit any <rtt> elements while a last-message is being edited.

2. Allow real time text (RTT) to occur with previous messages.  I would add
an optional 'id' attribute to <rtt> elements.  (we actually intentionally
designed RTT to permit backwards compatibility with theoretical future
retroactive edit capability, by adding an optional id attribute).   It
would be compatible with XEP-0308.  This would require modification to the
XEP-0301 spec, but would allow RTT editing to work on previous messages
(limit 1 message ago, or even configurable max X messages ago)

The door is open for scenario 1 (works with existing 0301/0308 specs) and
scenario 2 (future improvement to XEP-0301)

Sincerely,
Mark Rejhon

Reply via email to