Tuple's Big Refactor (v0.79)

Earlier today, we released version 0.79 of Tuple with massive under-the-hood changes:

diff stat of main PR

In it, we overhauled Tuple’s low-level signaling code (responsible for handling connections between clients).

This has a few user-facing benefits:

  • Snappier UI responses due to better use of threads.
  • Two users calling each other at the same time will now successfully connect.
  • Fewer availability bugs (like not seeing someone online when they’re connected).
  • Fewer crashes.

This also has some great things for us as Tuple’s developers:

  • Lots of new automated tests.
  • Code that’s far easier to reason about.
  • Better decoupling of UX and underlying signaling code.
  • A much better foundation on which to build our next set of features.

If you’d like to hear more of the details, I recorded this walkthrough with engineer Mikey:

We’re excited to have this release live, but even more excited by what it’s going to let us build in the future.

Two other quick items:

  • We have a beta version of a Slack integration! Now you can /tuple @coworker to kick off a call from a DM. Please give it a try and let us know how it can be better.
  • We’re dropping High Sierra support from Tuple on November 1st, when Apple is expected to stop issues security updates for it. You’ll need to update your OS before then if you’d like to keep using Tuple.

If you’re already a Tuple user, you’ll receive this update automatically (or can download the latest version here).

If you haven’t created a Tuple account, you can sign up for a free trial here.