Author Topic: Moving or renaming groups can cause strange behavior with Clist Classic  (Read 4501 times)

0 Members and 1 Guest are viewing this topic.

Offline Ratha

Im not sure how helpful this post will be as I've not been able to get exact reproduction instructions for these issues, but Clist Classic is having some really weird behavior with regards to moving and renaming groups. These issues have existed since atleast 0.95.6.17009, and still exists in 0.95.6.17182. I recommend that people back up their profiles if they plan on moving or renaming groups. (Possibly even sorting or creating groups too.) Im not sure if this problem is isolated to Clist Classic, but i was able to duplicate the behavior after disabling -every- plugin that can be disabled from within Miranda and restarting.

*I have not had the time to test a clean profile yet, it could be that something is corrupted within my profile. Running DBChecker didnt seem to be able to fix these problems, nor did it seemingly find any corruption however and manually checking the database with DBE++ also did not reveal any noticeable corruption in the settings.

-

When you move a sub-group into another sub-group, many different things can happen:
1: A large portion of your contact list disappears and cannot be accessed until Miranda is restarted.
2: A duplicate group can appear in a different place on the contact list.
3: A "(null)" group is created which contains a seemingly random portion of your contact list. (This might only happen if you have some protocols disabled?)
4: Users may become lost and no longer show up in the group that was moved or anywhere else on the contact list. (They can be (sometimes) be recovered with Database Editor ++ by manually changing (or deleting) the Contact > Protocol > Friend > Clist > "Group" key. I managed to fix my list using this method, but doing this on a test-copy of my profile wouldnt fix it.)

Odd behavior associated with renaming a group:
5: A group can just disappear entirely, while the rest of them remain in place. Restarting Miranda does not restore this group in any way, but sometimes editing the group name with the database editor can fix this. (Might be related to using a "/" in the group name?)
6: A new group is created under the new name, while the old group remains on the contact list. (New group gets all the users from the old group, most of the time.)
7: Miranda allows you to rename the group, but if you try to rename it back again it tells you that a group with that name already exists. Even though you cannot see one. It appears to change the group name back to the one that already exists regardless.

Can anyone else confirm that these issues may exist and that its not just my profile? (Be sure to back your profile up first before you start moving things around!)
« Last Edit: 15 08 2016, 09:30:55 by Ratha »
 

Offline Ratha

Some additional information, including a possible fix and workaround for people having similar issues:

Somewhere in the process of creating/moving/renaming groups, a bunch of my contacts disappeared from my contact list, not re-appearing even after restarting the client. Groups that should have users are displaying zero of zero. I found out that when this happens, i am able to 'recover' these contacts by going into options > Ignore, right clicking, and using 'move to group' to put them back onto my list inside a new group. (Or you can disable groups entirely and your missing contacts will show up again on your list again.)

I have a backup of a broken profile that is missing most of its users in which clicking on the Visibility menu causes Miranda to hang with 25% cpu usage. Tried letting it run for 10 minutes but it was never able to recover and needed to be forced closed. Using the 'right click a user' > Move to Group option, i found that i had multiple duplicated groups that were listed next to each other with the exact same name, and if you right clicked a user in one of those groups it would show a checkmark beside both groups. I used this method to find out which groups were potentially causing problems by being duplicates and then deleted them. (All of the duplicates mentioned here were invisible, only one copy visibly showed up on the contact list, the duplicates only showed up in the 'move to group' menu.)

Different from the duplicates above, I also had a duplicate group in the root folder named "Z - Steam" that did NOT show up on the group list as being a duplicate (but one of the folders inside of it did). The root group "Z - Steam" Would not bring up a delete dialogue confirmation when pressing the delete key on it, but the other one would.

Deleting one of the sub groups ("Steam Misc") inside of this duplicate folder would cause BOTH "Z - Steam" groups on my contact list to disappear, requiring a restart of Miranda in order for them to show back up again. After deleting "Steam Misc" and restarting, 4 out of 9 of the sub groups in "Steam Misc" now become duplicates, showing up inside both of the "Z - Steam" folders. All of the groups inside of the phantom folder had 0/0 users. Deleting the rest of the groups inside the root "Z - Steam" group (the one that wouldnt allow itself to be deleted) caused the Z - Steam" group that couldnt be deleted to disappear. Deleting these phantom groups which displayed 0/0 users (sometimes) caused the users which were in the other group that showed their users to spill out into the base folder.

Once the phantom "Z - Steam" group was gone, accessing the Visibility menu no longer caused Miranda to hang anymore. After doing this, about half of my users were still not showing up on my contact list, but could be recovered from the ignore/visibility menu. To be on the safe side, i also deleted the other duplicate groups as well, even if they were properly displaying their users. Deleting the first group would cause all of my users to spill out, leaving an empty copy of the original group in the same place. I also deleted that group in case it was corrupted.

(An additional oddity that was noticed was that if i 'hide offline users' in the group that wouldnt let itself be deleted, it would cause a different root group to expand when it had been previously closed possibly. This makes me think that these two groups shared an ID in some way?)

-

My best guess as to the cause of this behavior is some sort of corruption of the group entries in the profile database. More testing is needed to determine if creating/renaming/moving groups will continue to cause a problem now that all of the duplicates have been removed from my profile. I will keep a backup of the broken profile along with the instructions to fix it in case the problem crops up again. In the meantime hopefully some of this information is of use to someone if they have something like this happen to them.

(I'd be willing to share the broken profile with a developer if they wanted to look at it, if i could find a way to remove enough personal information from it first, but that would be a very time consuming process I suspect. Leave me a message if interested.)