purple-teams icon indicating copy to clipboard operation
purple-teams copied to clipboard

Joining a thread room spawns lots of chat windows

Open blu256 opened this issue 2 years ago • 9 comments

Steps to reproduce:

  1. Buddy List Window -> Tools -> Room List
  2. Get room list for Teams account
  3. Join a room that ends with @thread.?????

Expected behaviour:

The chat log is shown in one conversation window.

Actual behaviour:

After the first (empty) conversation window opens, new conversation windows open for each message on the thread.

blu256 avatar Jun 28 '22 12:06 blu256

Did you figure this out? I have this problem too. Pidgin on a Mac spans a new chat message for every thread message. The room chat window is blank.

Screen Shot 2022-11-17 at 10 33 58 AM

jefftherobot avatar Nov 17 '22 15:11 jefftherobot

Because of those threaded messages, and how each message can have its own reply, the server is sending them as if they were individual group chats

I'll need to add in an account setting to not do that..... But maybe allow it on a case-by-case basis as a group chat setting?

EionRobb avatar Nov 17 '22 18:11 EionRobb

That's a tough decision because I see what you're saying about the reply behavior for each message. It makes sense that they would be individual chats, since teams allows you to reply to each message individually, which isn't typical chatroom behavior.

I'm a member of lots of teams I just passively watch, so I get multiple new chat windows opening every minute or so.

jefftherobot avatar Nov 17 '22 18:11 jefftherobot

Yeah, tricky!

Maybe option #3 is to have the initial message come through as just a single chat, but the threaded messages within show up as a separate conversation window? That's probably a lot harder to code up!

(my main goal here is to handle these better than the threaded conversations in purple-googlechat, in that plugin when people use threaded conversations a lot, they're impacted by new messages they send always spawning a new thread in other peoples Google chat clients instead of using an existing one)

EionRobb avatar Nov 17 '22 18:11 EionRobb

I don't know enough about libpurple UI constraints to support this, but I believe they figured something out with slack-libpurple. https://github.com/dylex/slack-libpurple/pull/118

jefftherobot avatar Nov 17 '22 18:11 jefftherobot

Could the idea of slack-libpurple handling of channels be carried over to handle "teams" channels?

jefftherobot avatar Nov 17 '22 19:11 jefftherobot

Just my 2cents, I like the way it currently is. Makes it really easy to participate in chats. An option to disable this per chatroom would maybe make sense. We have alert and jira channels that get lots of automatic bot posts but nobody really starts a thread there.

Only starting a new chat window for a second message may also not be ideal as I'm often the first one to replay.

And I actually use the slack plugin and I really dislike the thread system there where you have to select a thread with /th <timestamp=HH:mm:ss> <message>.

dakra avatar Nov 18 '22 00:11 dakra

Added an account setting to turn all threaded conversations into a single group chat window in https://github.com/EionRobb/purple-teams/commit/30227343b13ac6d8795a2d983bdd6220b6e625f5 as a "phase 1".

Will need to add a per-chat override as a phase 2. Might borrow from the "hide on join" plugin https://github.com/kgraefe/pidgin-hide-chat-on-join/ for inspiration about how they do it there.

EionRobb avatar Dec 01 '22 10:12 EionRobb

Could it be possible to display thread replies as messages in the main group/room/team but prepend them with @username: with the username of the user that started the thread in front of it. So sort of like emulating how specific conversations/replies are conducted on crowded irc channels.

Or perhaps prepend both the username and quote the first few words of the thread would make more sense, in case someone is replying to a very old thread.

gardar avatar Dec 22 '22 13:12 gardar