GNOME Bugzilla – Bug 343339
Gossip confused by my vcard
Last modified: 2006-09-23 08:54:24 UTC
Please describe the problem: In the 'edit personal details' window, the email field only contains a newline character, rendered as [000A]. According to LM_DEBUG=ALL, the vcard is as follows: '<iq from='sam@robots.org.uk' to='sam@robots.org.uk/home' id='msg_53' type='result'><vCard xmlns='vcard-temp' prodid='-//HandGen//NONSGML vGen v1.0//EN' version='2.0'> <FN>Sam Morris</FN> <NICKNAME>cortana</NICKNAME> <PHOTO> <TYPE>image/jpeg</TYPE> <BINVAL> /9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD/2wBDAAQDAwQDAwQ ... avatar data elided ... +Yzth+W5/kec4P8c/T//Z</BINVAL> </PHOTO> <BDAY>1 Jan 1901</BDAY> <EMAIL> <INTERNET/> <USERID>sam@robots.org.uk</USERID> </EMAIL> <URL>http://robots.org.uk/</URL> </vCard></iq>' If I try to change the email address (or any other property of my profile) and try to save my changes, the changes appear to go through; however when I open the 'edit personal information' window again all fields are blank. If I disconnect and reconnect then my details start showing up again. Steps to reproduce: Actual results: Expected results: Does this happen every time? Yes Other information: The Jabber server is ejabberd version 1.0.0.
Have you looked at the jabber traffic when you send the updated vcard?
I think the problem here is that we expect the EMAIL and URL to be inside <EMAIL> and <URL> elements. But in this case, the VCard make up is different, i.e. it is inside <EMAIL><USERID>...</USERID></EMAIL>. This means either we are not accepting alternative VCard specifications or the client that set that VCard isn't doing it properly. My guess is we need to support this method.
Transcript of trying to save the updated vcard: ----------------------------------- SEND: ----------------------------------- <iq type="set" id="msg_31"> <vCard xmlns="vcard-temp"> <FN>Sam Morris</FN> <NICKNAME>cortana</NICKNAME> <URL>http://robots.org.uk/</URL> <EMAIL>sam@robots.org.uk</EMAIL> <DESC></DESC> <PHOTO> <TYPE>image/png</TYPE> <BINVAL>iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAIAAABt+uBvAAAAA3NCSVQICAjb4U/gAAAgAE ... zl22cBAdYPH94xMTEDAGiTBv8wA/RuAAAAAElFTkSuQmCC</BINVAL> </PHOTO> </vCard> </iq> ----------------------------------- The 'personal information' window does not close here... not sure if that is intentional. I close it myself. When I reopen it: ----------------------------------- SEND: ----------------------------------- <iq type="get" to="sam@robots.org.uk" id="msg_32"> <vCard xmlns="vcard-temp"></vCard> </iq> ----------------------------------- All buttons/fields are disabled. If I cancel and close the window and try again, the same thing happens.
No, the window closes when it has saved the vcard, usually this takes NO time at all, but your server seems to be dilly-dallying :) Perhaps we should add some sort of progress indication?
When reading, we are handling both <EMAIL><USERID>...</USERID></EMAIL> and <EMAIL>...</EMAIL>. We are always sending without the USERID tag. This is not right, the spec says: "Email addresses MUST be contained in a <USERID> element, not included as CDATA within the <EMAIL/> element."
Fixed in CVS, thanks for your very good bug report :)