matrix-org / matrix-org/matrix-spec
Clearing messages from a room without deleting the whole room
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
**Is your suggestion related to a problem? Please describe.**
I'm always frustrated when I want to clear all messages in a chat to just remove the whole history, and to delete my data.
It may be encrypted etc., but deleted is better than encrypted.
Just so that I may want to "forget" (but technically secure, i.e. delete) things I have written once. Just as oral communication is not always permanent.
I know I could choose each of my message and delete it one-by-one, but that is obviously not possible in large chats.
**Describe the solution you'd like**
A button in the menu:
* "Clear whole chat."
* When choosing it a big warning that makes me aware that it really **deletes** all the data. Maybe even make me enter some random word (or the name of the chat/room) you choose, or so like when you try to delete a GitHub repo.
* Delete whole chat history **for me only**. (Because of course I cannot force other people to delete their history.)
**Describe alternatives you've considered**
I know I can leave the room and all other persons too, but AFAIK the room is still not deleted (automatically) then. (Sorry, cannot find the corresponding issue right now.)
Implementation alternative: If that is too much for rooms with many members, I guess private chats which are affected by this may only likely be 1:1 (DM) and e2e-encrypted chats.
So you could also limit deleting messages to these chats.
**Possibly** you could also make all members in a room/chat top agree to a deletion and then delete it for _all of them_, i.e. "consensus"-like. (Of course _everyone_ has to agree.) Button could be named "Request chat deletion [from members]".
(In my use cases likely all members want it to be deleted. If only one wants it, they can just leave the room, because then they likely just "don't want to see it". This is a different use case than "I/We want it to be deleted." though, see GDPR below.)
Also if you want to highlight the destructiveness of this, you may also call it "destroy room".
**Additional context**
This may be GDPR-relevant, because it includes the "right to be forgotten", i.e. you may delete your data at any time.
Possibly, you can do so for your whole account already, but IMHO, it also implied you should be able to delete a single chat.
---
originally created at https://github.com/vector-im/riot-web/issues/14401
Contributor guide
Research direction
No file, test, or entry point is named. First clarify whether this belongs in the Matrix specification and define the protocol semantics for clearing one user's local history versus requesting deletion for all members; use the original Riot issue linked in the body as context. Done means an agreed, implementable scope and acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100