[Story] Add ability to report a room
Description
Element Android recently get rejected from the PlayStore due to the lack for the user to be able to report a room (reporting a specific event is already supported).
I want to be proactive on Element X and avoid having to deal with the same issue, which often force us to negotiate with Google and work in a hurry.
- As a user of Element X mobile
- I want to be able to report a room to the homeserver moderator
- So that bad content can be removed or any other actions can be taken by the moderator
Acceptance criteria
- A new action in the room setting is added so that user can report a room
Documentation
Size estimate
None
Dependencies
- None
Out of scope
- Nothing
Open questions
Subtasks
Android
- https://github.com/element-hq/element-x-android/issues/4315
iOS
- https://github.com/element-hq/element-x-ios/issues/3836
Rust
- https://github.com/matrix-org/matrix-rust-sdk/issues/4681
Other
Sign-off
Android
- [ ] Design sign-off on completion
- [ ] QA sign-off on completion
- [ ] Product sign-off on completion
iOS
- [ ] Design sign-off on completion
- [ ] QA sign-off on completion
- [ ] Product sign-off on completion
@amshakal can you please give guidance on the design?
https://github.com/element-hq/element-web/pull/29513 is the web edition, but is missing designs to progress.
The Matrix Rust SDK part has been done.
The implementation is done on iOS, but is hidden behind an FF since due to a BE issue the report room API doesn't work properly:
quoting @Half-Shot :
The TL;DR is:
Synapse removed the unstable endpoint for room reporting but does not declare 1.13 support. We can either alter ruma to do a workaround for Synapse users (use the new endpoint based on homeserver version 😥), which might not be popular or easy to maintain. Or we can ask Backend to unbreak this in Synapse going forwards.
I think it's better to unbreak Synapse 😛.
The assumption when adding the API was that the client can just call it and expect to receive an error, regardless of the supported spec versions. This is one of those features where it's better that users complain to their server owners if the button fails than hiding the button behind a version check.
This is one of those features where it's better that users complain to their server owners if the button fails than hiding the button behind a version check.
I am afraid the users are going to complain about the Element (apps) not working, instead of going to their server owners. Am I missing anything?
The API has existed for months, aside from the spec release. If people haven't updated their servers by now, they aren't likely to do so soon anyways - we can't support them forever.
The work is done client side. https://github.com/element-hq/synapse/issues/18118 remains a blocker for EX for the entire epic.