Adium

Ticket #8797 (closed defect: fixed)

Opened 1 year ago

Last modified 1 year ago

Adding contact results in the contact being added to all services of the same type

Reported by: conall Assigned to: nobody
Priority: normal Milestone: Adium 1.2.2
Component: libpurple Version: 1.2
Severity: normal Keywords: jabber gtalk google talk contacts duplicate
Cc: Patch: None
Pending: 0

Description (Last modified by jas8522)

For every production release of Adium for a while (including the current 1.2), I keep having issues when I add a new contact to my contact list using GTalk.

My Adium client is configured to connect to multiple GTalk/Jabber accounts including a Google Apps account, a gmail.com account, a jabber.org account and a LJ jabber account.

Whenever anyone on my Google Apps GTalk account (my work account) requests permission to add me to their list, I approve it and add them to my list as well, making sure to only add them to my Google Apps GTalk account.

Then I get requests for them to add all my other GTalk and jabber accounts to their contact list, which I don't want, since I separate my contacts by account, so work contacts can be easily seperated.

Steps to reproduce:

  1. Sign into multiple Gtalk/Jabber accounts
  2. Receive a request from a new contact
  3. Add them to your contact list
  4. Watch for requests to add the additional XMPP accounts to the new user's contact list

Attachments

adiumbuglog.txt (5.9 kB) - added by jaredgrubb on 01/28/2008 12:55:52 PM.
Excerpts for the bug report I just filed today, 2008-01-28

Change History

01/07/2008 10:33:04 PM changed by jas8522

  • description changed.
  • pending set to 1.
  • milestone set to Needs feedback from users.

So basically adding a user on one Jabber service to the contact list under that account seems to actually add them under all Jabber accounts such that they wind up requesting authorization from each of your Jabber accounts.

I have a Jabber.org and Gtalk account and have never experienced this; you're sure that it pops up requests for ALL of your other Jabber accounts? Can you get debug logging for this event? See ReportingBugs for how to do so.

01/12/2008 03:30:29 AM changed by dmz

I experience a very similar issue, with two Google Talk accounts, though it manifests a bit differently:

- somebody tries to add one of my accounts to their contact list - I get a dialog asking if I want to allow them to, and whether I want to add them to my list - I make sure to only check the one Google Talk account I want to add them to, and select the group I want to add them to - They get added to all of my _online_ Google Talk accounts' contact lists (usually in incorrect groups)

My temporary workaround has been to log out the Google Talk account I don't want them added to before approving their request, but this is (obviously) rather inconvenient. I'll see if I can get a debug log for it next time it happens.

01/12/2008 03:31:12 AM changed by dmz

(sigh... Trac killed my carriage returns between bullet points in the last comment)

(follow-up: ↓ 6 ) 01/15/2008 08:43:58 PM changed by conall

  • pending deleted.

Sanitised debug log (I've replaced the username with "anonymous", since my employe and their domain name is obvious from these logs ;)

01:33:04: Buddy icon update for anonymous@google.com 01:33:04: [buddy icon: anonymous@google.com got data] 01:33:04: (Libpurple: jabber) Recv (ssl)(266): <iq type="error" id="purple991eb25e" to="conall@google.com/Adium91CC1B20" from="anonymous@google.com/Crick.v1000D301A92"><query xmlns="jabber:iq:version"/><error code="501" type="cancel"><feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq> 01:33:04: (Libpurple: jabber) Recv (ssl)(263): <iq type="error" id="purple991eb25f" to="conall@google.com/Adium91CC1B20" from="anonymous@google.com/Crick.v1000D301A92"><query xmlns="jabber:iq:last"/><error code="501" type="cancel"><feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq> 01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purple991eb260'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name='anonymous'><group>Buddies</group></item></query></iq> 01:33:12: Adding buddy anonymous@google.com to group GMT -8 01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purple991eb261'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name='anonymous'><group>GMT -8</group></item></query></iq> 01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purple991eb262'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name='anonymous'><group>GMT -8</group></item></query></iq> 01:33:12: (Libpurple: blist) Updating buddy status for anonymous@google.com (XMPP) 01:33:12: Adding buddy anonymous@google.com to group GMT -8 01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purpleb4025470'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name='anonymous'><group>GMT -8</group></item></query></iq> 01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purple991eb263'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name=><group>GMT -8</group></item></query></iq> 01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purpleb4025471'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name='anonymous'><group>GMT -8</group></item></query></iq> 01:33:12: (Libpurple: jabber) Sending (ssl): <presence to='anonymous@google.com' type='subscribe'/> 01:33:12: (Libpurple: jabber) Recv (ssl)(238): <iq to="conall@google.com/Adium91CC1B20" id="537126A0" type="set"><query gr:ext="2" xmlns="jabber:iq:roster" xmlns:gr="google:roster"><item jid="anonymous@google.com" subscription="both" name="anonymous"><group>Buddies</group></item></query></iq> 01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purple991eb264'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name=><group>Buddies</group></item></query></iq> 01:33:12: (Libpurple: jabber) Recv (ssl)(236): <iq to="conall@gmail.com/Adium314467F0" id="536DF3BC" type="set"><query gr:ext="2" xmlns="jabber:iq:roster" xmlns:gr="google:roster"><item jid="anonymous@google.com" subscription="none" name="anonymous"><group>GMT -8</group></item></query></iq>

01/15/2008 08:57:18 PM changed by jas8522

  • summary changed from Jabber/GTalk Contact Misbehaviour to Adding contact results in the contact being added to all services of the same type.
  • component changed from Jabber to libpurple.
  • milestone changed from Needs feedback from users to Adium X 1.2.1.

This seems to happen with ICQ as well: #8919

Though it seems like it might be a libpurple issue.. definitely something to investigate soon.

(in reply to: ↑ 4 ) 01/15/2008 09:56:04 PM changed by evands

Replying to conall:

Sanitised debug log (I've replaced the username with "anonymous", since my employe and their domain name is obvious from these logs ;)

WikiFormatting for the log

01:33:04: Buddy icon update for anonymous@google.com
01:33:04: [buddy icon: anonymous@google.com got data]
01:33:04: (Libpurple: jabber) Recv (ssl)(266): <iq type="error" id="purple991eb25e" to="conall@google.com/Adium91CC1B20" from="anonymous@google.com/Crick.v1000D301A92"><query xmlns="jabber:iq:version"/><error code="501" type="cancel"><feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>
01:33:04: (Libpurple: jabber) Recv (ssl)(263): <iq type="error" id="purple991eb25f" to="conall@google.com/Adium91CC1B20" from="anonymous@google.com/Crick.v1000D301A92"><query xmlns="jabber:iq:last"/><error code="501" type="cancel"><feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>
01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purple991eb260'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name='anonymous'><group>Buddies</group></item></query></iq>
01:33:12: Adding buddy anonymous@google.com to group GMT -8
01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purple991eb261'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name='anonymous'><group>GMT -8</group></item></query></iq>
01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purple991eb262'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name='anonymous'><group>GMT -8</group></item></query></iq>
01:33:12: (Libpurple: blist) Updating buddy status for anonymous@google.com (XMPP)
01:33:12: Adding buddy anonymous@google.com to group GMT -8
01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purpleb4025470'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name='anonymous'><group>GMT -8</group></item></query></iq>
01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purple991eb263'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name=''><group>GMT -8</group></item></query></iq>
01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purpleb4025471'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name='anonymous'><group>GMT -8</group></item></query></iq>
01:33:12: (Libpurple: jabber) Sending (ssl): <presence to='anonymous@google.com' type='subscribe'/>
01:33:12: (Libpurple: jabber) Recv (ssl)(238): <iq to="conall@google.com/Adium91CC1B20" id="537126A0" type="set"><query gr:ext="2" xmlns="jabber:iq:roster" xmlns:gr="google:roster"><item jid="anonymous@google.com" subscription="both" name="anonymous"><group>Buddies</group></item></query></iq>
01:33:12: (Libpurple: jabber) Sending (ssl): <iq type='set' id='purple991eb264'><query xmlns='jabber:iq:roster' xmlns:gr='google:roster' gr:ext='2'><item jid='anonymous@google.com' name=''><group>Buddies</group></item></query></iq>
01:33:12: (Libpurple: jabber) Recv (ssl)(236): <iq to="conall@gmail.com/Adium314467F0" id="536DF3BC" type="set"><query gr:ext="2" xmlns="jabber:iq:roster" xmlns:gr="google:roster"><item jid="anonymous@google.com" subscription="none" name="anonymous"><group>GMT -8</group></item></query></iq>

01/16/2008 08:41:10 PM changed by evands

I can't reproduce this, using a Jabber and a Google Talk account. I'm going to add debug logging to allow the next person to experience it to provide evidence and perhaps more info about the problem :)

01/16/2008 08:43:39 PM changed by evands

(In [22375]) Added debug logging when adding contacts. Refs #8797

01/16/2008 08:44:07 PM changed by evands

(In [22376]) Merged [22375]: Added debug logging when adding contacts. Refs #8797

01/16/2008 08:44:25 PM changed by evands

  • milestone changed from Adium X 1.2.1 to Needs feedback from users.

01/28/2008 12:53:13 PM changed by jaredgrubb

I have had this same issue for a couple months!

In my case, I have two seperate yahoo accounts. Everything works fine on one account. But, when someone requests to add my second yahoo account AND i also add them, it sends an additional request to the friend to add the first yahoo account as well. At first, I thought maybe I wasnt paying attention and was checking the wrong box, but I started paying very careful attention to it, and it's not me, I promise! :)

I have attached the debug log, annotated with a couple different scenarios. (I obfuscated the real yahoo names by changing the first k_ to kkkkkkkk and g_ to gggggggg. If the actual names matter, I can send them privately)

Finally, it doesn't matter what accounts are checked in the "Add to my contacts" dialog box. It seems to always add the one that the other guy requested AND send a request for the one he didnt request -- regardless of which boxes were checked. (Again, this only happens if friend requests to add Account#2. Account#1 never malfucntions)

01/28/2008 12:55:52 PM changed by jaredgrubb

  • attachment adiumbuglog.txt added.

Excerpts for the bug report I just filed today, 2008-01-28

01/28/2008 03:04:15 PM changed by evands

  • status changed from new to closed.
  • resolution set to fixed.
  • milestone changed from Needs feedback from users to Adium X 1.2.2.

great! I've fixed this in recent changes, for adium 1.2.2. Thanks for the debug logging and excellent reporting - your account #1 vs account #2 description pins the problem down nicely.