How many refactors does it take to overhaul the entire Session code base? Well, 3 — one for iOS, one for Android… and now, one for Desktop. That’s right — the Desktop client refactor is DONE! You can download it right now! Although this might seem like ‘just another refactor’, it will actually bring huge reliability benefits on all platforms, as well as making it much easier for us to forge ahead with new features and fixes.
Refactor aside, Session is becoming quite the polyglot — we’ve brought French, German, and Russian language versions to Android. New language versions are coming in hard and fast at the moment, and as per usual, we’d love to hear your thoughts on how to make these translations as amazing as possible!
Now let’s get to the good bit — the update list.
Completing the trilogy: Desktop refactor
Closed groups are a core part of Session — but if you’ve invited any Desktop users to your closed groups lately, you might have noticed messages weren’t being delivered to everyone successfully. This really defeats the whole point of having a group chat, but the Desktop refactor will mean everyone in your closed group gets the memo.
- Protocol-level overhaul and refactor. Desktop
- Fixed a session handling bug that could occur in closed groups. iOS, Android
Even if you’ve been using the freshly-refactored iOS and Android versions of Session, you still might’ve been left wondering why messages still weren’t delivering consistently. Well, Desktop still had a lot of problems sending and receiving messages, but (once again) the Desktop refactor should clear those issues up for EVERYONE!
- Protocol level overhaul and refactor. Desktop
For most folks out there, multi-device means linking your computer and your phone. Although Android and iOS have already gotten a lot of device linking updates, Desktop was still waiting for its round of multi-device fixes. Now that the Desktop refactor is out in the wild, multi-device should be a lot more reliable across the board.
- Protocol level overhaul and refactor. Desktop
- Fixed an issue that prevented devices linking. Android
If you’ve ever regretted adding someone on Session, you probably noticed there isn’t an easy way to block someone. Friend requests acted as a bit of a filter, but after accepting the request — you could be left open to spam or harassment. That’s why we’ve decided to replace the friend request system with contact blocking functionality.
- Added ability to block other users. Desktop, Android
- Removed friend requests. Desktop, Android
Hallo! Bonjour! Privet! We’ve added three new language versions for Session — German, French, and Russian.
- Translated the app into German, French and Russian. Android
Some users were reporting lots and lots and lots of notifications flying in as soon as they launched the app. With this update, Session should keep its cool — it’ll only send you notifications when you actually have a new message.
- Prevent repeated notifications after user is offline for extended period. Android
There was one other notification bug causing a couple of different issues on Android. Firstly, it meant Android users with background polling notifications were… never getting notifications. Ever. And people using Firebase notifications were experiencing very fast battery drain. Worst of both worlds! We’ve squashed this bug now, so these notification issues should be fixed on Android.
- Fixed high battery usage when using Firebase notifications. Android
- Users will now receive notifications when using background polling. Android
We’ve rolled out a few fixes for in-chat mentions lately, and we’re pretty happy with the way they’re functioning. However, iOS mentions were working differently to Android and Desktop, which could be confusing to people using Session across multiple platforms. With that in mind, we’ve changed iOS mentions — they’ll now behave the same way as other platforms.
- Modified mentions behaviour to bring it in line with other platforms. iOS
Refactor: Complete. Development: Steaming ahead.
Session’s freshly refactored codebases on all three platforms have laid the foundation for a whole new world of future improvements. These refactors bring bug fixes, reliability improvements, and performance improvements straight away — but the real benefits are yet to be realised.
Another change we’ve decided to make to expedite development is to bench friend requests. Don’t worry — friend requests aren’t gone forever, they’ll likely return as an optional feature in the future. But in their current implementation, friend requests were introducing more issues than they solved. In this Desktop update, a new contact blocking feature replaced friend requests, and we’ll be making that same change on iOS and Android soon.
We’ve got some more language versions coming up soon, including Persian! This one is a little different to all of our other language translations, because Persian is written from right-to-left, whereas all the other languages we’ve added to Session so far are written left-to-right. This means some extra work will be required to get Persian purring along, but once that’s done, it’ll pave the way for adding other RTL languages in future. As always, if you want to see Session translated into your language, be sure to let us know on one of our social channels!
We’re also still hammering away at shared sender keys for closed groups. Shared sender keys will drastically improve closed groups in several ways, including performance upgrades and a higher cap on closed group member numbers.
Getting the code refactors done for iOS, Android, and Desktop has been a monumental task. We’ve been working on it for weeks and weeks now, and we couldn’t have done it without the ongoing feedback and support from the community. Making a kickass messenger without analytics is a tough job — and without your help, bug fixes, UI upgrades, and performance improvements would be a lot harder to come by.
We’re listening carefully to all of the problems you’re having and all of the features you want to see in Session. Now that the refactors are done, we can shift focus to implementing the new features and fixes you’ve all been waiting for.
Catch you on the flip side!
The Session team