-
-
Notifications
You must be signed in to change notification settings - Fork 669
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
Add support for muted users #4655
Comments
See chat discussion. In particular here's my description of what'll be involved in the implementation: Basically the plumbing work will all look like sort of a zulip-mobile version of the server/webapp's new-feature tutorial:
That looks like a lot of steps but a lot of them are trivial, like adding one line that's just like lots of other lines next to it. I think in total it doesn't add up to very much work. Then for this feature, the main places involved in the UI will probably be
|
Should we mention the new key only on servers that support the feature? If so, I'd like to have eyes on the first four commits of #4666 (they're pretty small) as they're relevant for that. (Though empirically it seems servers disregard nonsense values in |
Good question. I believe the server will ignore a key there that it doesn't recognize, so we can freely just send it. Partly I think that because we've added such keys before without making an effort to condition it on server version, and I'm not aware of problems it's caused. 😉 But it'd be good to fact-check that and then make sure the answer is written down somewhere helpful. |
OK, I confirmed that it sure looks that way in the implementation -- i.e. that we can freely send the new key and old servers will just ignore it -- but also found that the API docs are silent on the matter. I've asked in chat: |
All of the UI stuff this issue involves, off the top of my head:
We might also want to:
|
This is a good point to bring up, because it will need to be implemented by the server. That's because:
It looks like the server issue zulip/zulip#8040 already mentions this prominently, so that should be all set when the issue is completed. But it'd be a key thing to do a manual smoketest of at the end. |
Notifications I believe are already blocked via the fact that we clear all unread messages sent by the muted user on-muting (which will send remove-push-notifications). Let me write a little mini design document in the API docs for this. |
I opened zulip/zulip#18222 to write down the design theory for this feature, which is about the same as what i wrote in the original issue description, but spells out the implications for notifications of marking things as read when sent. |
I see that zulip/zulip#18222 has been merged! 🎉 @WesleyAC, are we ready to declare victory on this issue? |
The one remaining bit of this issue is to hide usernames in PM headers (when in a Search or All Messages narrow, for instance). I'm going to leave this open to track that. |
It could also be reasonable to open a dedicated issue for that remaining work -- I find that sort of remapping to a focused issue can save time in re-reading a long issue for adding a feature that we actually did add (with one detail not right), and make it easier to track and for contributors to work on what remains. |
In the previous commit, we learned we weren't updating an existing message list on an event saying that a user was muted or unmuted. This had gone unnoticed in part because we don't have good systematic tests for this logic in the existing code; we discovered it on writing tests for the new message-list-diffing logic. (Thanks, tests!) The other reason this had gone unnoticed is that it actually takes a bit of a coincidence for you to have a message list open while muting or unmuting someone -- because we don't actually have any UI for doing so in the mobile app! There's one existing TODO comment related to that; give it a reference to the issue for this feature, zulip#4655.
Over in #5225 (comment) we recently discovered one gap in our muted-users support:
That caused me to notice another area that AFAICT we just didn't think about when implementing this issue (I don't see it in any of our discussion above, for example), but would be good to have in order to really say that the mobile app supports user muting:
The second and third of those four (long-pressing a sender name or avatar, and a button in the profile screen) would provide good ways to unmute a user as well as to mute them, because they're all pretty accessible even after you've muted a user, if you have any messages from them other than 1:1 PMs. There's also the one Wesley mentioned in a comment a bit above here:
|
We've finished merging the backend for muting users in zulip/zulip#16915.
This is an important feature for large open communities.
https://chat.zulip.org/api/mute-user is relevant for when mobile wants to implement muting, but the part that is likely to be more important is having the mobile apps hide messages from muted users. We should update this issue with a link to the Help Center article explaining the behavior once that's complete, but in short:
The text was updated successfully, but these errors were encountered: