v2.22.0
Upgrade the server before the desktop and mobile clients.
This release adds thee2ee_enabledflag to the server list and the WS ready payload, and the
client now refuses to send when it cannot tell whether a conversation is encrypted — sending
plaintext to a server that mandates encryption is the one outcome worth blocking outright.
Against a server older than v2.22.0 the field is simply absent, so clients report that they
cannot determine the encryption state and will not send. Upgrading the server first avoids this
entirely; no data migration is involved.
New Features
- attachments: photos and videos arrive in chat as light previews instead of the full file —
a channel of images loads fast and pulls the original only when you open one. Videos carry a
poster frame with a play badge and fetch no video data until you hit play - uploads: byte-accurate progress on every attachment, and a Cancel that actually aborts the
transfer instead of only hiding it - avatars, icons, banners: downscaled on the client instead of uploading a full-resolution PNG
- mobile: attachments picked through the native gallery and camera, which is what lets a video
the browser cannot decode still get a poster frame - feedback: tickets accept video attachments (mp4, mov, webm, mkv), not just images
- voice: the screen-share panel shows live stream stats and the sharer's quality
Bug Fixes
- encryption: the server now enforces its own policy — a message must match the conversation's
encryption setting in both directions, on send and on edit; an edit across an encryption toggle
keeps the edit instead of dropping it, and the client decides encryption from the conversation
you are actually in - encryption: encrypted attachments show their preview without downloading the original
- search: messages stay searchable after a conversation is switched back to plaintext, and
results come from the server whose panel you are searching, not whichever one is active - attachments: chat thumbnails render on desktop and mobile, and cropped images and previews
upload at a fraction of their old size - sidebar: a server's verified badge and encryption state no longer vanish after the server is
updated - uploads: oversized badge icons and wallpapers are caught before the upload starts, and files
rejected for size or type say so instead of disappearing - chat: text typed while a message is still sending is no longer wiped, and the view only jumps
to the bottom when the composer grows - image viewer: drag down to dismiss — a stray tap no longer closes it
- calls: call audio keeps playing across view switches and while the app is backgrounded
- channels: a server's cached channel list is cleared when you leave or delete it
- storage: thumbnails are charged to the uploader's quota and released with the message
Performance
- servers: switching between servers is instant now — each server's channel list is cached
- chat: the composer no longer reflows on every keystroke