pidgin: 7a521518: Revert the partial hack for ejabberd 2.0...

darkrain42 at pidgin.im darkrain42 at pidgin.im
Sun May 3 16:20:32 EDT 2009


-----------------------------------------------------------------
Revision: 7a52151899599314a0a53edf7b2fd80287519e2e
Ancestor: ab75e10858a4fc4415dca85980d65060d2804296
Author: darkrain42 at pidgin.im
Date: 2009-05-03T18:51:11
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/7a52151899599314a0a53edf7b2fd80287519e2e

Modified files:
        libpurple/protocols/jabber/useravatar.c

ChangeLog: 

Revert the partial hack for ejabberd 2.0.0. See comment in code.

-------------- next part --------------
============================================================
--- libpurple/protocols/jabber/useravatar.c	76293831f771cefe68cf576a41e0bca21f17f422
+++ libpurple/protocols/jabber/useravatar.c	296ae189f1c3453b4b01d4e6f30bed257d877e1d
@@ -45,6 +45,9 @@ remove_avatar_0_12_nodes(JabberStream *j
 static void
 remove_avatar_0_12_nodes(JabberStream *js)
 {
+#if 0
+	See note below for why this is #if 0'd
+
 	/* Publish an empty avatar according to the XEP-0084 v0.12 semantics */
 	xmlnode *publish, *item, *metadata;
 	/* publish the metadata */
@@ -61,16 +64,26 @@ remove_avatar_0_12_nodes(JabberStream *j
 
 	/* publish */
 	jabber_pep_publish(js, publish);
+#endif
 
 	/*
-	 * This causes ejabberd 2.0.0 to RST our connection unceremoniously,
-	 * so disable it for now (we publish a <stop/> to the metadata node
-	 * instead.
+	 * This causes ejabberd 2.0.0 to kill the connection unceremoniously.
+	 * See https://support.process-one.net/browse/EJAB-623. When adiumx.com
+	 * was upgraded, the issue went away.
+	 *
+	 * I think it makes a lot of sense to not have an avatar at the old
+	 * node instead of having something interpreted as "no avatar". When
+	 * a contact with an older client logs in, in the latter situation,
+	 * there's a race between interpreting the <presence/> vcard-temp:x:update
+	 * avatar (non-empty) and the XEP-0084 v0.12 avatar (empty, so show no
+	 * avatar for the buddy) which leads to unhappy and confused users.
+	 *
+	 * A deluge of frustrating "Read error" bug reports may change my mind
+	 * about this.
+	 * --darkrain42
 	 */
-#if 0
 	jabber_pep_delete_node(js, NS_AVATAR_0_12_METADATA);
 	jabber_pep_delete_node(js, NS_AVATAR_0_12_DATA);
-#endif
 }
 
 void jabber_avatar_set(JabberStream *js, PurpleStoredImage *img)


More information about the Commits mailing list