Modify ↓
Opened at 2013-03-11T20:27:33Z
Closed at 2013-03-24T20:37:06Z
#1037 closed defect (fixed)
Skype plugin doesn't correctly handle group chats.
Reported by: | Owned by: | Miklos Vajna | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Skype | Version: | devel |
Keywords: | Cc: | ||
IRC client+version: | Client-independent | Operating System: | Public server |
OS version/distro: | OSX 10.8.2 x86_64 |
Description
After getting the bzr latest version working with skyped I found group chats are not being connected correctly. The fix is the following patch against bitlbee.bzr r977:
=== modified file 'protocols/skype/skype.c' --- protocols/skype/skype.c 2013-02-18 08:42:30 +0000 +++ protocols/skype/skype.c 2013-03-10 00:35:54 +0000 @@ -1002,7 +1008,7 @@ g_free(sd->adder); sd->adder = NULL; } - } else if (!strncmp(info, "MEMBERS ", 8)) { + } else if (!strncmp(info, "MEMBERS ", 8) || !strncmp(info, "ACTIVEMEMBERS ", 14) ) { info += 8; gc = bee_chat_by_title(ic->bee, ic, id); /* Hack! We set ->data to TRUE
Additionally, the latest Skype API doesn't appear to return all bookmarked chats that are "favorite" in the new UI. It almost seems SEARCH BOOKMARKEDCHATS is only returning chats that were bookmarked in skype-2 on OSX. To resolve this issue the following change works.
=== modified file 'protocols/skype/skype.c' --- protocols/skype/skype.c 2013-02-18 08:42:30 +0000 +++ protocols/skype/skype.c 2013-03-10 00:35:54 +0000 @@ -1207,8 +1215,12 @@ skype_printf(ic, "SET USERSTATUS ONLINE\n"); /* Auto join to bookmarked chats if requested.*/ - if (set_getbool(&ic->acc->set, "auto_join")) + if (set_getbool(&ic->acc->set, "auto_join")) { skype_printf(ic, "SEARCH BOOKMARKEDCHATS\n"); + skype_printf(ic, "SEARCH ACTIVECHATS\n"); + skype_printf(ic, "SEARCH MISSEDCHATS\n"); + skype_printf(ic, "SEARCH RECENTCHATS\n"); + } return st; }
As a side note, in order to get this far it was necessary to comment out another request to the Skype API that was constantly timing out:
=== modified file 'protocols/skype/skype.c' --- protocols/skype/skype.c 2013-02-18 08:42:30 +0000 +++ protocols/skype/skype.c 2013-03-10 00:35:54 +0000 @@ -1074,7 +1080,9 @@ i = groups; while (*i) { skype_printf(ic, "GET GROUP %s DISPLAYNAME\n", *i); - skype_printf(ic, "GET GROUP %s USERS\n", *i); + /* FIXME: The following doesn't return any data + * and blocks the initialization process for a while */ + /* skype_printf(ic, "GET GROUP %s USERS\n", *i); */ i++; } g_strfreev(groups);
Attachments (0)
Change History (2)
comment:1 Changed at 2013-03-16T20:21:41Z by
comment:2 Changed at 2013-03-24T20:37:06Z by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
Hi Jinn,
The first two patches looks good, I'll queue them in a bit for the next merge round.
The third looks tricky:
Should fix your problem without touching the code. But false is already the default, so maybe you set it to true?
https://jira.skype.com/browse/SPA-736 is the upstream Skype bugreport about that, that's why it's disabled by default.
Thanks,
Miklos