Riot.im Web 0.14 is 🎆HERE🎆!!!

After far too long a wait, Riot.im 0.14 is here (landing in conjunction with Synapse 0.27.3) and it’s a big one! We’re landing (big breath in): community filters, publicly-joinable communities, E2E stability across multiple tabs, E2E key re-request UX, granular settings, performance and memory footprint refactors, a new ‘Status’ theme and a whole bunch of languages! *phew* 😅!

What are these great new community features?

Glad you asked! First up we’ve got community filters — a new feature which makes it much easier to engage with multiple communities in Riot.im.

On the far left of the interface you’ll see a list of all the communities you’ve joined (if you’ve not joined a community yet, take a look at the publicly-joinable communities section below). Click on a community avatar to filter your room list to just the rooms and direct chats that are associated with that community!

Just the members of and rooms associated with the prestigious Example Community

You can reorder the communities by dragging and dropping:

And finally you can can remove communities by selecting the ‘remove’ option from the (…) ellipsis menu, and you can (re)add communities by dragging them in from the communities home page:

This feature is the first step towards making the enormity of the Matrix universe more managable for the individual user. It will continue to evolve over time — your feedback is (as always) very welcome!

Publicly-Joinable Communities

Next up are publicly-joinable communities. Community admins can now set their communities to be joinable by everyone without an invitation. Why not try this feature out for yourself and join +community:matrix.org right now?

Push the button

Just navigate to the community’s home page, click on the big obvious button and BOOM — you’re the newest member of the Matrix Community!

+community:matrix.org brings together all of the Matrix rooms in one place — big thanks go to Simó Albert i Beltran for curating this community thus far (and allowing us to piggy back on it)!

If you’re a community admin and you’d like to enable this for your community, just enable the option in the community settings:

It ain’t rocket science

Okay now tell me about those E2E improvements!

We’ve done a huge amount of work behind the scenes for what should be an almost completely invisible change, except that end-to-end encryption should now be much more stable, especially when you have multiple Riot.im tabs open at the same time.

You might also occasionally notice a new feature we’ve added to support re-requesting E2E encryption keys from your other devices. If your device cannot decrypt a message, it will check with your other devices to see if they have a copy of the necessary key. If that first request fails to find a copy, the ‘unable to decrypt’ warning now includes a button for you to re-trigger the key share request manually.

What are Granular Settings?

Another largely behind-the-scenes change (for now) has been the complete rework of how settings are stored within Riot.im web. Thanks go to Travis for this mammoth effort!

Granular settings (as the name suggests) allows much more fine-grained control over your Riot.im experience, supporting your choosing different values for Riot.im’s myriad configuration options (URL preview, typing notifications, etc.) on a per room/device basis.

We don’t yet have the UI to reap the full benefit of this rich configurability, but watch this space for updates! (And let us know if you’re interested in helping out…)

Memory Footprint and Performance Improvements

As regular users of our bleeding-edge development deployment will know, Riot.im’s performance and memory footprint took a dramatic hit as we worked towards 0.14 😭.

After a concerted effort, however, the performance profile is now better even than before, on the order of ~30% improved on 0.13.

An artist’s impression of Riot.im’s memory footprint between 0.13 and 0.14

What’s the Status Theme?

Our very good friends over at Status use Riot.im as their daily chat platform, and their designers provided us with a lovely new theme (in Status-brand colours) for Riot.im. I’ve used the Status theme for all of the screen shots in this blogpost — to enable it for yourself just go into user settings!

That’s all for now!

The gory details are in the full changelogs for riot-web, matrix-react-sdk and matrix-js-sdk. If you run your own Riot.im + Synapse you’ll want to upgrade to the latest Synapse (0.27.3) to take advantage of all the new features.

And as always: thank you for using Riot.im! Your feedback continues to be hugely valuable (and we do always listen, even if we can’t act on it right away) so please keep it coming either via github or over at #riot:matrix.org. Have fun 😀