Adium

Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#10917 closed defect (fixed)

Latest version often hides contacts despite "Hide Certain Contacts" turned off

Reported by: davidje13 Owned by: nobody
Milestone: Adium 1.3.2 Component: Adium UI
Version: Severity: regression
Keywords: contacts hidden regression Cc: jochs.lists@gmail.com
Patch Status:

Description

On startup, contacts are often not visible despite having Adium set to show all. I cannot find a pattern in which contacts are hidden (it doesn't appear to be by account, domain name or status, and both combined and individual contacts are effected) although available contacts are never hidden. I use Address Book syncing and every contact is listed in my address book.

Additionally, when Adium is started manually (not on system startup) ALL contacts are invisible, even those currently online.

Clicking "Hide Certain Contacts" then "Show All Contacts" fixes the glitch until the program is closed in both cases.

This glitch was not present until 1.3

Attachments (2)

missingContactsLog.txt (65.9 KB) - added by David 11 years ago.
Adium-1.3.1.log (10.3 KB) - added by Robert 11 years ago.
jochs' console log

Download all attachments as: .zip

Change History (49)

comment:1 Changed 11 years ago by David

Looking through the tickets list in more detail, the following tickets might be the same bug (some apparently fixed before):

10874
6217
6492
10623

comment:2 Changed 11 years ago by David Smith

I have been investigating this, and I've discovered that it may be related to interactions between the 'show groups' 'show offline group' and the other show/hide controls. However, the description here indicates that it may be more complex than that.

comment:3 in reply to:  2 Changed 11 years ago by David

Replying to Catfish_Man:

I have been investigating this, and I've discovered that it may be related to interactions between the 'show groups' 'show offline group' and the other show/hide controls. However, the description here indicates that it may be more complex than that.

Ok, if it helps I have "show groups" turned on and show offline group turned off.

I can also fix the bug by toggling "show offline group" but not by toggling "show groups"

comment:4 Changed 11 years ago by David Smith

Hrmph. Confusing.

comment:5 Changed 11 years ago by Jordan

Milestone: Known problems which need steps to reproduce

comment:6 Changed 11 years ago by David Smith

Keywords: regression added
Milestone: Known problems which need steps to reproduceAdium 1.3.1

comment:7 Changed 11 years ago by Robert

priority: normalhigh
Severity: normalregression

comment:8 Changed 11 years ago by Evan Schoenberg

I can't reproduce this at all.

With what View menu settings are you able to reproduce this?

comment:9 Changed 11 years ago by David

I think I've found the root of this bug.

After some more testing it appears to be a problem with the "Combine Contacts Listed on a Single Card" option (for Address Book integration). With this turned off, it shows everyone as it is supposed to.

Looking at which contacts get hidden, it's when a contact has multiple addresses listed IN ADDRESS BOOK (regardless of how many of those addresses are actually in Adium's accounts), with one exception - contacts who are currently online are never hidden.

(also, "I can also fix the bug ... but not by toggling "show groups" " - seems I was mistaken - toggling "show groups" does work)

comment:10 Changed 11 years ago by David

oh and to clarify an earlier comment - when I say "I can also fix the bug by toggling "show offline group" " I mean that once the problem has occured, I can turn that on and off again to fix the list, but only until the next time Adium is run.

comment:11 Changed 11 years ago by Evan Schoenberg

davidje13, are you able to reproduce this with Adium 1.3.1b2?

comment:12 Changed 11 years ago by David

Yes, I can reproduce it in 1.3.1b2

comment:13 Changed 11 years ago by Evan Schoenberg

Please use Adium_1.3.1b220080905 and post your debug logging (instructions at CurrentAdiumDebug) of connecting, finding one or more contacts hidden, and then fixing the list with the workaround you found above. Let me know the screenname of at least 1 contact whom you found to be missing during this process so I know what to look at in the log.

Changed 11 years ago by David

Attachment: missingContactsLog.txt added

comment:14 Changed 11 years ago by David

That version fails to start for me, but I attached the debug log from 1.3.1b2, with only one account enabled and names, emails, pictures, etc. removed

comment:15 Changed 11 years ago by Jordan

Milestone: Adium 1.3.1Adium 1.3.2

comment:16 Changed 11 years ago by Aaron Richard

Hello. I have been having the same problem. I started a thread about this over at the cocaforge Adium board here: http://forums.cocoaforge.com/viewtopic.php?f=13&t=18216

It includes some screenshots and explanations of the problem which may be of use to you. I have a relatively small contact list for Adium, so a temporary fix for me was just go go through each contact and check "Always show this contact" under the contacts info pane.

comment:17 Changed 11 years ago by Robert

Cc: jochs.lists@gmail.com added
Version: 1.31.3.1

I spoke to another person experiencing this problem in #adium, "jochs" (diamondsw here in Trac). Here was very, very cooperative. Here are some insights and patterns we found:

  1. The workaround suggested by davidje13 works for him.
  2. All missing contacts are combined contacts except for one which has two listings in the AB.

I'll add his console log here, too. The second part of it seems to be MSN-Pecan stuff mentioned in #10994.

Changed 11 years ago by Robert

Attachment: Adium-1.3.1.log added

jochs' console log

comment:18 Changed 11 years ago by Jordan

---Snipped---

It seems that my explanation for this is not this bug at all. Interestingly I have a number of contacts (perhaps 50% of them) that are metacontacts formed in exactly the way that is described here (from the address book metacontact merging feature) and cannot reproduce this.

comment:19 in reply to:  18 ; Changed 11 years ago by David

That's a different bug (and one that I can't reproduce)

The bug this ticket describes is related to having multiple addresses in Address Book (I've done more testing with it and I'm now 100% sure that's the cause)

To reproduce is fairly simple:

  1. Add one of your contacts to Address Book
  2. Turn on "Combine contacts listed on a single card" in the Advanced tab of the preferences
  3. In address book, add a new IM address to the contact's card. Any address will do, it doesn't have to be real (even things like 'test' work)
  4. Restart adium. When it signs in, the contact will be missing (Unless the contact is online)

comment:20 in reply to:  19 Changed 11 years ago by Aaron Richard

Replying to davidje13:

I can confirm that this is the same bug I'm having. I just tested it as per your directions above, and another one of my contacts is now "missing". What's peculiar is that they stay missing even after the IM address has been removed from the Address Book.

comment:21 Changed 11 years ago by Evan Schoenberg

Resolution: fixed
Status: newclosed

(In [25159]) When a metacontact's contained object's visibility changes, immediately recompute that metacontact's visibileListContacts array and thereby redetermine if its visible status has changed. I think this may fix #10917, but I haven't been able to reproduce #10917 yet so I'm not sure.

comment:22 Changed 11 years ago by Jordan

[25159] may also fix #11033

comment:23 Changed 11 years ago by jochs.lists@gmail.com

I downloaded the current code from subversion and built it (http://trac.adiumx.com/wiki/GettingNewestAdiumSource). Sadly, this bug is NOT fixed or affected by this change. Symptoms are the same as before.

Please reopen this bug.

comment:24 Changed 11 years ago by Robert

Resolution: fixed
Status: closedreopened

Shucks! Thanks for reporting.

comment:25 Changed 11 years ago by Evan Schoenberg

Did you download adium-1.3? The change was not made on trunk.

comment:26 Changed 11 years ago by Robert

Milestone: Adium 1.3.2Needs feedback from users
pending: 01

Good point!

comment:27 Changed 11 years ago by jochs.lists@gmail.com

I was building off of trunk alright. Unfortunately the 1.3 branch would not compile for me; maybe I just hit it at a bad moment. Doesn't seem to like something in the code for MSN.

BUILD FAILED

The following build commands failed: AdiumLibpurple:

CompileC build/Adium.build/Deployment-Debug/AdiumLibpurple.build/Objects-normal/i386/ESMSNService.o "/Users/jochs/Desktop/adium/Plugins/Purple Service/ESMSNService.m" normal i386 objective-c com.apple.compilers.gcc.4_0 CompileC build/Adium.build/Deployment-Debug/AdiumLibpurple.build/Objects-normal/i386/ESPurpleMSNAccount.o "/Users/jochs/Desktop/adium/Plugins/Purple Service/ESPurpleMSNAccount.m" normal i386 objective-c com.apple.compilers.gcc.4_0 CompileC build/Adium.build/Deployment-Debug/AdiumLibpurple.build/Objects-normal/i386/ESPurpleMSNAccountViewController.o "/Users/jochs/Desktop/adium/Plugins/Purple Service/ESPurpleMSNAccountViewController.m" normal i386 objective-c com.apple.compilers.gcc.4_0

comment:28 Changed 11 years ago by Robert

Hey diamondsw,
would you mind creating a separate ticket with the build failure?

comment:29 Changed 11 years ago by jochs.lists@gmail.com

Am I compiling the wrong branch still? I thought I had the right one, but it indicates 1.3.1, not 1.3.2svn:

svn co svn://svn.adiumx.com/adium/branches/adium-1.3 adium-1.3 && cd adium-1.3 && make && open build/Deployment-Debug/Adium.app

This build did not fix the problem, but I'm not sure I grabbed the right source.

comment:30 Changed 11 years ago by David Smith

Most likely nobody got around to updating the version number yet.

comment:31 Changed 11 years ago by Evan Schoenberg

You're on the right branch. I'm glad to have someone both experiencing the bug and using current svn now.

Could you start off by posting a complete debug log (as per CurrentAdiumDebug) of connecting, finding a contact missing, and using the toggle workaround to get the contact to display? Please tell us the screenname of one or more contacts for whom this behavior is seen.

Once I see that I'll add some more debug logging to help track this down further. (I've been completely unable to reproduce the problem locally)

comment:32 Changed 11 years ago by Kaleb.G

I don't use any of the address book functionality, but I'm having this problem as well. I am showing all contacts with groups (but no offline group), and sometimes when I start up, my combined contacts are invisible. I have to change my view settings and change them back to get them to show. In the meantime, I've just been marking combined contacts "always visible" as a workaround.

comment:33 Changed 11 years ago by Evan Schoenberg

It has nothing to do with the address book specifically; it's just combined contacts. Please provide debug logging and test debug builds as available; we know the problem exists.

comment:34 Changed 11 years ago by Kaleb.G

What do you mean by "test debug builds"? Do you just want me to use CurrentAdiumDebug and post my log? Did you want me to use any other version as well?

comment:35 Changed 11 years ago by Robert

"Test" might be a verb there. ;)
Anyway, providing debug logging as outlined in that wiki entry you mentioned is a good idea. :)

comment:36 in reply to:  34 Changed 11 years ago by Evan Schoenberg

Replying to Kaleb.G:

What do you mean by "test debug builds"? Do you just want me to use CurrentAdiumDebug and post my log? Did you want me to use any other version as well?

Yes, please post a log using the CurrentAdiumDebug and note the names of one or more contacts for whom you experience the issue (you can email me the information if you're not comfortable posting your log in the ticket). Based on that information I plan to add more logging and ask you to repeat the process with a new build to narrow down the source of the bug.

comment:37 Changed 11 years ago by Kaleb.G

I sent you an e-mail with the log, evan. I would have posted it here but I don't know how to attach files and it seemed too large for me to post inline.

comment:38 Changed 11 years ago by kbotc

Shouldn't we actually be worried about one thing with MetaContacts?

I'm referring to AIContactHidingController.m:200, it shouldn't matter if the code things the MetaContact should be visible or not. Just if ([listContact conformsToProtocol:@protocol(AIContainingObject)]) {

if([(AIListContact<AIContainingObject> *)listContact visibleCount] > 0){

return YES;

} else {

return NO;

}

At the beginning of the method should work. Unless you have any reasons that this wouldn't work (May save us a computation of two even).

comment:39 Changed 11 years ago by Evan Schoenberg

That's a good point, kbotc. I don't think it should fix the problem, as the metacontact's visible count should match whether it meets those visible criteria defined above... but it definitely saves a little computational work and makes the method a bit easier to read, so I think it's a good change.

I've uploaded a test build with this change, some more local tweaking work which I'll commit if it's right, and more debug logging as Adium_1.3.2svn20080921.dmg. If you're able to reproduce this problem reliably, please try that build and report back, posting a new debug log if it fails.

comment:40 Changed 11 years ago by Evan Schoenberg

Milestone: Needs feedback from usersAdium 1.3.2

comment:41 Changed 11 years ago by Evan Schoenberg

(In [25198]) Applied kbotc's suggested change to simplify determination of whether a metacontact should be visible or not by using its visibleCount. Refs #10917

comment:42 Changed 11 years ago by Evan Schoenberg

(In [25200]) merged [25198]: Applied kbotc's suggested change to simplify determination of whether a metacontact should be visible or not by using its visibleCount. Refs #10917

comment:43 Changed 11 years ago by Evan Schoenberg

Resolution: fixed
Status: reopenedclosed

(In [25201]) Update the visibleListContacts array for a metacontact when an object is added, regardless of whether it is in a group remotely yet, and also update the array when its remote group changes or becomes nil. Fixes #10917, and fixes the seemingly random persistence of some metacontacts on the contact list after all accounts had disconnected when 'show all contacts' was enabled.

comment:44 Changed 11 years ago by Evan Schoenberg

(In [25202]) merged [25201]: Update the visibleListContacts array for a metacontact when an object is added, regardless of whether it is in a group remotely yet, and also update the array when its remote group changes or becomes nil. Fixes #10917, and fixes the seemingly random persistence of some metacontacts on the contact list after all accounts had disconnected when 'show all contacts' was enabled.

comment:45 Changed 11 years ago by jochs.lists@gmail.com

At last - CONFIRMED FIXED. :)

comment:46 Changed 11 years ago by Robert

pending: 10

Thanks, diamondsw! :)

comment:47 Changed 11 years ago by John

So, the fix for this and what I posted in bug #10795 will be in Adium 1.3.2?

Note: See TracTickets for help on using tickets.