-
Notifications
You must be signed in to change notification settings - Fork 226
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support threaded messages and reactions #91
Comments
I'll have a look if this is possible to implement, however I'm afraid that it will mess up the chat view. |
Unfortunately, this is not going to work. The only way I can get replies/reactions is from the RTM events which will send the message, and an extra message, which mentions that a reply was made. However, the api (when switching channels it will get messages from the api) doesn't relay that a message was in reply to another message. As far as I can see, it will only say if a message has replies or not, but not the id to that message. (https://godoc.org/github.com/nlopes/slack#Msg) That would mean that I'm able to gather, from incoming message events (RTM), that a reply has been made to a message, but when changing the channel it will clear this information and is lost. This will also happen when restarting the application. This will only work when I'm able to get the id's of the replies, or the id of the message that the replies are made to. When this is the case I can do the following: message structs from nlopes/slack need to be kept in memory (as is done with channels). This will allows updating of message and the subsequent replies to be rendered correctly in the chat view. |
@erroneousboat any update on this? |
I'll have a look if anything has changed |
This feature would be highly appreciated, |
Ok, it is possible, but I need to rethink how messages are handled in slack-term. I'll put it on the road map. |
If you explain a bit, I can start working on it. |
Hey, thank you for the offer, but it isn't necessary. I'm working on it on the branch: threads |
A basic version is now available in the threads, if you'd like you can test it out. |
It"s great that now the threaded messages are visible. |
No it's not you, I haven't implemented that functionality. At the moment it is a basic version and I try to figure out how to best handle threads. |
Keep up the good work! Tell me if I can help with testing. |
Can I ask several of you how you typically use threads with slack, because at the moment I'm at bit of an impasse on this. At the moment (in the threads branch) I've added threads inside the main chat view, so that will mean that new message received, the thread gets updated and the message gets inline with all the other messages. However, I can imagine that this gets confusing when messages get appended that are not in view. Replying on threads also gets complicated, because you probably need to reply to a specific thread in a channel, which can have multiple threads. That would mean something like typing A potential solution could be, when you navigate to a channel you would retrieve all threads in a channel. A new column beneath the channels list will appear with a list of threads which you then can select and reply to. So I would like to know if this is something that might be sufficient for those that use threads intensively, and I would thus like to know how you typically use and navigate threads at the moment. It might give me some insight on how to implement this. Thanks in advance |
I didn't want to do all the talking, but if nobody else has comments, then I guess I can provide some feedback. So, your proposed potential solution, the new column with the list of the threads in the selected channel Perhaps in the distant future, and in a new feature request the "My Threads" feature could also be implemented, which would list all the threads that the user replied to at least once, regardless of the channel. For some reason this view is labelled as "All Threads" in the electron based Slack client, |
IMO what @erroneousboat mentions is enough (something is better that nothing hehe), but I don't see where do you mean And also which will be the "name" of the thread? or they'll have numbers (based on the IDK just some ideas hehe. |
Hey I just wanted to thank you both for your suggestions. I'll review and start implementing when I'm less bogged down with other responsibilities. |
Hey, I've updated the branch with some reply to thread functionality. You will see a thread id in front of the thread, and that id you can use to reply to it. Change to insert mode and type the following:
It is not extensively tested and perhaps rough around the edges, but I wanted to get it out to you guys. |
Hi, I just compiled the thread branch and I'm testing it out. Works great! My main feedback (from UX point of view) is that it's a bit unwieldy to type out the entire thread ID (eg
or even easier:
|
Progress. Would it be possible to redraw the thread with a new message to the bottom of the view? Thanks for diggin in on this. |
@davidjahn Cool, I'm glad it is workable at the moment! Good idea about the thread number and command, I'll implement that. @kitplummer You're welcome of course. I'll have a look if that would be something that could work. I'm not sure if it will be more easier to follow though, but I understand where you're coming from. That said, I'm still looking into making a separate list of threads that will be available when you select a channel that contains threads, which you then can select and reply to. I think that might even be better than the implemented solution at the moment. |
* threads: Update comment Update threads reply functionality Add reply to threads functionality Fix thread timestamp checking Fix pagination problem Update handling thread replies in event handler Update message event Implement new Message setup Start with thread support Reference #91
I've merged the current functionality into master, and I'm developing a different setup in threads-v2 |
@erroneousboat thanks a lot! I'll give it a shot. Just for convenience: probably worth publishing this as a new release on GitHub. |
Just to report a bug related to threads hehe. The "ID/Code" of the thread only appears if you "refresh" the view (move up and down on the channels to refresh the channel) if not, the Thread appears where it should be but it's impossible to respond to it. If you want I can open a separated issue for this one, and IDK if it's solved ton the |
@xescugc yeah it is one of the reason for the |
I've made an update to the threads-v2 branch. You'll be able to try it out. When changing channels from the main chat view, and threads are present in that channel. A pane to the right side will show. From there you can select the thread by using Note that threads will continue to show inline with conversations in the main chat view and the initial functionality of replying to a thread with This is still rough around the edges, and there will be potential bugs. But if you want to test it out, you can. It has been rebased to the latest version of master. |
Thank you for the update. I got a new build from threads-v2 and will try today. At first look everything seems OK but I couldn't figure out how to deselect a thread except by changing channels. Also can I configure thread bar width? |
I would say yes c5e2d5d#diff-3baf47c64847a8fb8aaa8cc2e088513bR25 |
Deselecting is indeed done by changing channels. And as @xescugc mentioned you can change the width of the thread by by adding |
@erroneousboat if it's ok with you I'll report the things I found here, if it's not the right place indicate me the right one :)
For now I've found this 😄 If I find something else I'll report it. Amazing BTW! |
Yeah no problem if you report it here.
And of course thanks for testing it out! |
Another one, if you move to the 4th position on a thread, that position is the same one on each channel you go, and if there is no 4th position no thread is selected by default and if you move:
Basically the selected thread position is not reseted when switching channels, that would go together with the 3rd item on the list I mentioned before :) |
@xescugc It has been a minute. I've updated the branch with fixes of the issues you came across. |
Ok so I've been testing for a while and I've found this:
Would be cool to also see the I would say this is all I've found right now |
Hey, thanks again for testing it out. I've made some changes on master.
This is unfortunately going to be present in some form. When changing channels, and the next channel contains a thread. The view needs to get updated in order to add the threads pane to the right. I've made it so that flashing shouldn't occur when changing channels when there is no threads present in the next channel.
Fixed
Fixed
Fixed, although this requires reloading of the interface, which results in a "flash".
I'll have a look for this implementation. |
Now when we write on a thread we get redirected to the "root" view of the conversateion, I'm gonna say it has to do with the For the rest I think it's ok
That would be cool hehe because if it's a big implementation you don't see which is the actual update. |
Does the threads-v2 branch still exist? I get a 404 when I follow the link. |
@faelin The functionality has been merged into master |
Closing since functionality has been released |
https://get.slack.help/hc/en-us/articles/115000769927-Message-threads
The text was updated successfully, but these errors were encountered: