Block a user
PWA: app-icon badge count via navigator.setAppBadge()
Delete all my messages in this room (self-service redaction of your own events)
Screen-reader announcements for call events (aria-live; invisible otherwise)
[deep dive] Full-screen image/video viewer UI/UX audit
[deep dive] Threads: full UI/UX audit + "mark all threads read"
Mobile: long-press a message opens a bottom sheet of actions (replaces the hover bar)
Windows taskbar progress bar during uploads
Lazy-load seasonal theme CSS/keyframes only when a seasonal overlay is active
Undecryptable message: show the specific reason and the one action that fixes it
Call failures in plain words: map every EC / voice-guard failure code to one sentence
[verify] Incoming ring stops on all devices once the call is answered or declined elsewhere
Missed-call entry in the timeline (local-only)
Media Gallery: opening it scrolls the room timeline into the past while it loads older media
Clock-skew warning: compare the homeserver Date header to the local clock and warn once when it is far off
Room list "N Live" indicator: hover/long-press shows who is in the call
PWA: app-icon badge count via navigator.setAppBadge()
PWA: register as an Android share target (Share → Lotus Chat)
Clear the clipboard 60 s after copying a recovery key / invite token — with a visible countdown
Rich toast: add "Mark as read" action next to Reply and Open