Difference between revisions of "XMPP 2.0"

Jump to navigation Jump to search
m (→‎Resource locking: some light editing)
Line 39: Line 39:
The intent was that messages would always arrive at the device currently used by the conversation partner (since Message Carbons were not there), because the routing rules for message stanzas did not enforce that behaviour.
The intent was that messages would always arrive at the device currently used by the conversation partner (since Message Carbons were not there), because the routing rules for message stanzas did not enforce that behaviour.


Furthermore the features offered to a user are limited based on the resource capabilities of the chat partner (i.e. [https://xmpp.org/extensions/xep-0308.html Last Message Correction]). This introduces race conditions and incompatibility when the chat partner switches devices or reads up the conversation from an offline storage / archive.
Furthermore, the features offered to a user are often limited by clients based on the capabilities (e.g. [https://xmpp.org/extensions/xep-0308.html Last Message Correction]) of the locked-to resource. This introduces race conditions and incompatibility when the chat partner switches devices or reads up the conversation from an offline storage / archive.


=== Proposed change ===
=== Proposed change ===


Eliminate resource locking in XMPP2 entirely. Instead, always send conversational content to the bare JID. Messages sent to the full JID in XMPP2 are specifically addressed to the resource and will not be carbon-copied.
Eliminate resource locking in XMPP 2.0 entirely. Instead, always send conversational content to the bare JID. Messages sent to the full JID in XMPP 2.0 are specifically addressed to the resource and will not be carbon-copied, as described in the previous section.


=== Migration path in a hypothetical XMPP 2.0 Session ===
=== Migration path in a hypothetical XMPP 2.0 Session ===


None.
None.