MSC4151: Reporting rooms (#1938)
This commit is contained in:
parent
e972e29429
commit
c74105db43
4 changed files with 82 additions and 8 deletions
|
@ -0,0 +1 @@
|
||||||
|
The `reason` parameter in `POST /_matrix/client/v3/rooms/{roomId}/report/{eventId}` can be omitted instead of left blank as per [MSC2414](https://github.com/matrix-org/matrix-spec-proposals/pull/2414).
|
1
changelogs/client_server/newsfragments/1938.new
Normal file
1
changelogs/client_server/newsfragments/1938.new
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Add `POST /_matrix/client/v3/rooms/{roomId}/report` as per [MSC4151](https://github.com/matrix-org/matrix-spec-proposals/pull/4151).
|
|
@ -5,9 +5,6 @@ Users may encounter content which they find inappropriate and should be
|
||||||
able to report it to the server administrators or room moderators for
|
able to report it to the server administrators or room moderators for
|
||||||
review. This module defines a way for users to report content.
|
review. This module defines a way for users to report content.
|
||||||
|
|
||||||
Content is reported based upon a negative score, where -100 is "most
|
|
||||||
offensive" and 0 is "inoffensive".
|
|
||||||
|
|
||||||
#### Client behaviour
|
#### Client behaviour
|
||||||
|
|
||||||
{{% http-api spec="client-server" api="report_content" %}}
|
{{% http-api spec="client-server" api="report_content" %}}
|
||||||
|
@ -19,6 +16,16 @@ This may be a dedicated room to alert server administrators to the
|
||||||
reported content or some other mechanism for notifying the appropriate
|
reported content or some other mechanism for notifying the appropriate
|
||||||
people.
|
people.
|
||||||
|
|
||||||
{{< changed-in v="1.8" >}} The server MUST verify that the user
|
Particularly during waves of harmful content, users may report whole
|
||||||
reporting the event is currently joined to the room the event is
|
rooms instead of individual events. Server administrators and safety teams
|
||||||
in before accepting a report.
|
should, therefore, be cautious not to shut down rooms that might otherwise
|
||||||
|
be legitimate.
|
||||||
|
|
||||||
|
{{< changed-in v="1.8" >}} When processing event reports, servers MUST
|
||||||
|
verify that the reporting user is currently joined to the room the event
|
||||||
|
is in before accepting a report.
|
||||||
|
|
||||||
|
{{< added-in v="1.12" >}} Contrarily, servers MUST NOT restrict room reports
|
||||||
|
based on whether or not the reporting user is joined to the room. This is
|
||||||
|
because users can be exposed to harmful content without being joined to a
|
||||||
|
room. For instance, through room directories or invites.
|
||||||
|
|
|
@ -16,6 +16,71 @@ info:
|
||||||
title: Matrix Client-Server Report Content API
|
title: Matrix Client-Server Report Content API
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
paths:
|
paths:
|
||||||
|
"/rooms/{roomId}/report":
|
||||||
|
post:
|
||||||
|
x-addedInMatrixVersion: "1.12"
|
||||||
|
summary: Report a room as inappropriate.
|
||||||
|
description: |-
|
||||||
|
Reports a room as inappropriate to the server, which may then notify
|
||||||
|
the appropriate people. How such information is delivered is left up to
|
||||||
|
implementations. The caller is not required to be joined to the room to
|
||||||
|
report it.
|
||||||
|
operationId: reportRoom
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: roomId
|
||||||
|
description: The room being reported.
|
||||||
|
required: true
|
||||||
|
example: "!637q39766251:example.com"
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
example: {
|
||||||
|
"reason": "this makes me sad"
|
||||||
|
}
|
||||||
|
properties:
|
||||||
|
reason:
|
||||||
|
type: string
|
||||||
|
description: The reason the room is being reported.
|
||||||
|
required: true
|
||||||
|
security:
|
||||||
|
- accessTokenQuery: []
|
||||||
|
- accessTokenBearer: []
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: The room has been reported successfully.
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
examples:
|
||||||
|
response:
|
||||||
|
value: {}
|
||||||
|
"404":
|
||||||
|
description: |-
|
||||||
|
The room was not found on the homeserver.
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: definitions/errors/error.yaml
|
||||||
|
examples:
|
||||||
|
response:
|
||||||
|
value: {
|
||||||
|
"errcode": "M_NOT_FOUND",
|
||||||
|
"error": "The room was not found."
|
||||||
|
}
|
||||||
|
"429":
|
||||||
|
description: This request was rate-limited.
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: definitions/errors/rate_limited.yaml
|
||||||
|
tags:
|
||||||
|
- Reporting content
|
||||||
"/rooms/{roomId}/report/{eventId}":
|
"/rooms/{roomId}/report/{eventId}":
|
||||||
post:
|
post:
|
||||||
summary: Report an event in a joined room as inappropriate.
|
summary: Report an event in a joined room as inappropriate.
|
||||||
|
@ -29,7 +94,7 @@ paths:
|
||||||
will require the homeserver to check whether a user is joined to
|
will require the homeserver to check whether a user is joined to
|
||||||
the room. To combat this, homeserver implementations should add
|
the room. To combat this, homeserver implementations should add
|
||||||
a random delay when generating a response.
|
a random delay when generating a response.
|
||||||
operationId: reportContent
|
operationId: reportEvent
|
||||||
parameters:
|
parameters:
|
||||||
- in: path
|
- in: path
|
||||||
name: roomId
|
name: roomId
|
||||||
|
@ -62,7 +127,7 @@ paths:
|
||||||
and 0 is inoffensive.
|
and 0 is inoffensive.
|
||||||
reason:
|
reason:
|
||||||
type: string
|
type: string
|
||||||
description: The reason the content is being reported. May be blank.
|
description: The reason the content is being reported.
|
||||||
required: true
|
required: true
|
||||||
security:
|
security:
|
||||||
- accessTokenQuery: []
|
- accessTokenQuery: []
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue