Modify ↓
Opened at 2016-10-24T22:18:30Z
Last modified at 2016-10-24T22:25:42Z
#1270 new defect
bitlbee-purple resets contact groups on reconnect
| Reported by: | Owned by: | ||
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Purple | Version: | devel |
| Keywords: | Cc: | ||
| IRC client+version: | Client-independent | Operating System: | Linux |
| OS version/distro: | Ubuntu 16.04.1 |
Description
How to reproduce
- join never existed channel,
/join &newgroup; - make it filled by a contact group,
chan set fill_by group,chan set group newgroup; - add there new contacts,
/invite user; - confirm creating new contact group,
group info newgroup. - save config and reconnect.
Expected results
Recently invited user still in newgroup group after client re-connection.
Actual results
Contact group newgroup is empty after client re-connection.
Attachments (0)
Note: See
TracTickets for help on using
tickets.

Did not take deep investigation but the issue happens during blist.xml loading when accounts list still empty. Thus, purple plugin cannot populate custom contact groups. The following fast hack helped me to workaround the issue.
diff --git a/protocols/purple/purple.c b/protocols/purple/purple.c index 71b495d..5000538 100644 --- a/protocols/purple/purple.c +++ b/protocols/purple/purple.c @@ -127,9 +127,6 @@ static void purple_init(account_t *acc) purple_util_set_user_dir(dir); g_free(dir); - purple_blist_load(); - purple_prefs_load(); - if (proxytype == PROXY_SOCKS4A) { /* do this here after loading prefs. yes, i know, it sucks */ purple_prefs_set_bool("/purple/proxy/socks4_remotedns", TRUE); @@ -352,6 +349,10 @@ static void purple_login(account_t *acc) pd->next_request_id = 0; purple_account_set_password(pd->account, acc->pass); purple_sync_settings(acc, pd->account); + purple_accounts_add(pd->account); + + purple_blist_load(); + purple_prefs_load(); purple_account_set_enabled(pd->account, "BitlBee", TRUE);