matrix-org / matrix-org/mjolnir

Add confirmation dialog for room shutdown (in certain cases)

Open
#474 0 comments 2 reactions 0 assignees View on GitHub
T-Enhancement
Dominant language
TypeScript
Stars
445
Forks
75
Avg merge
2d 44m
Merged PRs (30d)
3

Description

### Problem.
Recently, on a HS I moderate, due to a miscommunication we shut down an official room, because we didn't double-check the internal ID that was provided.

### Possible concerns.
In this case it wasn't malice, but I could also imagine it wouldn't be too hard to create hassle that way, e.g. by creating a bunch of rooms on an HS that obviously violate its policy and then, posing as a concerned user, provide a list of internal IDs, while mixing some legitimate ones into the list.

### Suggested solution.
It would help if in certain cases Mjolnir asked for a confirmation, first. This could include:
- if an internal ID was given, when the room has a published ID(s)
- the room is created or moderated by a user which is accepted as a moderator/admin by the Mjolnir instance
- the room has the instance's account in it

The relevant information would be provided in the response. Mjolnir could attach a `👎️` reaction to that message to easily abort, and only continue with a manually placed `👍️`, the idea being that one doesn't easily misclick to approve it.

### Noteworthy considerations.
- Being able to disable the feature as a whole or aspects of it.
- Should this be on by default? (IMO, yes.)
- A method to approve/abort for clients where reacting with an emoji wouldn't typically be easy, e.g. the CLI clients.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or concrete entry points are named. Start by locating the room-shutdown moderation flow and the handling of reactions and CLI clients; done means the specified risky cases require an explicit approval or abort, with configurable behavior and equivalent approval paths for clients that cannot easily react.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.