status-mobile icon indicating copy to clipboard operation
status-mobile copied to clipboard

Add an option to mark any of your contact as untrusted

Open mariia-skrypnyk opened this issue 1 year ago • 11 comments

Feature Issue

User Story

As a user, I want to be able to Mark a contact as untrusted so that so that the next time I enter the chat with this user, I see a note about it that I should be cautious.

Description

How it is done on the Desktop app:

Mark as untrusted option

Image

Untrusted sign

Remove untrusted mark

Acceptance Criteria

  1. The new option Mark as untrusted should appear before the option Block user, as shown in the screenshot and in Figma
  2. There's a thin line dividing destructive actions, this should be implemented (see in Figma).
  3. The new Mark as untrusted option should appear in context menus of any contact, group member, etc. All places where Block user appears.
  4. After pressing on Mark as untrusted, the bottom sheet in Figma should be displayed. See also screenshot
  5. Similarly to the desktop client, the option Remove untrusted mark should appear when any contact is currently marked as untrusted. The same icon with an exclamation mark should be used.

mariia-skrypnyk avatar Oct 07 '24 11:10 mariia-skrypnyk

I'm a fan of this type of feature @mariia-skrypnyk. Every time I need to verify identities in the mobile app I miss this feature, or the reverse even more: allowing a user to mark a contact as trusted. Personally, I prefer this method (an allowlist) because, ideally, I want all my Status contacts to have a green checkmark, indicating that I have verified their identity at least once. The alternative (a blocklist), where some users are marked as untrusted, would likely result in having contacts I haven't verified, making me more susceptible to impersonation attempts.

Both the allowlist and blocklist features are valid and would be useful in their own right.

ilmotta avatar Feb 25 '25 17:02 ilmotta

FYI @mariia-skrypnyk I updated this issue's description with the acceptance criteria and links to relevant Figma nodes so that the issue is ready for development.

ilmotta avatar Apr 17 '25 07:04 ilmotta

I'm working on this.

ajayesivan avatar Apr 28 '25 11:04 ajayesivan

Update

I've completed the basic implementation and am now preparing to integrate it across all relevant areas where this option is needed. Before proceeding, I wanted to confirm a few things and get your feedback. I've attached a screen recording demonstrating the flow starting from the Chat Home Screen.

https://github.com/user-attachments/assets/80125518-9e1d-4657-baec-3c56ae32c0a4

  1. I'm currently following the desktop app flow, which includes showing success toasts. But on mobile, similar actions like "Block" don't show a toast. Should I keep the toast here for consistency with desktop, or remove it to match the mobile pattern?
    If there's a user flow for this feature in Figma, that would be really helpful.

  2. I've only added the English (en) version of the localization keys for now. I'm unsure how to correctly add keys for other languages. Is there a documentation link or guide I can follow for this?

  3. In this PR, I updated the "Remove from contacts" option to appear in red since it's a destructive action. Please let me know if you'd prefer I revert this change.

Happy to make any changes based on your feedback!

cc: @ilmotta, @mariia-skrypnyk


edit: In the video the divider above the destructive action is missing, I have added that.

ajayesivan avatar May 01 '25 09:05 ajayesivan

Hey @ajayesivan !

Sorry for a such a delay in my answers! 🙏

  1. I personally like having a toast here — it gives immediate feedback that the action was successful. I’d support adding a toast when blocking a user on mobile as well, to make the experience more consistent and clear.
  2. Unfortunately, I’m not familiar with this topic either — I haven’t worked with localization beyond adding English keys. Sorry I can’t be more helpful here!
  3. I actually like that it’s red — makes sense for a destructive action.

cc @ilmotta

mariia-skrypnyk avatar May 13 '25 13:05 mariia-skrypnyk

@ajayesivan @mariia-skrypnyk on the points you asked Ajay in https://github.com/status-im/status-mobile/issues/21393#issuecomment-2844417869

  1. As long as the toast is presented only after a guaranteed successful return from the status-go endpoint I think it's good to show it.
  2. Localization will be a strong point this year. For now, please add only the English keys.
  3. I also like that it's marked as a destructive action in red.

ilmotta avatar May 14 '25 03:05 ilmotta

@mariia-skrypnyk @ilmotta Thank you for the response!

I've completed the implementation and updated the PR, and moved it to Ready for Review.

The Figma design includes an "Remove identity verification" option in the Mark as Untrusted confirmation drawer. However, I haven't implemented this part yet as I'm not sure how it's supposed to be handled.

Image

From what I can tell, it seems like this functionality isn't implemented yet - could you please confirm? If it is implemented somewhere, I’d appreciate some guidance on how to integrate it here.

Thanks!

ajayesivan avatar May 15 '25 11:05 ajayesivan

I've completed the implementation and updated the https://github.com/status-im/status-mobile/pull/22562, and moved it to Ready for Review.

Thank you. We will review the PR. FYI: no reviewers were set in that PR.

From what I can tell, it seems like this functionality isn't implemented yet - could you please confirm? If it is implemented somewhere, I’d appreciate some guidance on how to integrate it here.

The identity verification features have been descoped long ago and can be ignored from Figma. @xAlisher Figma can be updated when possible to reflect this.

ilmotta avatar May 15 '25 13:05 ilmotta

@ilmotta I can’t add reviewers. Should I request a review from the CCs who have worked on this code via a comment?

ajayesivan avatar May 16 '25 05:05 ajayesivan

@ilmotta I can’t add reviewers. Should I request a review from the CCs who have worked on this code via a comment?

I actually don't know of a way to manage this permission in GitHub. A comment based on recent changes to the files you touched is a good idea @ajayesivan. I can also add the Mobile Core GH team as reviewer, and in fact I'm going to do this now.

ilmotta avatar May 16 '25 06:05 ilmotta

Thank you! I’ll tag the relevant contributors next time.

ajayesivan avatar May 16 '25 07:05 ajayesivan