[Pidgin] #15388: XMPP feature "XEP-0079" to handle lost messages

Pidgin trac at pidgin.im
Wed Feb 5 11:34:41 EST 2014

#15388: XMPP feature "XEP-0079" to handle lost messages
 Reporter:  kolAflash                   |       Owner:  deryni
     Type:  enhancement                 |      Status:  new
Milestone:                              |   Component:  XMPP
  Version:  2.10.6                      |  Resolution:
 Keywords:  XMPP lost message XEP-0079  |

Comment (by kolAflash):

 I'm not sure but I think it's like this.
 There is some difference and both (XEP-0198 and XEP-0079) extensions
 should be implemented.

 XEP-0079 Advanced Message Processing
 The receiving client tells the sending client if it received a message.

 Only the clients need to implement XEP-0079. It's not necessary to have a
 server implementing this.

 If the receiving client doesn't supports XEP-0079 the sending client won't
 know if a message didn't arrived of the receiving client just doesn't
 supports XEP-0079. Because of this, it's also not easily possible to auto-
 resend a message if it didn't arrived.
 It also doesn't makes sense for the sending client to find out once, if
 the receiving client supports XEP-0079. Because the receiving clients
 software could change to some not supporting XEP-0079 (e.g. closing Pidgin
 and starting another program) at any time without the sending client

 XEP-0198 Stream Management
 This is always being used between two direct communication partners. This
 can be:

 sending client <=> server of the sending client

 server of the sending client <=> server of the receiving client

 server of the receiving client <=> receiving client

 When a connection between a client and a server or two servers becomes
 established, they can exchange information about if they both support
 XEP-0198. Afterwards they can automatically exchange information about
 messages being received. They'll also recognize, if the software on the
 other side changes (e.g. closing Pidgin and starting another program) so
 they'll always know if a message got lost or the other side just doesn't
 supports XEP-0198.

 All clients and servers have to support XEP-0198 to make it fully work.

 You see XEP-0198 is maybe the better way to do it, but until every server
 and client support XEP-0198 (which will probably never happen) XEP-0079 is
 the more pragmatic way.

Ticket URL: <https://developer.pidgin.im/ticket/15388#comment:6>
Pidgin <https://pidgin.im>

More information about the Tracker mailing list