zulip / zulip

Zulip server and web application. Open-source team chat that helps teams stay productive and focused.
https://zulip.com
Apache License 2.0
21.52k stars 7.8k forks source link

Add support for pinning topics within a stream #19483

Open timabbott opened 3 years ago

timabbott commented 3 years ago

A popular feature of alternative chat products is being able to pin messages within a stream. We closed the original issue for this feature when we started displaying stream descriptions at the top of stream narrows. However, that implementation doesn't cover all use cases for pinning messages, and in any case doesn't presently let you display a large amount of content (though we do plan to change that). We should consider adding this a high priority given how many people were excited about #5200; we get additional requests about this from time to time.

Our current thinking is that the right model for this in Zulip is to allow pinning one or more topics within a stream, and then users can move messages into the pinned topic as needed. Here's an implementation/design plan, in a reasonable commit merging order:

zulipbot commented 3 years ago

Hello @zulip/server-misc members, this issue was labeled with the "area: topics" label, so you may want to check it out!

m-e-l-u-h-a-n commented 3 years ago

@zulipbot claim

zulipbot commented 3 years ago

Hello @m-e-l-u-h-a-n, you have been unassigned from this issue because you have not updated this issue or any referenced pull requests for over 14 days.

You can reclaim this issue or claim any other issue by commenting @zulipbot claim on that issue.

Thanks for your contributions, and hope to see you again soon!

zulipbot commented 3 years ago

Hello @evykassirer, you have been unassigned from this issue because you have not updated this issue or any referenced pull requests for over 14 days.

You can reclaim this issue or claim any other issue by commenting @zulipbot claim on that issue.

Thanks for your contributions, and hope to see you again soon!

evykassirer commented 2 years ago

Our current thinking is that the right model for this in Zulip is to allow pinning one or more topics within a stream, and then users can move messages into the pinned topic as needed.

Is there discussion on CZO about the product thinking behind this? I'm not convinced this is intuitive/helpful, though also I'm not sure I fully understand the suggested implementation yet, and would like to read or participate in some conversation before getting started on implementation :)

alya commented 2 years ago

@evykassirer I'm not sure I understand the precise part you're concerned about (the whole idea? multiple pinned topics?). Anyway, the idea has been batted around a number of times over the years (you can search for "pinned topics" in public streams), but you can just kick off a new discussion thread at this point.

evykassirer commented 2 years ago

I'm not as much concerned, but moreso feel like I want some more information about the use cases and product thinking before I feel more confident in and excited about working on it. I'll check out the discussion in CZO tomorrow and kick off a new discussion thread if I have further questions! thanks :)

(I guess I do feel like I have very vague questions/concerns but also don't feel like I have enough context to know if they're based in anything real)

evykassirer commented 2 years ago

@zulipbot claim

evykassirer commented 2 years ago

@zulipbot claim

mightyiam commented 2 years ago

Exciting, @evykassirer !

showell commented 2 years ago

Chat discussion: https://chat.zulip.org/#narrow/stream/137-feedback/topic/pin.20topics.2Fmessages/near/1335993

zulipbot commented 2 years ago

Hello @evykassirer, you have been unassigned from this issue because you have not updated this issue or any referenced pull requests for over 14 days.

You can reclaim this issue or claim any other issue by commenting @zulipbot claim on that issue.

Thanks for your contributions, and hope to see you again soon!

evykassirer commented 2 years ago

Still working on it, awaiting a decision made in #backend>pinned topics

v3ss0n commented 2 years ago

Looking forward to it.

xeruf commented 2 years ago

Rough ETA on this? Highly sought-after feature in my circles :)

roed314 commented 1 year ago

We were looking for this feature while using Zulip for a conference this week.

joannetsaii commented 1 year ago

@zulipbot claim

zulipbot commented 1 year ago

Welcome to Zulip, @joannetsaii! We just sent you an invite to collaborate on this repository at https://github.com/zulip/zulip/invitations. Please accept this invite in order to claim this issue and begin a fun, rewarding experience contributing to Zulip!

Here's some tips to get you off to a good start:

As you work on this issue, you'll also want to refer to the Zulip code contribution guide, as well as the rest of the developer documentation on that site.

See you on the other side (that is, the pull request side)!

zulipbot commented 1 year ago

@joannetsaii You have been unassigned from this issue because you have not made any updates for over 14 days. Please feel free to reclaim the issue if you decide to pick up again. Thanks!

joannetsaii commented 1 year ago

Our team is still working on it. We're currently testing the changes and fixing some bugs in the backend.

v3ss0n commented 1 year ago

@joannetsaii which branch? i am interested.

do-me commented 1 year ago

Thanks @joannetsaii for working on it, really excited about this feature! 
Is there any progress? 

By the way, UI-wise at least for pinning messages it seems very natural to me, that the message (2) is just pinned under the stream / topic bar (1) that is already sticky when scrolling. A collapse function (3) would be nice (e.g. in case of a longer message and elsewise cluttering the UI after having it read once).

Or does anyone have other proposals or even a prototype?

Personally, I also really like the UX of pinned messages in Telegram where you have a small bar that: image

a) scrolls through all pinned messages and b) opens a separate chat/window only with the pinned messages & a link to the original message in the original chat

FeldrinH commented 1 year ago

This would really be a nice feature to have. Especially since the only available alternative for making commonly needed info easy to find (stream descriptions) currently does not support links on mobile (https://github.com/zulip/zulip-mobile/issues/5751).

ayala-io commented 1 year ago

I am all for this feature as well. Being able to pin a topic to bring it to the attention of all members, especially new ones who might be overwhelmed with all the other topics floating around, would be very helpful.

roanster007 commented 10 months ago

@zulipbot claim

zulipbot commented 10 months ago

@roanster007 You have been unassigned from this issue because you have not made any updates for over 14 days. Please feel free to reclaim the issue if you decide to pick up again. Thanks!

roanster007 commented 10 months ago

I'm nearly done with the thing... I'll add some tests, update docs and open PR.

wandrew0 commented 7 months ago

@zulipbot claim

wandrew0 commented 7 months ago

@zulipbot abandon

benjaoming commented 3 months ago

When streaming live video from a conference, is it possible that a pinned message could be used to display a video player that "sticks" to the top of a stream and then a new topic is opened for every talk?

alya commented 3 months ago

That's a nice suggestion! More closely related to #20745.