orbitdb-archive / orbit

A distributed, serverless, peer-to-peer chat application on IPFS
MIT License
1.64k stars 116 forks source link

Threaded conversations #60

Open haadcode opened 8 years ago

haadcode commented 8 years ago

Orbit should have threaded conversations. This means that you should be able to "reply" to a message.

I imagine this to work so that we add a "reply" button to each message in the UI and display an indicator in the "send message" field that you're replying to a message (as opposed to a new message).

If a message in the chat has replies to it, the UI (ie. a single message line) should display a counter of how many replies are in this thread and button to expand and collapse the thread. If expanded, the replies should be displayed indented under the original message. This could be done similar to the Directory view component.

This will also require a new field in the Post.Message data structure. I think it would suffice to add "replyto" field which contains the has of the message this message is a reply to. In the UI, one can then check if the "replyto" field is set and render the message accordingly.

I'd be happy to hear other suggestions as to how this would be displayed in the UI.

dignifiedquire commented 8 years ago

Flowdock has the best implementation I have seen so far on this: https://www.flowdock.com/features

Screenshot:

screen shot 2016-08-04 at 10 21 36

haadcode commented 8 years ago

Did a simple prototype here: https://github.com/haadcode/orbit/tree/threads

jbenet commented 8 years ago

Wow that flowdock UX is really good. The color + popout window adds so much

Thanks @haadcode! can't wait to try it On Thu, Aug 4, 2016 at 06:12 Haad notifications@github.com wrote:

Did a simple prototype here: https://github.com/haadcode/orbit/tree/threads

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/haadcode/orbit/issues/60#issuecomment-237512000, or mute the thread https://github.com/notifications/unsubscribe-auth/AAIcocrZIkYOfXFOLwmuDmb4rQYSBlFbks5qcbsVgaJpZM4JcZ0m .