Skip to content
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

Chat: block user #8805

Open
anastasiyaig opened this issue Dec 15, 2022 · 9 comments
Open

Chat: block user #8805

anastasiyaig opened this issue Dec 15, 2022 · 9 comments

Comments

@anastasiyaig
Copy link
Contributor

anastasiyaig commented Dec 15, 2022

Description

The requirements gathered here are based on the information got from mobile team

As a user, I can block a contact

  • 1-1 chat with the blocked user is removed, chat history is cleared
  • if you open a new 1-1 chat with the blocked user again, it is expected that the input field in this chat will not be available (no input field, no chat history on the screen) Nastya: this might be outdated, because we cant start a chat with blocked user it seems
  • all the messages from the blocked user are removed in a public chat
  • the blocked user is removed from your contacts. If the user is unblocked, he is not returned to the contact list Nastya: this might be outdated, because we move the user to Blocked list instead and unblocking him brings him back to contacts.
  • chat history with the unblocked user does not recover
  • you can add the unblocked user to contacts, start a new 1-1 chat with him, create a group chat, see new messages from him in a public chat/community channel Nastya: this needs clarification, if we block and then unblock user, so we need to resend contact request?
  • blocked user is not removed from group chat members (neither for the admin nor other members). Only messages from him are removed
  • blocked users list is synced across devices
  • you can’t receive any push notifications from the blocked user
  • you can’t see the blocked user in the mention suggestions list in chats
  • messages from the blocked user that he sent while you were offline are not fetched when you are back online
  • all notifications from the blocked user should also be removed from the activity center

from #8975

Background
Design have done a body of work to make the flows and implications around Blocking a user more comprehensive. Through this body of work it was confirmed with @John-44 that when a user blocks another user, the blocked user should also be kicked from all ad-hoc group chats owned by the blocking user and banned from all Communities owned by the blocking user.

This should be clarified to the blocking user at the point at which they select to block a user via the following confirm block dialog which contains a checkbox which is selected and disabled stating:

Ban [Display name] from all current and future Group Chats and Communities that I own

Confirm block dialog

Figma:
https://www.figma.com/file/ibJOTPlNtIxESwS96vJb06/%F0%9F%91%A4-Profile-%7C-Desktop?node-id=1503%3A14889&t=33ycAeE4YzwiKHlD-1

@anastasiyaig
Copy link
Contributor Author

anastasiyaig commented Dec 15, 2022

@benjthayer @John-44 i need your review on blocking user functionality. We should align it with mobile and here is a short summary of requirements that i got from mobile QAs. Please review, comment, edit and provide figma for this so we can have it implemented.

@jrainville please check this out as it goes to messenger team functionality

@iurimatias please prioritise

@glitchminer @elina2015 please be aware

@anastasiyaig
Copy link
Contributor Author

UPD per @benjthayer:

Just to confirm, the more comprehensive block user flows are almost complete pending a final review from the team. They can be found here:

https://www.figma.com/file/ibJOTPlNtIxESwS96vJb06/%F0%9F%91%A4-Profile-%7C-Desktop?node-id=1503%3A14889&t=33ycAeE4YzwiKHlD-1

NOTE: not yet confirmed

@iurimatias iurimatias added this to the 0.13 milestone May 3, 2023
@iurimatias iurimatias modified the milestones: 0.13, 0.14 May 25, 2023
@benjthayer
Copy link

Hey @anastasiyaig @iurimatias as far as I am aware, these designs are complete and have been reviewed between myself and John. Is there anything further required?

@anastasiyaig
Copy link
Contributor Author

anastasiyaig commented May 25, 2023

@benjthayer thank u for getting back! @iurimatias @jrainville @John-44 do we want it for mvp
or later?

@igor-sirotin
Copy link
Contributor

Linking this, as it introduced an explicit difference in desktop/mobile:

@John-44
Copy link

John-44 commented Jul 13, 2023

Linking this, as it introduced an explicit difference in desktop/mobile:

@cammellos @iurimatias @anastasiyaig is a difference between Status Desktop and Status Mobile warranted here?

I would have thought that the 'Block user' behaviour should be identical on both Mobile and Desktop.

IMHO when a user is blocked on both Status Desktop or Status Mobile (it shouldn't matter which), then:

  • The fact that the user has been blocked should be synced via our sync mechanism to all of the users devices.

Then, on all of the users devices (both Desktop and Mobile), it should appear as if that user 'doesn't exist, and never existed' to the user who blocked them. Specifically, this means that:

  • Every message from the blocked user should be deleted from the DB on all of the user's devices.

  • The blocked user should not appear anywhere in the UI on the user's devices (including community member lists, if the blocked user's chat key is pasted into 'add contact' nothing should be returned, 1on1 chats, it should be like they don't exist in ad-hoc group chats even if they are still in the ad-hoc group chat, there should be zero notifications relating to the blocked user in the Notification Centre, etc, etc...)

  • The one and only exception to the above is the Settings/Messaging/Users screen, which should contain a list of all blocked users, so that the user has a way to unblock someone.

I can't see why there should be any difference in the above functionality between Mobile and Desktop, esp. as blocked users must be synced across all of the user's devices, and therefor I would have thought that the fact that a user has been blocked should be acted upon in the same way on all of the user's devices (both Mobile and Desktop. But perhaps I'm missing something?

@anastasiyaig
Copy link
Contributor Author

@John-44 the feature must be identical on both platforms and this is the purpose of this task - to align it. Sadly it was logged 7 months ago , so things could have been changed since then. The description of the task could be adjusted, the main goal is again to make this feature identical :)

@igor-sirotin
Copy link
Contributor

I'm also fixing syncing problems related to blocking contacts in #11523 🙂

@iurimatias
Copy link
Member

moving to 2.29 due to lack of space in this milestone and lack of clarify in this task

@iurimatias iurimatias modified the milestones: 2.28.0 Beta, 2.29.0 Beta Feb 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

6 participants