Closed
Description
Not to be confused with muted users, #296. (The mechanisms are quite different, so that's an entirely independent task.)
This means:
- Track which streams are muted, with
subscription
events and the corresponding initial data. - Track which topics are muted and which are unmuted or followed — i.e., the user's topic visibility policies — with
user_topic
events,muted_topics
events for older servers, and the corresponding initial data.- See the reducer implementation in
src/mute/muteModel.js
in zulip-mobile; we should be able to basically transcribe that.
- See the reducer implementation in
- Implement getters for that data with appropriate logic to combine the stream-level and topic-level values.
- See the getters in
src/mute/muteModel.js
in zulip-mobile, and match their logic.
- See the getters in
- Use the muting/visibility-policy information to control…
- … which messages are shown in stream narrows and the all-messages narrow.
- See
getShownMessagesForNarrow
in zulip-mobile'ssrc/chat/narrowsSelectors.js
.
- See
- …which messages are included in unread counts, for the various places they appear in the UI.
- This will be done on the
Unreads
model class. Our various UI should already be calling methods there to get these counts.
- This will be done on the
- …which topics and streams are included in the inbox view ui: Add "inbox" view #117.
- …how topics are shown in a list of topics in a stream (if we have that screen by the time we take on this issue).
- … which messages are shown in stream narrows and the all-messages narrow.
We'll also want to give the user the ability to change which streams are muted, and which topics are muted or unmuted or followed. That'll be a separate followup task.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done