Hi Ján,
On Wed, Mar 6, 2013 at 12:30 AM, Ján Máté jan.mate@inf-it.com wrote:
Hi Atilla,
there is already a code that merges multiple IM accounts into one. Please send my some example vcard files and I will check why these are not merged for you.
I thought that's what I just did:
On Mar 5, 2013, at 9:34 PM, Attila Asztalos attila.asztalos@gmail.com
wrote:
Hi, I just noticed that something funny is going on with the IM ID data of
my contacts - namely, yahoo messenger IDs (but not Skype ones) are all appearing twice in CardDavMate. The origin of this can be traced back to CardDav-Sync from my Galaxy S2: it sends every IM ID not in one but two different "encodings", like so:
X-YAHOO:this_id IMPP;X-SERVICE-TYPE=yahoo:ymsgr:this_id X-SKYPE:that_id IMPP;X-SERVICE-TYPE=skype:skype:that_id
After a non-trivial amount of trying to find my way through CardDavMate, a quick test call of normalizeVcard() in data_process.js using the data above resulted in:
IMPP;X-SERVICE-TYPE=Yahoo:this_id IMPP;X-SERVICE-TYPE=skype:that_id IMPP;X-SERVICE-TYPE=yahoo:this_id X-SKYPE:that_id
...and immediately revealed that a) the Skype ID is not duplicated similarly to the Yahoo one only by virtue of not being supported at all - I'd call that a bug in itself, seeing as how "X-SKYPE" doesn't seem any less legit of a tag than "X-YAHOO" - and wikipedia [1] seems to agree. b) the unique() call probably misses to catch the double tag because of a single letter's case - the "Y" in "yahoo" tag that normalizeVcard() itself introduced (on line 2945) to replace the original "X-YAHOO".
Best regards, - Attila