|
| 1 | +# Contents |
| 2 | +- [List Room API](#list-room-api) |
| 3 | + * [Parameters](#parameters) |
| 4 | + * [Usage](#usage) |
| 5 | +- [Room Details API](#room-details-api) |
| 6 | +- [Room Members API](#room-members-api) |
| 7 | +- [Delete Room API](#delete-room-api) |
| 8 | + * [Parameters](#parameters-1) |
| 9 | + * [Response](#response) |
| 10 | + * [Undoing room shutdowns](#undoing-room-shutdowns) |
| 11 | + |
1 | 12 | # List Room API
|
2 | 13 |
|
3 | 14 | The List Room admin API allows server admins to get a list of rooms on their
|
@@ -357,8 +368,6 @@ Response:
|
357 | 368 |
|
358 | 369 | The Delete Room admin API allows server admins to remove rooms from server
|
359 | 370 | and block these rooms.
|
360 |
| -It is a combination and improvement of "[Shutdown room](shutdown_room.md)" |
361 |
| -and "[Purge room](purge_room.md)" API. |
362 | 371 |
|
363 | 372 | Shuts down a room. Moves all local users and room aliases automatically to a
|
364 | 373 | 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:
|
455 | 464 | * `local_aliases` - An array of strings representing the local aliases that were migrated from
|
456 | 465 | the old room to the new.
|
457 | 466 | * `new_room_id` - A string representing the room ID of the new room.
|
| 467 | + |
| 468 | +## Undoing room shutdowns |
| 469 | + |
| 470 | +*Note*: This guide may be outdated by the time you read it. By nature of room shutdowns being performed at the database level, |
| 471 | +the structure can and does change without notice. |
| 472 | + |
| 473 | +First, it's important to understand that a room shutdown is very destructive. Undoing a shutdown is not as simple as pretending it |
| 474 | +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 |
| 475 | +to recover at all: |
| 476 | + |
| 477 | +* If the room was invite-only, your users will need to be re-invited. |
| 478 | +* If the room no longer has any members at all, it'll be impossible to rejoin. |
| 479 | +* The first user to rejoin will have to do so via an alias on a different server. |
| 480 | + |
| 481 | +With all that being said, if you still want to try and recover the room: |
| 482 | + |
| 483 | +1. For safety reasons, shut down Synapse. |
| 484 | +2. In the database, run `DELETE FROM blocked_rooms WHERE room_id = '!example:example.org';` |
| 485 | + * For caution: it's recommended to run this in a transaction: `BEGIN; DELETE ...;`, verify you got 1 result, then `COMMIT;`. |
| 486 | + * The room ID is the same one supplied to the shutdown room API, not the Content Violation room. |
| 487 | +3. Restart Synapse. |
| 488 | + |
| 489 | +You will have to manually handle, if you so choose, the following: |
| 490 | + |
| 491 | +* Aliases that would have been redirected to the Content Violation room. |
| 492 | +* Users that would have been booted from the room (and will have been force-joined to the Content Violation room). |
| 493 | +* Removal of the Content Violation room if desired. |
0 commit comments