fix(forward): warn when forwarding out of an encrypted room into one that is not (#330) #400

Merged
jared merged 1 commits from fix/forward-encryption-warning into lotus 2026-10-18 05:05:18 -04:00
Owner

Refs #330. This adds the warning. The issue's other suggestion, an "Include original sender" toggle, is a product choice and stays open.

Forwarding a message from an encrypted room into an unencrypted one posts the text, and a re-uploaded plaintext attachment, where the server and everyone in that room can read it, together with the original author's ID. The dialog said nothing.

Change: when the source room is encrypted and any picked destination isn't, a note above Send says:

Zebra Lounge isn't encrypted. The forwarded message (and any attachment) will be readable by the server and everyone in that room, along with who originally wrote it.

With several unencrypted picks it reads "N of the rooms you picked aren't encrypted…". It uses the room name the user sees, including "Rename for me" names.

Verified in Chromium: sent a message in the encrypted e2ee-lab room, chose Forward, and picked Zebra Lounge, which is unencrypted. The note above appears (screenshot below). Unit tests cover the cases: no note from an unencrypted source, none with no unencrypted destination, and the one- and many-room wording.

tsc clean · unit tests pass · ESLint clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5

Refs #330. This adds the warning. The issue's other suggestion, an "Include original sender" toggle, is a product choice and stays open. Forwarding a message from an **encrypted** room into an **unencrypted** one posts the text, and a re-uploaded plaintext attachment, where the server and everyone in that room can read it, together with the original author's ID. The dialog said nothing. **Change:** when the source room is encrypted and any picked destination isn't, a note above **Send** says: > Zebra Lounge isn't encrypted. The forwarded message (and any attachment) will be readable by the server and everyone in that room, along with who originally wrote it. With several unencrypted picks it reads "N of the rooms you picked aren't encrypted…". It uses the room name the user sees, including "Rename for me" names. **Verified** in Chromium: sent a message in the encrypted e2ee-lab room, chose Forward, and picked Zebra Lounge, which is unencrypted. The note above appears (screenshot below). Unit tests cover the cases: no note from an unencrypted source, none with no unencrypted destination, and the one- and many-room wording. `tsc` clean · unit tests pass · ESLint clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
jared added 1 commit 2026-10-17 23:41:04 -04:00
fix(forward): warn when forwarding out of an encrypted room into one that is not (#330)
CI / Build & Quality Checks (pull_request) Successful in 3m42s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 17s
CI / Playwright smoke (e2e) (pull_request) Successful in 13m6s
be71931a81
Forwarding from an encrypted room into an unencrypted one posts the text
(and a re-uploaded plaintext attachment) where the server can read it,
with the original author attached, and the dialog said nothing. Show a
note above Send naming the unencrypted destination(s).

Refs #330

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
Author
Owner

forward warning

![forward warning](https://code.lotusguild.org/attachments/68291be0-9208-4976-a391-9e03be5aad2b)
jared merged commit 0ebf7f0806 into lotus 2026-10-18 05:05:18 -04:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#400