Adium

Ticket #10028 (closed defect: duplicate)

Opened 4 months ago

Last modified 3 weeks ago

Sorting of contacts in the list and of contacts inside meta contacts isn't remembered across restarts

Reported by: Robby Assigned to: nobody
Priority: high Milestone:
Component: Adium Core Version: 1.3svn
Severity: major Keywords:
Cc: Patch: None
Pending: 0

Description

Sorting contacts never really worked well but after some time I had managed to get them sorted somehow.

Yesterday, though, I started on a fresh set of preferences and wanted to sort my contacts again. However, after restarting Adium all the sorting I had done obviously hadn't been saved.
I don't know how this can be tackled, tell me what information I need to provide. :)

Attachments

2008-06-23.log (35.3 kB) - added by Robby on 06/23/2008 02:47:22 PM.
Log, meta contact sorting - online contact.rtf (21.5 kB) - added by Robby on 06/24/2008 03:10:46 AM.
Log, meta contact sorting - offline contacts.rtf (71.1 kB) - added by Robby on 06/24/2008 03:20:28 AM.
2008-06-27 - act of sorting.rtf (129.2 kB) - added by Robby on 06/27/2008 12:50:00 PM.
2008-06-27 - first restart, changes kept.rtf (129.2 kB) - added by Robby on 06/27/2008 12:50:40 PM.
2008-06-27 - second restart, AIM dropped to the bottom.rtf (129.3 kB) - added by Robby on 06/27/2008 12:53:30 PM.
Second restart: The AIM account has been dropped to the bottom of the three
2008-06-27 - sixth restart, AIM is now in the middle.rtf (129.1 kB) - added by Robby on 06/27/2008 01:15:54 PM.
1.txt (128.2 kB) - added by Robby on 06/29/2008 02:34:02 PM.
Act of sorting
2.txt (140.5 kB) - added by Robby on 06/29/2008 02:36:30 PM.
First restart: Order is 1. Jabber, 2. ICQ, 3. AIM, 4. Gtalk -wrong!
6.txt (139.3 kB) - added by Robby on 06/29/2008 02:42:15 PM.
Again it is the sixth restart that the order is changed once again: 1. ICQ, 2. AIM, 3. Jabber, 4. Gtalk

Change History

(follow-up: ↓ 7 ) 06/10/2008 07:47:13 AM changed by Robby

  • priority changed from normal to high.
  • severity changed from normal to major.

I could imagine this being related to #9804.

06/10/2008 07:48:34 AM changed by Robby

  • summary changed from Adium doesn't remember how contacts were sorted across restarts to Sorting of contacts isn't remembered across restarts.

06/10/2008 07:58:04 AM changed by Robby

  • summary changed from Sorting of contacts isn't remembered across restarts to Sorting of contacts in the list and of contacts inside meta contacts isn't remembered across restarts.

Sorting inside meta contacts is also b0rked. Maddening...

06/10/2008 08:00:50 AM changed by jas8522

Sorting inside metacontacts works ok for me - I re-arranged myself as a metacontact, remembering the 'before' configuration. I restarted Adium and it was exactly like the 'after' sort order, so it definitely saves for me.

06/10/2008 08:01:58 AM changed by jas8522

Same with regular contact sorting - works ok for me. [23900] on 10.5.3

06/10/2008 08:07:24 AM changed by Robby

This did work in most cases before I started out on the fresh set of preferences. This is [23898] on 10.4.11, by the way.

(in reply to: ↑ 1 ) 06/11/2008 06:09:41 PM changed by evands

Does this happen every time, or did it happen once?

Replying to Robby:

I could imagine this being related to #9804.

Did you lose all your aliases and contact-specific preferences?

06/11/2008 06:29:27 PM changed by Robby

My contacts I haven't been able to get sorted at all.
Adium does seem to keep the order of sub-contacts in metas at times. Oddly, my perception is that it loves to have AIM contacts as the bottom-most subcontacts inside meta contacts but maybe this is random.
I just said

I could imagine this being related to #9804.

because that also describes Adium forgetting contact related information. I haven't set any aliases as Adium retrieves names from the AB. I don't know what other "contact-specific preferences" there are but I'm not really missing anything in this direction.

06/11/2008 11:25:57 PM changed by evands

I'll add debug logging to the sort-setting and we'll see what we see, then.

06/22/2008 09:08:36 PM changed by evands

(In [24033]) Added debug logging for setting order indexes. Refs #10028

06/23/2008 02:46:56 PM changed by Robby

Ok, here's some debug logging for when I moved some contacts inside meta contacts.

06/23/2008 02:47:22 PM changed by Robby

  • attachment 2008-06-23.log added.

06/23/2008 08:26:33 PM changed by evands

Did you update before producing this log?

06/24/2008 02:43:29 AM changed by Robby

Oh my god, where was my mind!? :O

06/24/2008 03:10:16 AM changed by Robby

Ok, sorry for that, here's a log after updating. I tried to cut out the entries that that were in these 10 seconds when I performed the sorting. It appears the changes I made have been kept across the restart.
I'll see how it goes with contacts that are offline in a second.

06/24/2008 03:10:46 AM changed by Robby

  • attachment Log, meta contact sorting - online contact.rtf added.

06/24/2008 03:20:13 AM changed by Robby

Ok, I'm seeing something very odd:
The changes I did this time to contacts that were offline have been saved across a restart but the change I did in the first round of testing is gone again.

06/24/2008 03:20:28 AM changed by Robby

  • attachment Log, meta contact sorting - offline contacts.rtf added.

06/27/2008 12:09:43 PM changed by evands

The order index is being set properly in all these logs.

If you can reproduce this, I need to know what dragging you've done, within which metacontact, with what results. "Evan's metacontact was ordered X-Y-Z, then I dragged it to be Y-X-Z, which worked until I restarted, at which point it was back to X-Y-Z." If you're thinking it has to do with online/offline status, please note the online/offline nature of each contact being listed.

I have not been able to reproduce this problem.

06/27/2008 12:28:57 PM changed by Robby

Ok, I just did a new test, this time with Jordan ;), whose accounts were and are all online (AIM, Gtalk, MSN).

The order was: 1. MSN, 2. Gtalk, 3. AIM.
But what I wanted was: 1. AIM, 2. Gtalk, 3. MSN.
So I first dragged AIM to the top of the three and then Gtalk in the middle, above MSN.

After the first restart the change was still there as I wanted it, after the second, though, AIM had been dropped to the bottom.
Now, after a few more restarts AIM is suddenly in the middle of the three accounts.

I'm puzzled. :/

(follow-up: ↓ 22 ) 06/27/2008 12:36:37 PM changed by evands

And the log files for inital setting, restart with invalid order, and restart with new invalid order?

I'm puzzled that you can reproduce this so easily (yay!) but I can't (boo). Perhaps the eventual solution will explain why.

06/27/2008 12:47:06 PM changed by Robby

I'm sorry I can't attribute them precisely. I'll do a new test with Jordan.

Order was: 1. MSN, 2. AIM, 3. Gtalk
I dragged AIM to the top, Gtalk in the middle.

06/27/2008 12:50:00 PM changed by Robby

  • attachment 2008-06-27 - act of sorting.rtf added.

06/27/2008 12:50:26 PM changed by Robby

First restart: changes kept.

06/27/2008 12:50:40 PM changed by Robby

  • attachment 2008-06-27 - first restart, changes kept.rtf added.

06/27/2008 12:53:30 PM changed by Robby

  • attachment 2008-06-27 - second restart, AIM dropped to the bottom.rtf added.

Second restart: The AIM account has been dropped to the bottom of the three

06/27/2008 01:15:54 PM changed by Robby

  • attachment 2008-06-27 - sixth restart, AIM is now in the middle.rtf added.

06/27/2008 01:17:31 PM changed by Robby

After the sixth restart, AIM has landed – in the middle... I was connected to AIM, but not ICQ because of rate limiting errors, I think. These errors had also affected AIM the restart before that, if I remember correctly.
Do you need the logs of the third, fourth and fifth restart, Evan?

(in reply to: ↑ 18 ) 06/28/2008 11:36:46 AM changed by Robby

Replying to evands: ...

I'm puzzled that you can reproduce this so easily (yay!) but I can't (boo). Perhaps the eventual solution will explain why.

Assumption made up out of thin air: this only happens when you start out with a fresh set of prefs and 1.3. Sorting was easier before I did that, I think.
Jordan will check in the next few days.

(follow-up: ↓ 26 ) 06/28/2008 04:42:36 PM changed by evands

  1. Those aren't complete logs. They don't contain any the debug logging from retrieving order. Rather than copying the tail of the log from Console, please post the actual log file.
  2. Please don't upload logs in RTF format; they can't be read directly within Trac.

06/28/2008 05:52:20 PM changed by evands

Nevermind about posting the logs; thinking about how this could possibly happen I came up with a solution, I believe. Let me know if the following fix works for you.

06/28/2008 05:52:58 PM changed by evands

  • status changed from new to closed.
  • resolution set to fixed.

(In [24087]) Wow, ordering was a mess, especially as objects moved between groups.

Previously, an object was responsible for its order index, a value which followed it wherever it went. This goes horribly wrong when a contact changes containing objects (groups or metacontacts), as it may have the same order index as one of its siblings after moving. Same order index means rather arbitrary sorting behavior.

This sort of association would also break down if an object could be in multiple groups.

A containing object is now responsible for keeping track of objects within it. This should fix many obscure problems with sorting. We do a one-time upgrade from the old (possibly incorrect) order index preference as needed.

Fixes #10028

(in reply to: ↑ 23 ) 06/29/2008 02:32:16 PM changed by Robby

  • status changed from closed to reopened.
  • resolution deleted.

Replying to evands:

1. Those aren't complete logs. They don't contain any the debug logging from retrieving order. Rather than copying the tail of the log from Console, please post the actual log file. 2. Please don't upload logs in RTF format; they can't be read directly within Trac.

Sorry about that. :(

Ok, sorting still has problems. Still, I am only testing sorting inside combined contacts with all contacts online.

Order was: 1. AIM 2. Gtalk, 3. ICQ, 4. Jabber
I dragged Jabber to the top.

06/29/2008 02:34:02 PM changed by Robby

  • attachment 1.txt added.

Act of sorting

06/29/2008 02:36:30 PM changed by Robby

  • attachment 2.txt added.

First restart: Order is 1. Jabber, 2. ICQ, 3. AIM, 4. Gtalk -wrong!

06/29/2008 02:42:15 PM changed by Robby

  • attachment 6.txt added.

Again it is the sixth restart that the order is changed once again: 1. ICQ, 2. AIM, 3. Jabber, 4. Gtalk

06/29/2008 02:43:08 PM changed by Robby

Actually, this was the fifth, sorry.

06/29/2008 02:46:51 PM changed by Robby

I have been running [24087] for this.

06/29/2008 04:06:37 PM changed by jas8522

  • status changed from reopened to closed.
  • resolution set to duplicate.
  • milestone changed from Adium X 1.3 to zzzDuplicate tickets.

In case of the possibility that running with a fresh set of prefs is where the problem lies, I cleaned my prefs (also to try to solve another problem I'm having) and it did not allow me to reproduce this. I noted the default arrangement of subcontacts within a metacontact, re-arranged them and reboot multiple times - they always remained the same.

I had a feeling I know what is causing this, and asked Robby if he has me in his Address Book. His answer: "yes, every contact that I have" so my guess is that this is ticket #8742 and that when it recreates them from the Address Book there's no order specified in which to combine them.

06/29/2008 04:15:34 PM changed by evands

Good work! Yes, #8742 would mean that ordering is completely obliterated with each restart... my fix in [24087] actually makes this worse. Before, there was a possibility the ordering would be right the next time, though it might not be; now, a new metacontact without its own concept of ordering will lead to no chance of your ordering being preserved. Yay :)

06/29/2008 04:21:27 PM changed by Robby

I can confirm. Well done, Jordan! :)

09/26/2008 08:28:29 AM changed by Robby

  • milestone deleted.