Adium

Ticket #8797 (closed defect: fixed)

Opened 18 months ago

Last modified 2 months ago

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

Reported by: conall Owned by: nobody
Milestone: Adium 1.2.2 Component: Adium Core
Version: 1.2 Severity: normal
Keywords: jabber gtalk google talk contacts duplicate Cc:
Patch Status:

Description (last modified by jas8522) (diff)

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 17 months ago.
Excerpts for the bug report I just filed today, 2008-01-28

Change History

  Changed 18 months ago by jas8522

  • description modified (diff)
  • pending changed from 0 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.

  Changed 18 months ago 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.

  Changed 18 months ago by dmz

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

follow-up: ↓ 6   Changed 18 months ago by conall

  • pending changed from 1 to 0

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@… 01:33:04: [buddy icon: anonymous@… got data] 01:33:04: (Libpurple: jabber) Recv (ssl)(266): <iq type="error" id="purple991eb25e" to="conall@…/Adium91CC1B20" from="anonymous@…/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@…/Adium91CC1B20" from="anonymous@…/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@…' name='anonymous'><group>Buddies</group></item></query></iq> 01:33:12: Adding buddy anonymous@… 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@…' 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@…' name='anonymous'><group>GMT -8</group></item></query></iq> 01:33:12: (Libpurple: blist) Updating buddy status for anonymous@… (XMPP) 01:33:12: Adding buddy anonymous@… 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@…' 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@…' 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@…' name='anonymous'><group>GMT -8</group></item></query></iq> 01:33:12: (Libpurple: jabber) Sending (ssl): <presence to='anonymous@…' type='subscribe'/> 01:33:12: (Libpurple: jabber) Recv (ssl)(238): <iq to="conall@…/Adium91CC1B20" id="537126A0" type="set"><query gr:ext="2" xmlns="jabber:iq:roster" xmlns:gr="google:roster"><item jid="anonymous@…" 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@…' name=><group>Buddies</group></item></query></iq> 01:33:12: (Libpurple: jabber) Recv (ssl)(236): <iq to="conall@…/Adium314467F0" id="536DF3BC" type="set"><query gr:ext="2" xmlns="jabber:iq:roster" xmlns:gr="google:roster"><item jid="anonymous@…" subscription="none" name="anonymous"><group>GMT -8</group></item></query></iq>

  Changed 18 months ago 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   Changed 18 months ago 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>

  Changed 18 months ago 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 :)

  Changed 18 months ago by evands

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

  Changed 18 months ago by evands

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

  Changed 18 months ago by evands

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

  Changed 17 months ago 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)

Changed 17 months ago by jaredgrubb

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

  Changed 17 months ago 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.

  Changed 2 months ago by zacw

  • component changed from libpurple to Adium Core

Removing 'libpurple' component.

Note: See TracTickets for help on using tickets.