EionRobb / purple-hangouts

47 stars 4 forks source link

Unable to write a message after leaving and being added to a chat again #150

Closed EionRobb closed 7 years ago

EionRobb commented 7 years ago

Original report by Stefan Strogin (Bitbucket: stefan-strogin, ).


  1. Bob creates a chat ("group") with Alice using Gmail web interface.
  2. Bob leaves the chat using Pidgin.
  3. Alice adds Bob again to the same chat using Gmail web interface.
  4. Bob cannot send anything to the chat in Pidgin, getting a message: «Bob left the room» each time he opens the chat. At the same time Bob is able to write using Gmail web interface.
EionRobb commented 7 years ago

Original comment by Eion Robb (Bitbucket: EionRobb, GitHub: EionRobb).


So it looks like when we fetch the history for the room and process the history events, we're seeing the 'X has left the room' event and processed it thinking that we just got kicked. I think I can workaround that.

EionRobb commented 7 years ago

Original comment by Eion Robb (Bitbucket: EionRobb, GitHub: EionRobb).


Skip over join/part messages when replaying history Fixes issue #150

EionRobb commented 7 years ago

Original comment by Eion Robb (Bitbucket: EionRobb, GitHub: EionRobb).


Could you give that commit a try and see if it fixes it for you?

EionRobb commented 7 years ago

Original comment by Stefan Strogin (Bitbucket: stefan-strogin, ).


Unfortunately, it doesn't. Somehow an old chat had been fixed when I upgraded the plugin. But when I try to reproduce the same as described in the issue creating a new chat, I get almost the same, with one slight difference: 4a) Bob cannot send anything to the chat in Pidgin, getting a message: «Bob left the room» each time he opens the chat in Pidgin. At the same time Bob is able to write using Gmail web interface. And now also Bob sees two Alices in the chat In Pidgin.

Also if Bob quits Pidgin, then writes a message in Gmail, then opens pidgin, then the chat opens correctly and Bob is able to conversate. But after he closes and opens the chat windows, all again is as in 4a.

PS. All other plugins are turned off.

EionRobb commented 7 years ago

Original comment by Eion Robb (Bitbucket: EionRobb, GitHub: EionRobb).


Hmm... that's sounding like the plugin didn't update, as there won't be any "Bob left the room" messages when opening the chat.

The only bug I could find was if you leave the room in Pidgin but don't close the window, if you are then re-invited to the group chat before closing the chat window, that you won't receive any messages until you close the chat window.

Can you double check you've removed all copies of the plugin when you upgrade it (i.e. from the system plugins directories as well as the ~/.purple/plugins folder) and make sure you've restarted Pidgin between upgrades? You can also double-check where it's loading the plugin from by opening the debug log (from the buddy list, Help->Debug Window) then leave that open and open the plugins list (from the buddy list, Tools->Plugins); the debug log should then list which copy of the hangouts plugin is being loaded.

EionRobb commented 7 years ago

Original comment by Stefan Strogin (Bitbucket: stefan-strogin, ).


Oh... Yes you are right. I think I should have cleaned the repository before rebuilding the plugin. Now everything works perfectly. Thank you for the prompt response.

EionRobb commented 7 years ago

Original comment by Eion Robb (Bitbucket: EionRobb, GitHub: EionRobb).


Yay glad to hear it's working :)

I'll see if I can figure out how to workaround the case of being reinvited to a chat while the window is opened