mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2024-12-25 20:19:21 -05:00
Deprecate Shutdown Room and Purge Room Admin API (#8829)
Deprecate both APIs in favour of the Delete Room API. Related: #8663 and #8810
This commit is contained in:
parent
344ab0b53a
commit
a5f7aff5e5
17
CHANGES.md
17
CHANGES.md
@ -1,3 +1,18 @@
|
|||||||
|
Synapse 1.25.0 (2020-xx-xx)
|
||||||
|
===========================
|
||||||
|
|
||||||
|
Removal warning
|
||||||
|
---------------
|
||||||
|
|
||||||
|
The old [Purge Room API](https://github.com/matrix-org/synapse/tree/master/docs/admin_api/purge_room.md)
|
||||||
|
and [Shutdown Room API](https://github.com/matrix-org/synapse/tree/master/docs/admin_api/shutdown_room.md)
|
||||||
|
are deprecated and will be removed in a future release. They will be replaced by the
|
||||||
|
[Delete Room API](https://github.com/matrix-org/synapse/tree/master/docs/admin_api/rooms.md#delete-room-api).
|
||||||
|
|
||||||
|
`POST /_synapse/admin/v1/rooms/<room_id>/delete` replaces `POST /_synapse/admin/v1/purge_room` and
|
||||||
|
`POST /_synapse/admin/v1/shutdown_room/<room_id>`.
|
||||||
|
|
||||||
|
|
||||||
Synapse 1.24.0 (2020-12-09)
|
Synapse 1.24.0 (2020-12-09)
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
@ -183,8 +198,6 @@ Internal Changes
|
|||||||
- Allow for specifying a room version when creating a room in unit tests via `RestHelper.create_room_as`. ([\#8854](https://github.com/matrix-org/synapse/issues/8854))
|
- Allow for specifying a room version when creating a room in unit tests via `RestHelper.create_room_as`. ([\#8854](https://github.com/matrix-org/synapse/issues/8854))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Synapse 1.23.0 (2020-11-18)
|
Synapse 1.23.0 (2020-11-18)
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
|
1
changelog.d/8829.removal
Normal file
1
changelog.d/8829.removal
Normal file
@ -0,0 +1 @@
|
|||||||
|
Deprecate Shutdown Room and Purge Room Admin APIs.
|
@ -1,12 +1,13 @@
|
|||||||
Purge room API
|
Deprecated: Purge room API
|
||||||
==============
|
==========================
|
||||||
|
|
||||||
|
**The old Purge room API is deprecated and will be removed in a future release.
|
||||||
|
See the new [Delete Room API](rooms.md#delete-room-api) for more details.**
|
||||||
|
|
||||||
This API will remove all trace of a room from your database.
|
This API will remove all trace of a room from your database.
|
||||||
|
|
||||||
All local users must have left the room before it can be removed.
|
All local users must have left the room before it can be removed.
|
||||||
|
|
||||||
See also: [Delete Room API](rooms.md#delete-room-api)
|
|
||||||
|
|
||||||
The API is:
|
The API is:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
|
# Contents
|
||||||
|
- [List Room API](#list-room-api)
|
||||||
|
* [Parameters](#parameters)
|
||||||
|
* [Usage](#usage)
|
||||||
|
- [Room Details API](#room-details-api)
|
||||||
|
- [Room Members API](#room-members-api)
|
||||||
|
- [Delete Room API](#delete-room-api)
|
||||||
|
* [Parameters](#parameters-1)
|
||||||
|
* [Response](#response)
|
||||||
|
* [Undoing room shutdowns](#undoing-room-shutdowns)
|
||||||
|
|
||||||
# List Room API
|
# List Room API
|
||||||
|
|
||||||
The List Room admin API allows server admins to get a list of rooms on their
|
The List Room admin API allows server admins to get a list of rooms on their
|
||||||
@ -357,8 +368,6 @@ Response:
|
|||||||
|
|
||||||
The Delete Room admin API allows server admins to remove rooms from server
|
The Delete Room admin API allows server admins to remove rooms from server
|
||||||
and block these rooms.
|
and block these rooms.
|
||||||
It is a combination and improvement of "[Shutdown room](shutdown_room.md)"
|
|
||||||
and "[Purge room](purge_room.md)" API.
|
|
||||||
|
|
||||||
Shuts down a room. Moves all local users and room aliases automatically to a
|
Shuts down a room. Moves all local users and room aliases automatically to a
|
||||||
new room if `new_room_user_id` is set. Otherwise local users only
|
new room if `new_room_user_id` is set. Otherwise local users only
|
||||||
@ -455,3 +464,30 @@ The following fields are returned in the JSON response body:
|
|||||||
* `local_aliases` - An array of strings representing the local aliases that were migrated from
|
* `local_aliases` - An array of strings representing the local aliases that were migrated from
|
||||||
the old room to the new.
|
the old room to the new.
|
||||||
* `new_room_id` - A string representing the room ID of the new room.
|
* `new_room_id` - A string representing the room ID of the new room.
|
||||||
|
|
||||||
|
## Undoing room shutdowns
|
||||||
|
|
||||||
|
*Note*: This guide may be outdated by the time you read it. By nature of room shutdowns being performed at the database level,
|
||||||
|
the structure can and does change without notice.
|
||||||
|
|
||||||
|
First, it's important to understand that a room shutdown is very destructive. Undoing a shutdown is not as simple as pretending it
|
||||||
|
never happened - work has to be done to move forward instead of resetting the past. In fact, in some cases it might not be possible
|
||||||
|
to recover at all:
|
||||||
|
|
||||||
|
* If the room was invite-only, your users will need to be re-invited.
|
||||||
|
* If the room no longer has any members at all, it'll be impossible to rejoin.
|
||||||
|
* The first user to rejoin will have to do so via an alias on a different server.
|
||||||
|
|
||||||
|
With all that being said, if you still want to try and recover the room:
|
||||||
|
|
||||||
|
1. For safety reasons, shut down Synapse.
|
||||||
|
2. In the database, run `DELETE FROM blocked_rooms WHERE room_id = '!example:example.org';`
|
||||||
|
* For caution: it's recommended to run this in a transaction: `BEGIN; DELETE ...;`, verify you got 1 result, then `COMMIT;`.
|
||||||
|
* The room ID is the same one supplied to the shutdown room API, not the Content Violation room.
|
||||||
|
3. Restart Synapse.
|
||||||
|
|
||||||
|
You will have to manually handle, if you so choose, the following:
|
||||||
|
|
||||||
|
* Aliases that would have been redirected to the Content Violation room.
|
||||||
|
* Users that would have been booted from the room (and will have been force-joined to the Content Violation room).
|
||||||
|
* Removal of the Content Violation room if desired.
|
@ -1,4 +1,7 @@
|
|||||||
# Shutdown room API
|
# Deprecated: Shutdown room API
|
||||||
|
|
||||||
|
**The old Shutdown room API is deprecated and will be removed in a future release.
|
||||||
|
See the new [Delete Room API](rooms.md#delete-room-api) for more details.**
|
||||||
|
|
||||||
Shuts down a room, preventing new joins and moves local users and room aliases automatically
|
Shuts down a room, preventing new joins and moves local users and room aliases automatically
|
||||||
to a new room. The new room will be created with the user specified by the
|
to a new room. The new room will be created with the user specified by the
|
||||||
@ -10,8 +13,6 @@ disallow any further invites or joins.
|
|||||||
The local server will only have the power to move local user and room aliases to
|
The local server will only have the power to move local user and room aliases to
|
||||||
the new room. Users on other servers will be unaffected.
|
the new room. Users on other servers will be unaffected.
|
||||||
|
|
||||||
See also: [Delete Room API](rooms.md#delete-room-api)
|
|
||||||
|
|
||||||
## API
|
## API
|
||||||
|
|
||||||
You will need to authenticate with an access token for an admin user.
|
You will need to authenticate with an access token for an admin user.
|
||||||
|
Loading…
Reference in New Issue
Block a user