Skip to content

v2.22.0

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Jul 20:28

v2.22.0

Upgrade the server before the desktop and mobile clients.
This release adds the e2ee_enabled flag 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