majn / telegram-purple

Adds support for Telegram to Pidgin, Adium, Finch and other Libpurple based messengers.
GNU General Public License v2.0
735 stars 81 forks source link

Joining a group chat/removing group chat causes Pidgin to segfault #127

Closed hasues closed 8 years ago

hasues commented 9 years ago

When using Telegram group chats with the telegram-purple. If joining a chat, if it is done outside of telegram-purple, it appears that Pidgin/telgram-purple can not handle this join as it does not understand how to recognize a chat and handle this resource.

If one has joined a chat via Pidgin in telgram-purple, if one selects to "Remove the Chat", pidgin removes the chat, but it appears it is not removing the chat via the "Leave" method in Telegram and thus one still receives events from the chat causing Pidgin to segfault.

majn commented 9 years ago

Join by link?

By "leave" I assume you probably mean the "Delete and exit" method?

hasues commented 9 years ago

I guess I am mistaken. I thought I took this: https://telegram.me/joinchat/01fb53f301b67d3c7a5532908dfa9a89 and used it in Pidgin to create a chat. Maybe I did it with the official client. I will have to test and see.

I used the leave "Leave" method by selecting the chat in the official client, and expanding it with the right arrow, and in the top right is a label that says "Leave".

In pidgin, I use the "Remove" by right clicking the chat, and selecting "Remove". That starts causing the issues, because while the chat is removed from Pidgin, one has not left it as one can view that by using the official client.

majn commented 9 years ago

I used the leave "Leave" method by selecting the chat in the official client, and expanding it with the right arrow, and in the top right is a label that says "Leave".

I do this by design, cause I don't think that its a good idea to just leave the chat permanently when someone removes the chat from the buddy list as it might come unexpected to many users.

In other pidgin protocols (XMPP, IRC for example) the chats in the buddy list are more like bookmarks to quickly join a chat and removing them won't have any permanent effect since you can still join them in the roomlist of available chats. Joining / leaving a chat in Pidgin is more comparable to opening / closing the chat window.

The roomlist is where you can see all available chat rooms, your buddy list contains bookmarks to quickly open chat rooms (like in other protocols too) and if you want to remove them permanently there is the action "Delete and exit ... " for all chat rooms.

majn commented 9 years ago

I wasn't able to reproduce the segfault, do you use v1.2.1?

hasues commented 9 years ago

1.2.0 Beta 3

BenWiederhake commented 8 years ago

There have been lots of changes since 1.2.0 in that code. Chances are that the bug got fixed or deleted.

Of course, feel free to re-open this issue if you observe anything like it.