RocketChat / RocketChat/Rocket.Chat

feat: Add E2EE key loss warning when leaving or deleting an encrypted room

Open
#41,359 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

type: feature
Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

Proposed changes (including videos or screenshots)

Currently, when a user leaves or deletes an E2EE encrypted room in Rocket.Chat, their local encryption keys for that room are deleted from their client keychain.

If this user was the last active participant holding the room key, or if other members have not safely stored their keys, the historical message content of that room becomes permanently unreadable for everyone. Currently, there is no prominent warning notifying the user of this key loss during these actions.

We propose adding a clear warning message inside the Leave Room and Delete Room confirmation modals when the target room is E2E encrypted (room.encrypted === true).

Issue(s)

(None - this is a new proposal/feature request)

Steps to test or reproduce

  1. Enable End-to-End Encryption (E2EE) in your workspace settings.
  2. Create an encrypted 1-to-1 DM or Private Channel.
  3. Open the Room Info context bar and click Leave or Delete.
  4. Notice that the confirmation dialog does not present any warnings about deleting local encryption keys or permanent history loss.

Further comments

This will significantly improve user awareness and prevent accidental key and data loss in production workspaces.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Leave Room and Delete Room confirmation modals and trace how they determine whether a room is encrypted. Add a warning for encrypted rooms covering local key deletion and possible permanent history loss, then verify that it appears for both actions and not for unencrypted rooms.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, security
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.