purple-teams
purple-teams copied to clipboard
Use more human-readable identifier for threads in channels
Currently, if someone posts a new thread in a channel, it opens automatically in Pidgin, which is nice. However, the name becomes something like 19:[email protected]
in the contact list and window title, which makes it hard to identify.
This is similar to https://github.com/EionRobb/purple-teams/issues/4, but not quite the same as that is about meetings, which are already separate rooms and have a nice title, whilst this is about threads in a channel.
The chat window itself does show the channel it is part of underneath the title, which helps, and it makes sense that the thread title is not the same as the channel title, but perhaps there is a way to show it more nicely. I posted some ideas below - they are not mutually exclusive.
Contact List Tree
An ideal solution would be to have something similar to what Teams does: show all threads and their contents of a channel in the chat window, making the channel itself the "contact". Since this will be difficult in Pidgin due to it having a flat text structure in the chat window, perhaps there is some way to have a tree structure in the contact list? The channel itself would then be the parent node, and all related threads child nodes.
This will also help declutter the contact list as all threads will be grouped under their respective channels.
Prefix Channel Name To Long ID
Another idea is to prefix the long ID with the channel name and a dash - this allows visually grouping and sorting threads from related channels together in the contact list, which helps.
Replace Long ID With Excerpt
What Teams itself does in the activity tab is not show IDs, but show an excerpt of the post that started the thread, which is also better than an ID.
I would like to mention that this was an issue with the Slack Plugin for Pidgin, and it was solved by implementing a set of commands to support threads:
/thread|th [thread-timestamp] [message]
: post message in a thread, where thread-timestamp matches the configured display format (either thread_timestamp or thread_datestamp)
/getthread|gth [thread-timestamp]
: fetch messages in a thread, where thread-timestamp matches the configured display format (either thread_timestamp or thread_datestamp)
This works pretty well from my experience, and it is a nice compromise given the restrictions of pidgin's UI. It is also something users would be familiar with if they use pidgin for slack. And I think that it would be nicer from a UX standpoint than having a new tab for each thread (which can escalate very quickly).
What do you all think?