|
| 1 | +# MSC2414: Make `reason` and `score` optional for reporting content |
| 2 | + |
| 3 | +## Proposal |
| 4 | + |
| 5 | +On the [report content endpoint](https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-rooms-roomid-report-eventid) |
| 6 | +we remove the `required` flag for both the `reason` and `score` parameters, as |
| 7 | +well as the "may be blank" clause in the description of `reason`. |
| 8 | + |
| 9 | +## Rationale |
| 10 | + |
| 11 | +### `reason` Parameter |
| 12 | + |
| 13 | +Currently, the spec says that the `reason` parameter on the content reporting |
| 14 | +endpoint is required, but also says that the string "may be blank." This |
| 15 | +seems to be a contradiction. |
| 16 | + |
| 17 | +Note that the kicking and banning endpoints already have optional `reason` |
| 18 | +parameters. The other membership endpoints mentioned in |
| 19 | +[#2367][membership-endpoints] will also add optional `reason` parameters, |
| 20 | +so it would be more more consistent with the rest of the spec to make this |
| 21 | +optional as well. |
| 22 | + |
| 23 | +### `score` Parameter |
| 24 | + |
| 25 | +The spec also requires the `score` parameter, but its usefulness is limited. |
| 26 | +Offensiveness is difficult to measure and is likely not going to be applied |
| 27 | +consistently across several rooms. Because of this ambiguity, it seems, many |
| 28 | +clients [simply hard-code the integer value][hard-code]. |
| 29 | + |
| 30 | +To make this useful, for example, room administrators would need a way to map more |
| 31 | +specific values to the integer range and perhaps even instruct the client to |
| 32 | +display those mappings to the user. That may be possible to do in a closed |
| 33 | +client/homeserver implementation, but not generally across the Matrix protocol. |
| 34 | + |
| 35 | +Making `score` optional would enable this feature to be used in specific contexts |
| 36 | +while not forcing clients to support the ambiguity it brings. |
| 37 | + |
| 38 | +## Backwards Compatibility |
| 39 | + |
| 40 | +Since servers currently expect these fields to be sent by all clients, making |
| 41 | +them optional is a breaking change. Clients should check the spec versions |
| 42 | +the homeserver supports to detect this change. |
| 43 | + |
| 44 | +[membership-endpoints]: https://github.com/matrix-org/matrix-doc/pull/2367 |
| 45 | +[hard-code]: https://github.com/matrix-org/matrix-react-sdk/pull/3290/files#diff-551ca16d6a8ffb96888b337b5246402dR66 |
0 commit comments