Goal
Improve the end-to-end encryption (E2EE) user experience so that verification
state is clear and media handling is predictable.
This is based on real user feedback:
- Session verification appears inconsistent vs Element.
- Emoji comparison UI is not shown (or does nothing).
- Image uploads/messages may not render until switching rooms.
- Decryption failures show a raw error message.
Scope
- Verification UX
- Ensure Decentra’s verification state matches the underlying crypto state.
- Provide a clear UI entry point to verify the current session/device.
- When verification is required, show an explicit prompt and a working flow.
- Add an Element-like hint/badge for content coming from an unverified session
(at minimum for images/attachments; ideally also for encrypted messages).
- Media rendering reliability
- Fix image/attachment events not appearing immediately after send/receive.
- Ensure media thumbnails/previews update without requiring a room switch.
- Error messaging
- Replace “encrypted message could not be decrypted” style raw errors with a
user-friendly state + action hints (e.g. retry, wait for keys, verify).
Acceptance Criteria
Test Checklist
Unit
Integration
E2E
Notes
- Element displays media with a hint about the unverified session; Decentra
should implement a comparable hint/badge.
Branch
feature/verification-media-ux
Goal
Improve the end-to-end encryption (E2EE) user experience so that verification
state is clear and media handling is predictable.
This is based on real user feedback:
Scope
(at minimum for images/attachments; ideally also for encrypted messages).
user-friendly state + action hints (e.g. retry, wait for keys, verify).
Acceptance Criteria
possible.
manual room switch required).
non-blocking warning similar to Element (e.g. “Session not verified”).
raw technical strings to end users.
Test Checklist
Unit
Integration
E2E
Notes
should implement a comparable hint/badge.
Branch
feature/verification-media-ux