Repository navigation
Strafe Desktop v1.3.2
Reload during a call and you can still hear everyone
Calls hand out an encryption key whenever the people in the room change, and "the people in
the room" was counted by account. Refresh the page or restart the app mid-call and you came
back as the same account on a new session, so nobody sent you a key: you sat on "waiting for
encryption keys", unable to hear anyone already in the call, until somebody else happened to
join or leave. Membership is now counted per session, so a key reaches you as soon as you are
back.
Also in 1.3.x, for Linux: calls carry audio at last. The bundled web engine needed six
fixes before a call could send anything — the largest being WebRTC encoded transforms, which
WebKitGTK has never implemented, so the end-to-end encryption calls rely on silently did
nothing and desktop and browser threw each other's audio away — and the app now carries the
crypto modules SRTP loads at runtime, without which it could not encrypt a single packet. The
microphone, speaker and camera pickers are populated too, and the microphone goes through the
same echo cancellation, noise suppression and gain control a browser applies.
Calls stay end-to-end encrypted, as on the web.