Mac Changelog

Check out the latest features and goodies that our team has shipped.

v0.97.0

Added

  • In-call notifications now play a sound.
  • Webcams have their own section in preferences.

Changed

  • Webcam previews can be turned off.
  • Unified macOS to use the new cross platform engine.

Fixed

  • Certain key combinations between US and Swedish layouts.
  • Control+left click will now clear away paint.

v0.96.2

Fixed

  • Crash related to new health check feature when one participant was reconnecting.

v0.96.1

Fixed

  • Crash when opening preferences.

v0.96.0

Added

  • Connectivity stats view to the menu bar UI when in a call.
  • Ability to request to join calls which are in progress.
  • UI to ask call participants to share their webcam/screen.
  • UI shows which user is currently signed in.

Fixed

  • Removing a friend not being reflected in the UI immediately.
  • Remote scrolling is now compatible with Xcode’s view debugger.
  • Allow selecting display over full screen apps.
  • Found bug with audio dropping during a call.

Changed

  • Set a minimum FPS on screen capturer to keep the pipes warm.
  • Now using PKCE authentication flow based on security researcher feedback.

v0.95.0

Added

  • New preference to toggle showing the call feedback form
  • Option to suggest a reaction in the reactions list. Send us your best reaction suggestions!

Fixed

  • Tuple should now work more reliably in certain VPN environments.
  • Prevent multiple call feedback forms from popping up.
  • Friends no longer disappear when they go offline.

v0.94.0

Added

  • Button to stop sharing your screen in the display dropdown.
  • Slight delay before command+w can dismiss an incoming call.
  • Ability to see who your friends are pairing with
  • Preference to opt-out (General > Show my friends who I'm pairing with)

Fixed

  • Crash when trying to enable webcam with multiple devices with the same name.
  • U.S. International - PC layout users can send the dead key characters.
  • Unusable “Add Participant to Call” view when sharing webcam on a small display.
  • Host’s cursor still showing after leaving the shared area in tag-team mode.

v0.93.0

Security

  • Minor fixes based on feedback from recent penetration test.
  • Add stricter validations on URLs sent from guest to host.

v0.92.3

Fixed

  • Xcode shortcuts for Japanese/Chinese keyboard layouts.
  • Host’s cursor position not getting sent to guests when sharing an external display.
  • Audio echo which could happen when the third peer leaves a call.

Added

  • A new configurable hotkey to quickly open the Tuple popover in the status bar.

v0.92.2

Fixed

  • Crash related to Firebase dependency we needed to patch.
  • Crash related to screen switching.
  • Improvements to Japanese keyboard layouts.

v0.92.0

Added

  • Receiving a peer’s webcam while hosting is now up to 3x more efficient.
  • A soothing spinner when waiting for a pair’s screen to appear.
  • Pairs who disconnect unexpectedly will be called back automatically.

Changed

  • Optimized video encoding pipeline for faster encoding/rendering times.

Fixed

  • Resolved a bug that could cause a crash immediately after accepting a call.
  • Typing in a help dropdown when controlling your pair’s computer should work in most cases.
  • Navigating a context menu with arrows keys should no longer cause the menu to freeze.
  • Typing in a Virtualbox VM when controlling your pair’s computer should work.
  • Dvorak command+shift+- and command+shift+= now do the right thing.
  • Spanish ISO keyboard users can type characters that require the option key into VIM when the host is also using Spanish ISO.
  • The “Share Webcam” button will no longer appear when you’re already sharing your webcam.
  • Reduced time to begin rendering remote screens under certain conditions.
  • Resolved a bug that could crash your pair when the host’s cursor image changed.

v0.91.0

Fixed

  • The incoming call modal will correctly pop up in front of other active applications
  • No longer become unresponsive when waking from sleep.
  • No longer become unresponsive when a macOS system service is down.

Added

  • New ASCII table flip animation for when things get frustrating (╯°□°)╯︵ ┻━┻

v0.90.1

Fixed

  • Crashes related to a new dependency we added.
  • The “audio mic unavailable” alert should no longer incorrectly pop up for folks on iMacs.

v0.90.0

Added

  • New warning for when the built-in microphone is being used and laptop clamshells are closed.
  • Experimental beta presence side car which can be enabled in Preferences > Debug > Use New Signaling.
  • Hotkey for quickly opening Call Stats.
  • A new button to quickly share your webcam when someone else shares theirs with you.

Changed

  • Reduced the CPU usage in capture code by ~20-40% on average. We’re now leveraging the GPU even more and reducing unnecessary work on CPU. Huzzah!
  • The “Send Link” button on the guest toolbar will now be disabled when the host has automatic link sending disabled

Fixed

  • Minor layout bug in the preferences.
  • Controlling a pair’s screen while using the Dvorak layout will now respect modifier keys (like control).
  • We now respect cmd + option + c and cmd + option + x key combos.
  • Tuple will no longer remain active after a call ends on Big Sur when the open url window is open.
  • Better detection of audio device changes when using devices with zero channels.

v0.89.0

Changed

  • To avoid confusion, ‘End Call’ button will now say ‘Leave Session’ when in a multi-participant call.

Fixed

  • Audio could occasionally cut out due to a race condition when adding a new bluetooth device.
  • ‘Do Not Disturb’ should now work properly on Big Sur (macOS 11.5>, please upgrade if on lower Big Sur version).

Added

  • Autosave name to our status icon in hopes of working with Vanilla.app more effectively.

v0.88.0

Fixed

  • Webcam windows can now be made larger for real (lol git merge, sorry folks).

v0.87.0

Fixed

  • Bug related to signing in with incorrect team owner.
  • Edge cases around presence being off.

Added

  • New celebration mode called ‘Ship It’

v0.86.2

Fixed

  • The wrong alert was shown when someone didn’t pick up a call.
  • Reconnection logic which could have caused you to stay offline.

Changed

  • Webcam windows can now be made larger.

v0.86.1

Added

  • Missed call notifications.

v0.86.0

Added

  • Webcam support for multiple people.
  • Screen switching for multiple people.
  • Audio-only calls for multiple people.
  • New menu bar UI!

Fixed

  • Calls no longer end when certain peers are disconnected.
  • Popover UI now correctly tracks its hover state.
  • Screen sharing uses less CPU after a pair’s webcam is turned off.
  • Bug where Tuple wouldn’t remember your preferred audio device.

Changed

  • Calls no longer end when you close your pair’s shared screen window.
  • Tuple’s Dock icon stays visible while in a call.
  • Anyone can add/remove a third person to a call.
  • Anyone receiving a pair’s screen can restart the call.
  • Sharing your screen while your pair shares their webcam is now 10% faster.

v0.85.1

Fixed

  • Resolved bug where the popover could get stuck in a ‘Connecting…’ screen.

v0.85.0

Added

  • Sign-in now uses your browser to make it easier to get started.
  • New UI for requesting missing permissions.
  • Hotkey for being able to quickly hang up a call.

Fixed

  • Bug with showing disconnected window too eagerly.

v0.84.1

Fixed

  • Partial screen selection toolbar is now clickable when covered by the current selection.
  • Screen sharing after switching GPUs on MBP/Big Sur will no longer get stuck in an error loop.

v0.84.0

Added

  • We now support partial screensharing.

Changed

  • Webcam streams now scale to fill the window (on the receiving side).
  • Tuple now connects much quicker after losing internet access.
  • Tuple launches a bit faster than before.
  • Auto-login now waits for your internet to be reachable.
  • Errors which occur during sign-in are now a bit more precise.

Fixed

  • Crash which could occur if on a network which hijacks HTTP responses (e.g. public WiFi with a web login interface).
  • Regression where friends who are your teammates would also appear in the teammates section.
  • Fixed bug where Tuple may need to be restarted after waking up from sleep.
  • Friends who are busy on a call are now shown consistently in the UI.
  • Failed SSO logins no longer put the app in an unusable state.
  • Contact list is now more responsive for large teams.

v0.83.1

Added

  • We now support cmd + x to ‘cut’ content from one machine to the other.

v0.83.0

Added

  • Tuple now recognizes virtual webcams. Tools like camo should now work with Tuple.
  • Improved copy/paste between machines. You can now cmd + c and cmd + v to sync content between machines.

Fixed

  • Webcam capturing now uses less CPU by sharing GPU memory. Additionally, start up time for webcams should be much snappier.
  • Sometimes Tuple windows were unclickable after transitioning to the foreground.
  • Adding an observer now works much more reliably.
  • Mouse events outside the contents of a call window are now properly ignored.
  • When the ‘Play ringtones’ setting is turned off you’ll no longer hear the connection connected/dropped noises.
  • Cursor is no longer hidden while painting in full-screen call windows.
  • Popover offset on Big Sur will be properly centered.
  • Popover arrow will now match the correct purple color.
  • Issue where you could no longer scroll popover after viewing Headway on Big Sur.

Changed

  • Send clipboard feature has transformed into a send url feature. URLs will continue to automatically open when the host has the setting turned on.
  • The default cursor mode will be multi-way for new folks using Tuple.
  • Moved internal networking APIs and models to C++ in preparation for the Linux app.
  • Tuple now only supports macOS 10.14.4+.

v0.82.3

Fixed

  • Memory no longer leaks while in a call or when transitioning online/offline.
  • Issue where a black screen would appear if the host’s GPU switched while sharing.
  • Regression where preferred audio device(s) were ignored after the first call if they weren’t Bluetooth.

Changed

  • Improved app update flow in the background so folks will be disrupted less when new versions of Tuple are released (will start in V83).

v0.82.2

Fixed

  • Issue leading to one key stroke being multiplied into many.

v0.82.1

Added

  • Double click when in paint mode will show the old highlight circle animation
  • Highlight click is back!
  • Celebration will shoot out snowflakes for the rest of the month! Happy holidays everyone.

Removed

  • Audio will never pan right. This optimization wasn’t worth the confusion.

Fixed

  • We won’t forget your preferred cursor mode when an observer is in the call anymore. We promise.
  • Colored cursor behavior is now more consistent within the screen sharing window

v0.82.0

Added

  • Everyone can now see who’s in a 3-way call
  • Host can now ‘kick’ an observer out of a call in the popover UI
  • Observers can now highlight, paint, and send confetti/clipboards in calls
  • Observers can now use multi-cursor to take action on the hosts computer
  • Observers can now send keystrokes through to the hosts computer

Changed

  • Mouse events are now sent between peers more efficiently

Fixed

  • Dual cursor mode now works with all mice
  • UI no longer blocks when webcams start capturing
  • Redesigned preferences window
  • Potential crash when audio devices become unavailable
  • In-call toolbar looks a bit nicer on Big Sur

v0.81.2

Fixed

  • Tuple no longer needs restarted if a microphone is reconnected while Tuple is running. Yikes!

v0.81.1

Fixed

  • Overly zealous mute/unmute detector putting folks into a state where they couldn’t unmute themselves

v0.81.0

Added

  • System audio settings are now bound to Tuple’s audio configuration
  • A high resolution webcam mode
  • Dynamic webcam resolution based on the size of the window the peer is viewing
  • Ability to send confetti to the host machine for celebrations 🎉
  • Notification that keyboard is off when typing and it’s disabled

Fixed

  • Preferred audio devices now populate correctly in preferences
  • Chipmunk audio. If you know what that means, you’ll be as happy as we are 🐿
  • Properly stop the ringtone when two unpaid users call each other
  • Changes to preferences are now applied without requiring the app (or call) to restart
  • Issues with the auto upgrading

Changed

  • Default webcam resolution to be a bit higher

v0.80.2

Fixed

  • Issue causing browser tabs to open because of Headway

v0.80.1

Security

  • Fixed a rare race condition on observer hanging up that could lead to audio connection between the guest and observer to persist.

v0.80.0

Added

  • Support for cmd+shift+tab
  • Better looking UI for Big Sur–more improvements to come!

Changed

  • Upgraded WebRTC

Removed

  • A number of dependencies reducing overall bundle size ~60MB

v0.79.0

Changed

  • Improved rendering by triple buffering GPU display buffers

Fixed

  • Glare caused when two peers call each other at the same time now has predictable behavior (and doesn’t crash!)
  • Webcam preview window has a more responsive UI, which no longer shows devices that aren’t available
  • The in-call webcam window now remembers its position on your screen
  • Incoming call window can now be closed (which ignores the call rather than declining it)
  • Fixed a bug where stale incoming call messages may unexpectedly appear
  • Fixed deadlock which could occur when modifying screen sharing state with a full video buffer
  • Crash related to guest toolbar when it was small and a new cursor mode was selected
  • Observers who cancel incoming calls no longer cause others to be disconnected
  • Crash related to cancelling an outgoing call when the network is laggy
  • Fixed unexpected behavior when devices are woken up by network activity
  • Fixed a deadlock related to webcam

v0.78.2

Fixed

  • Bug when turning on Host paint leading to strange remote control issues

v0.78.1

Fixed

  • Bug related to GPU switching. The UI would show ‘Switch Host’ instead of ‘Stop Sharing’ when switching from the integrated to the discrete GPU.
  • Crash related to remote control typing and Japanese keyboards

v0.78.0

Added

  • Webcam window is now automatically excluded from screen sharing output
  • Double-clicking a rating in the call feedback form will submit the rating automatically
  • A new Tuple preference setting to turn off the red corners when hosting a session

Fixed

  • Webcam window now works across multiple spaces (and fullscreen apps)
  • Webcam automatically starts for audio-only calls when enabled in preferences
  • Show missing button for inviting friends in the UI
  • ‘Persist Paint’ Tuple setting should now always work
  • Issue with keychain affecting folks who sign in via SSO

Changed

  • Host clicks in tag team mode now follow the same behavior as the guest when taking control
  • Tuple now follows standard app/window switching behavior and has keyboard-friendly windows
  • Guest keyboard events are now sent to the host whenever keyboard control is enabled and the screen window is focused.
  • Host screen now has configurable red corners to indicate it’s being displayed
  • ‘Persist Paint’ Tuple setting will be applied to local painting as well
  • Call feedback can be submitted by double-clicking a rating

v0.77.1

Fixed

  • Crash on High Sierra

v0.77.0

Added

  • The ability for teams to opt-in to a mode which allows them to pair only with teammates
  • Support for alternative mouse clicks (back, forward, etc)
  • Redesigned call feedback window

v0.76.2

Fixed

  • Issue that could cause cursor offsets and paint appearing on the wrong display when using multiple monitors and a hiding dock.

v0.76.1

Added

  • Utilities for helping debug non-standard network configurations

Fixed

  • Not allowing calls to be made when Tuple thought it wasn’t connected to the internet but really was.

v0.76.0

Changed

  • Using new hand tuned binary codec for common events. Results so far: ~10x bandwidth savings, 3x faster encode, and 6x faster decode 🏎

v0.75.0

Changed

  • Improvements to bandwidth consumption when using webcam.

Fixed

  • Bug with cursor offsets being incorrect when hiding/showing dock.

Added

  • New and improved UI for everyone!

v0.74.0

Added

  • New UI: display when a user is in a call with a yellow circle
  • New UI: cmd + , will now open the preferences when the UI is visible
  • New UI: refine cursor hover states to make it more obvious what’s clickable

Fixed

  • New UI: error page showing when there wasn’t actually an API error
  • New UI: use the correct team name in the invite flow
  • Caps lock works properly when doing remote control

Security

  • Prompt for confirmation before initiating calls with tuple deep links

v0.73.0

Added

  • Beta test for our new UI. If you’re interested in joining the beta reach out to ‘support@tuple.app’

Changed

  • Ported everyone over to new signaling backend

v0.72.0

Fixed

  • Link for SSO and forgot password incorrectly opening a browser tab.

Added

  • Reconnecting view when in an audio only call/observing.

v0.71.0

Fixed

  • Red flickering of the call connected window due to silly macOS animation API’s being old.
  • Red border around screen being shown at an incorrect time when the webcam video was closed.
  • When automatic webcam is enabled ensure that we respect the preferred webcam previously selected.
  • Cursor offset that could occur when using host paint mode.

Removed

  • Previously, if your pair had your webcam displayed on the screen they were sharing, we covered it with a mask before sending it to you to minimize distractions. Unfortunately, this feature was highly confusing and led to many bugs. We’d like to rethink webcam sharing in the future, but for now we’ve removed the masking. In the meantime, if you find seeing a delayed version of your webcam distracting, we recommend asking your pair to move the webcam window to a second display.

Changed

  • Sound Check will properly show muted state based on the microphone level and the audio stream. Prior to this change, the ‘mute’ keyword was just based on microphone level.

v0.70.1

Fixed

  • Display disconnected alert showing at an incorrect time.

v0.70.0

Fixed

  • Screen freezing bugs due to GPU switches and monitor unplugs.
  • Webcams being plugged in or removed after app boots will properly appear in preview list.

Security

  • Ensure all mesh audio connections get destroyed even under rare circumstance of signaling being down when a call ends.

v0.69.3

Fixed

  • Host paint on a secondary display

v0.69.2

Fixed

  • Removed redundant transparent window to avoid excessive CPU usage.

v0.69.1

Fixed

  • Code that broke screensharing on High Sierra.
  • Crash that could occur when making a call and disconnecting from the WebSocket signaling server.

Changed

  • Noise Tuple makes when calls connect to avoid confusion with call ending sound.

v0.69.0

Fixed

  • Race condition identified by the one and only Adam Wathan. When receiving a call in the display selection process it could put the app into a very very broken state.
  • Crash that could occur with incorrect URL parsing in clipboard sharing.

Added

  • Host side paint mode 🎨. You can now set a hotkey which puts you into a mode where can paint on your display when hosting a session. Clicking ‘Escape’ or the Tuple icon will exit paint mode.
  • Status bar icons for toggling mute and host paint.

v0.68.0

Added

  • Subtle beeping sound when calls connect to help folks know when an audio call has begun.
  • Include ‘email’ in the user search.
  • Open popover the first time the app is downloaded and started.

Changed

  • Changed the underlying system we use for hotkeys. The old system used some hacky private API’s that weren’t fully understood. Using those private APIs had unintended consequences like hijacking all Command+Space|Tab|etc. combos. The new system is a battle-worn library recommended by our new macOS specialist.

v0.67.0

Added

  • Tooltips for icons in the popover

v0.66.0

Changed

  • Migrate everyone to the new WebSocket backend. Faster and more reliable connections, huzzah!

Fixed

  • Bug related to string parsing incorrectly
  • Crashes related to dual cursors

v0.65.0

Added

  • Sign in with SSO in popover UI
  • Longer SSO session persistence

Fixed

  • Search improvements

v0.64.2

Fixed

  • Magic sign in not working properly
  • Bug with adding observers when users weren’t friends

v0.64.1

Fixed

  • Crash related to webcam on 10.15.3
  • Crash related to closing guest window on 10.15.3
  • Issue related to not seeing incoming call window in new WebSocket backend

v0.64.0

Fixed

  • Open correct pane when requesting Screen Recording permission
  • Command + Tab being broken after Tuple calls end
  • Crash related to adding friends when our API is unavailable
  • Crash related to switching to and from dual cursors
  • Paint not properly disappearing when switching cursor modes
  • Don’t allow SoundCheck to open unless audio permissions are okay

v0.63.2

Added

  • Real time updates for when new team members join

Changed

  • Default the UI theme to ‘dark’ instead of ‘auto’

Fixed

  • Crash related to the new WebSocket backend getting auth tokens
  • Crash related to old WebSocket backend

v0.63.1

Fixed

  • Scaling issues with availability

v0.63.0

Changed

  • New WebSocket backend to improve latency and reduce down time

v0.62.1

Fixed

  • Screen freezing caused by last release

v0.62.0

Added

  • Warning when trying to call someone via Alfred.app workflow when already in a call. Who would try such a thing!? ;)
  • Deep link to confirm if Tuple is online and ready to make calls (used in Alfred.app integration)

Fixed

  • Bug involving the wrong display sometimes being shared
  • Crash related to dual cursors

v0.61.0

Added

  • Warnings for when account subscriptions are not in good standing
  • Feature flag for testing new logging backend

Fixed

  • Copy for screen recording permission prompt
  • Tuple preventing screen from going to sleep in certain situations
  • State bug preventing ‘Share Screen’ button from properly initiating the share

v0.60.0

Added

  • Performance wins on render

Changed

  • Updated a dependency that was leading to some crashes

v0.59.1

Fixed

  • Cursor offset bugs with tag team and dual cursor modes

v0.59.0

Changed

  • Upgraded a number of dependencies

Fixed

  • Crash related to sound check and no microphone available
  • Cursor offsets appearing when folks have second display above or below and not left or right for hightlight click and paint mode. Note: still cursor offset issues on tag team and dual cursor modes–fix coming soon
  • Sound check breaking audio

Removed

  • Wiped all default hotkeys. Folks will need to reset their desired combos (we’re really sorry about this and will handle hotkeys better in the future!)

v0.58.1

Fixed

  • Crash fix related to new release

v0.58.0

Fixed

  • Bug where cursor moves would appear when sharing an side display
  • Issue with the wrong screen sometimes being shared

Added

  • Sound check

v0.57.1

Changed

  • Frequency of performance reports

Fixed

  • Memory leak associated to availability

v0.57.0

Fixed

  • Crash related to race condition with failed connections when observer is present
  • Crash related to WebRTC webcam capture code creating a retain cycle
  • Crash related to WebRTC render code dereferencing a nullptr
  • Crash related to race condition in screen selection
  • Observer state issue preventing screen swapping in rare circumstances

Changed

  • App no longer regularly restarts every 7 hours
  • Improvements to availability to prevent calling people who are not really available

v0.56.0

Fixed

  • Crash related to sending clipboard content to peer
  • Crash related to stopping screen share

Changed

  • Only fetch feature flags on sign-in
  • Default keyboard mode to “off”

v0.55.0

Added

  • Persistent paint mode where paint will no longer disappear until right clicked. Can be found in Tuple Pref > General
  • Show incoming call window on every display and screen so it’s easier to find
  • Better errors and warnings when proper Tuple permissions are not enabled by the OS

Fixed

  • Bug where webcam overlay was persisting event when minimized
  • Launch at login not being re-enabled after automatic app updates

Changed

  • Call stats menu now opens from a click instead of hover

v0.54.0

Changed

  • Reduce resolution of webcam to conserve CPU usage
  • Improvements to screen capturing to reduce CPU usage

Fixed

  • Bug with pixel buffer not always being overwritten properly in webcam

v0.53.1

Fixed

  • Updated audio device handling to avoid crashes

v0.53.0

Added

  • Audio only calls

Fixed

  • Small issue with cursor type being out of sync when starting a call and the cursor is hovering over area of guest window
  • Double red flash that occurs sometimes when making calls and screen is being shared

v0.52.0

Fixed

  • Don’t send hotkey combinations to host (e.g. mute hotkey)
  • Whitespace trimming on emails when inviting teammates or adding friends

Added

  • Better diagnostics to help user debug issues

v0.51.1

Fixed

  • Notarization issue with Apple on Catalina
  • Don’t send hotkey combinations to host (e.g. mute hotkey)

v0.51.0

Added

  • Better analytics for debugging slack integration
  • Right-click now removes any paint messages on the screen
  • Audio device selection

Fixed

  • Sending email to clipboard incorrectly interpreting as mailto link
  • Delay when command tabbing into Tuple
  • Users getting stuck in fullscreen mode

Changed

  • Default cursor mode will now be paint

v0.50.0

Changed

  • Update to WebRTC version M77

v0.49.0

Fixed

  • Mouse moves getting offset when guest is in control when folks resize display mid call
  • Crash associated to race condition with the paint mode
  • Fixed bug with transmit resolutions getting out of sync
  • Reboot audio module when waking up from sleep to fix sporadic issues

Changed

  • Behavior of transmit resolution setting will now be based on the guests setting and not host

v0.48.0

Fixed

  • Dual cursor warping issue when sharing secondary display

v0.47.0

Fixed

  • Improved availability issues
  • Bug with host losing control of mouse

v0.46.0

Fixed

  • Crash associated to trying to add web cam when no valid video devices are found

Changed

  • Improved host switching to not drop calls

v0.45.0

Added

  • Deep linking enabling an Alfred workflow for starting calls

Fixed

  • Issue with command click/double click when in dual cursor mode
  • Cursor paints no longer being visible after closing webcam view

Changed

  • Incoming call window will now always be on top

v0.44.0

Fixed

  • Crash associated to retrieving mouse acceleration curve for dual cursors

Changed

  • Webcam preview will now be properly mirrored
  • Webcam window will always be pinned on top but can now be minimized
  • Webcam window can be resized to any size
  • Closing the webcam window will now stop sending the stream

Removed

  • Removed webcam video control buttons in favor of native macOS window buttons
  • Removed webcam window exclusion in favor of blacking out buffer for perf wins (white when in light mode and dark grey when in dark mode)

Added

  • Camera preview in the menu bar UI when sharing your webcam (properly mirrored)
  • Preference to be able to automatically start calls with webcam on

v0.43.1

Fixed

  • Hotfix for toggle mute hotkey not working navigator side in certain situations

v0.43.0

Fixed

  • Edge case when selecting webcam device but it becomes unavailable or gets unplugged
  • Analytics tracking giving incorrect numbers
  • Crash associated to metal view constraints being incorrect
  • Crash associated to race condition on signaling and call start/end times

Changed

  • When searching for users in UI it will only show folks who are currently available for calls
  • No longer show the ‘Add Webcam’ button in the UI when observing (since it does nothing)
  • Streamlined call feedback form
  • Internal refactor to clean up an unnecessary transparent window

v0.42.0

Added

  • Hotkey for quickly muting/unmuting - command + option + m
  • Dual cursors mode with mouse acceleration

Fixed

  • Focus ring around the cancel/start buttons in the camera preview
  • Ensure when a call is started the guest window always gets brought to the front

v0.41.1

Added

  • IPC notifications that get dispatched when a call starts and ends

Fixed

  • Regression introduced when adding face cams that made sharing second monitor totally broken

v0.41.0

Added

  • Basic webcam support between guest and host. NOTE: leaving the face cam window on the same display that is being streamed will degrade the performance of Tuple.
  • Tuple becomes command + tabbable whenever video is being shared.

Fixed

  • Caching issue with visiting changelog -> call stats not redirecting to call stats
  • Command + \` not properly cycling through Tuple windows when keyboard sending is off
  • Slight offset when rendering host cursor image on the guest screen. Should now be pixel perfect

Changed

  • Clicking the Tuple icon in the top menu bar will bring all Tuple windows to the front

v0.40.0

Changed

  • Reduce time to check for app updates to every hour. Force all clients to do updates in background to prevent updates being required when starting calls.
  • Number of thread optimizations based on what computer is hosting

Added

  • Ability to add friends who are not on your team
  • Adds changelog back into the app. So meta.

Fixed

  • Search bar should now always auto focus when main UI is opened

v0.39.0

Fixed

  • Overly-sensitive scrolling on trackpads
  • Analytics was missing some preferences

Added

  • Shows offline users who are on your team or friends list

Changed

  • CPU setting from 7 to 8 to reduce encode times

v0.38.0

Added

  • Link to the team management page if signed in as team owner
  • Link to help docs for Preferences from Preferences window
  • Link to help docs in the nav toolbar

Changed

  • Moved Launch at Login preference to General tab

Fixed

  • Title of General tab in Preferences
  • Frame rate bug of going down super low when screen wasn’t changing

v0.37.0

Changed

  • Always show multi way even if feature flag is not enabled
  • Stop closing the call stats window at the end of a call

Fixed

  • UI bug when observer rejects call
  • Driver mouse moves on local windows when in highlight click or paint mode
  • Crash when using certain keyboard modes

Added

  • Auto upgrades in the background

v0.36.0

Changed

  • Cursor moves to center when guest hangs up and was in control
  • Text on share screen button based on if driver or navigator
  • Lowered logging to prevent filling up Timber

Fixed

  • URL encoding on emails with ‘+’ when submitting feedback
  • Mute icon syncing issue when doing automatic host switching
  • Handling of dead keys for typing some non-qwerty characters

Added

  • Fullscreen when observing
  • Show who is observing in the UI

v0.35.0

Changed

  • UI now in React

Added

  • Dark mode for Mojave users

v0.34.0

Changed

  • Call tracking analytics to be more accurate

Fixed

  • Do Not Disturb setting checkbox out of sync

v0.33.0

Added

  • International keyboard support

v0.32.0

Changed

  • Underlying logging from Logz.io -> Timber

Added

  • Preference to control whether links sent through clipboard open automatically (anti-rick-roll measures)
  • Preference to disable Do-Not-Disturb management (e.g. if user likes to keep it on)

Fixed

  • JSON Encoding bugs with users who have a ‘ in their name
  • Issue where action cable would get stuck in infinite reconnecting state
  • Call stats can now be moved to different displays

v0.31.1

Fixed

  • Video freeze when playing video in non-shared display

v0.31.0

Changed

  • Call feedback form to have segmentation

Added

  • Restart call button to the navigating toolbar
  • Ability to abort screen selection when pressing ‘escape’

v0.30.0

Changed

  • Keyboard and Cursor modes now persist between calls

Removed

  • Removes automatic call answering

Added

  • Multi-way calls experiment
  • Alert when hardware does not have the required dependencies

v0.29.0

Added

  • New Call Stats showing connection info between peers

Fixed

  • Paint message disappearing when pausing with mouse down
  • Grammar in call feedback window
  • Only open URL in browser if sent alone as a single URL

Changed

  • “Send Feedback” now redirects to web form
  • Added a one-second delay to accepting keypresses on incoming call window to avoid accidental call rejections
  • Reset all default transmit resolution preferences (and new ones) to Ludicrous mode

v0.27.0

Changed

  • Upgraded WebRTC lib to M74
  • Clarified ringtone audio preference

Fixed

  • Hopefully resolved input focus issues
  • Constant streaming of report data to Insights was causing issues on long calls
  • Audio monitor crashing due to thread issues

Added

  • Auto focus email field when sign in appears for better UX
  • Ability to invite teammates in the client app

v0.26.0

Fixed

  • Dock icon no longer appears briefly on startup
  • Reconnecting window properly resizes when exiting fullscreen
  • Fullscreen on different monitors fixes incorrect mouse positions
  • Audio bluetooth disconnects

v0.25.0

Added

  • Launch at login
  • Preference to start calls on mute
  • Full screen mode on guest side

Changed

  • Updates some text on call rejections
  • How red outline works. Should now fade in and disappear when call is connected

v0.24.0

Changed

  • Availability implementation to hopefully be more reliable
  • Emoji’s on call feedback

Fixed

  • Do not disturb on/off bug

v0.23.0

Added

  • Do not disturb will be automatically turned on/off when in Tuple calls
  • Prevent computer from sleeping when driving

Fixed

  • Command + tabbing to full screen app should not activate tuple
  • User feedback form should have proper text color on mojave dark mode (explicitly white now)
  • Low rated call quality feedback reports will email us directly
  • Calling a user who is already in a call will no longer end their session

v0.22.0

Added

  • Better UI indicators of when calls are disconnected
  • Added back manual restart button for when accessibility is enabled

Fixed

  • Crash when keychain fails to save credentials
  • Crash due to race condition with driving window getting deallocated
  • Text color in user feedback form on Mojave Dark not being visible

v0.21.0

Added

  • Paint cursor
  • Adds user default settings to analytics to help us diagnose peoples issues
  • Message on online users list when no one is currently online

Fixed

  • Video capture freezing when moving Insights onto different display.
  • Crashes happening due to race condition with desktop capturer
  • New lines should work when submitting feedback

Changed

  • No longer let ‘enter’ submit the user feedback form

v0.20.1

Changed

  • Changed with support system provider we use

v0.20.0

Added

  • Audio beep when a call disconnects so users don’t spend time talking to themselves
  • Call feedback at the end of calls
  • Resolution changing from the navigator side

Fixed

  • User feedback form to have visible cursor in Mojave dark mode
  • Invisible window showing up on Mojave

Changed

  • Makes Tuple command + tabbable when an incoming call appears

v0.19.4

Fixed

  • Crashes associated to availability
  • Main thread being blocked by webrtc logs

v0.19.3

Fixed

  • Logging optimizations that were negatively affecting performance of the app

v0.19.2

Added

  • Better performance metrics so we can see who is having good/bad calls

v0.19.1

Changed

  • Feedback form now goes to Zendesk instead of Slack

Fixed

  • Properly become available/unavailable when computer goes to sleep/wakes up

v0.19.0

Added

  • Adds TURN server support
  • A feedback form so users can let us know when they find bugs
  • Forgot password flow

Changed

  • Updates tooltip messaging on guest windows toolbar
  • Search fuzzy find to only use first/last name

Removed

  • Removed the resize button to prevent accidental full screen sessions when not supported

v0.18.1

Added

  • Improved logging on resolution changes to help diagnose recent crash
  • Better diagnostics for peers who aren’t able to connect

Changed

  • Migrated from Fabric.io to Mixpanel for in-app Analytics

Fixed

  • Crashes occurring when we did API deploys
  • Phantom window being left behind at the end of some sessions

v0.18.0

Fixed

  • Various memory leaks leading to strange system behavior
  • Driving outline window not changing sizes when resolution changes
  • Driving outline window should appear when doing the fast call switching
  • Hangup on quit, which fixes a crash on callback
  • Fixed Tuple not remembering credentials forcing people to have to keep signing in

Added

  • Name and email to crash reporting

Changed

  • Close popover when a call times out

v0.17.0

Added

  • Send modifier keys on click events thus making Control + left-click will now do a proper right click and open menus
  • Hitting ‘esc’ when popover is open will now close it
  • Tooltip to the pasteboard button in the toolbar
  • User ID on crashes

Changed

  • ‘DRIVER’ label is now a small purple dot to be less in the way
  • Restart is no longer required after enabling accessibility

Fixed

  • Red outline host window should not be visible when changing macOS spaces

v0.16.1

Fixed

  • Crashes happening when internet connection would go down and come back up

v0.16.0

Added

  • About Tuple window back
  • Detect audio device changes and restart Tuple automatically behind the scenes to prevent people from manually having to restart
  • Display selection before making a call
  • Automatic updates in the background to speed up restarts when they’re required

Fixed

  • Reconnection logic to help prevent missing people in the UI
  • Fixed mute button which was sometimes not reflecting the current state

v0.15.0

Changed

  • Incoming call should display users name not email
  • End/Cancel buttons should now be red instead of black
  • Background color of guest window to dark blue until the video frames come in

Fixed

  • Cancel outgoing calls when timing out or user requests
  • Clean up of mouse events getting sent multiple times if you make many calls without closing tuple
  • New Guest automatically answers when switching host

v0.14.1

Fixed

  • Last user in online users being cut off in scroll
  • Disable ‘Share Screen’ button until successfully in a call so it can’t be pressed without breaking UI.

Added

  • Ringtone on driver side when making a call
  • Timeout of 25 seconds so if pair doesn’t answer it exits the calling state.

v0.14.0

Changed

  • Throttle time for cursor updates from 50ms to 5ms so hopefully won’t be in stale state
  • At least one user needs to be paid for calls to go through

Added

  • “Share Screen” button during calls can switch Host or re-start call with new primary display
  • Search feature to UI

Fixed

  • Links without ‘http s’ will now open automatically in the clipboard sender

Removed

  • ‘Share Screen’ popover in UI since it is somewhat buggy

v0.13.4

Changed

  • Make tuple command+tabbable again until we can diagnose the unintended side affects of that

v0.13.3

Changed

  • Separate app names and bundle identifiers for Dev/Staging/Production
  • Tuple no longer appears in dock/cmd+tab unless navigating
  • Accessibility flow now has prompt before signing in

v0.13.2

Fixed

  • App crashing on call rejections

v0.13.1

Fixed

  • Log messages for stats having more sane default values

v0.13.0

Added

  • Better analytics to help us debug and prioritize issues

Fixed

  • Signing out when in the middle of call should properly reset the UI
  • Fixes crash when starting new call after sign out

v0.12.0

Changed

  • Close Nerve Center when call finishes
  • Remove opening animation from status bar popover

Added

  • “Tag Team” mouse mode
  • Session IDs to log messages

Removed

  • “Dual” mouse mode

Fixed

  • Display peers name properly when incoming call

v0.11.6

Added

  • Help center to the nerve center dashboard

Fixed

  • The current call section of the UI now shows the user’s name and email instead of their email twice.

v0.11.5

Fixed

  • Quitting the app was triggering hangUp calls for closed sessions

v0.11.4

Changed

  • Changed debug window to ‘Nerve Center’

v0.11.3

Added

  • More robust upgrade tuple window so users don’t think computer is doing nothing

Fixed

  • Resets navigator controls between calls to ensure settings aren’t wacky

v0.11.2

Changed

  • New red icon for the topbar when in a call (same logo of not in call but red)

Fixed

  • Closes the popover when alerts appear that your peer is in outdated version or rejected your call
  • Driver label should continue moving when hovering over tuple windows and not get stuck
  • Timestamps are now generated earlier in the logging code which should improve log ordering

v0.11.1

Fixed

  • Ensure log stash calls are always on main thread

Changed

  • Sets default RTC logs to ‘warn’

v0.11.0

Fixed

  • Sign-In Screen: Cmd-A support, persist input text when hiding, remove unused checkbox, better selectability and autocorrect options
  • Navigator not being able to send text in clipboard between calls
  • Navigator controls should persist between calls

Added

  • Environment string to all log messages

Changed

  • Sign-In Screen opens when unauthenticated user starts app
  • Send button is always enabled on clipboard sender
  • Updated some copy for clarity
  • Cleaned up Preferences layouts
  • Removed General preference pane
  • Use webrtc in release mode for Staging and Release
  • Reorders encoding chart in performance dashboard to Capture -> Encode -> Decode
  • Clicking menu items in performance dashboard closes menu

v0.9.2

Fixed

  • Hang up properly when partner disconnects
  • Dark mode text color in incoming call window
  • Perf dashboard not receiving stats

Changed

  • Cursor image being sent to navigator when in highlight click mode
  • WebRTC logging is now routed through TN logs

Added

  • Mojave mouse hardware implementation

v0.10.0

Added

  • Support for first and last name

v0.9.0

Added

  • Adds automatic sign in/out when internet connection changes
  • Thread introspection utilities to help with debugging
  • Adds double click support
  • Hit ‘Enter’ to send copy to clipboard content
  • New UI that steve designed

Changed

  • Changes the priorities and which threads most of the mouse code is executed on

v0.8.0

Fixed

  • Reconnect to availability channel after waking up from sleep
  • Resolution issues when switching displays between sessions
  • App now requests microphone permission on Mojave
  • Cursor cache will always be reset before a new call

Changed

  • Changes to have staging/production environments
  • Purple icon for development and black for stage/production
  • Adds new black tuple icon for staging environment
  • Changes the Gravatar default URL

Added

  • Prevents computer from sleeping when navigating
  • Client will now use Twilio STUN servers, with Google as backup
  • Automatic version governer to ensure clients are always up to date before doing critical actions
  • Alerts for when a call is rejected due to either outdated version or explicit rejection

v0.7.1

Changed

  • Simulator has been removed

Fixed

  • Fixes mouse crashes when dragging

v0.7.0

Added

  • New performance dashboard in place of the old debug panel
  • Hardware mouse implementation
  • Adds cursor image both ways so the navigator can see what the drivers cursor actually looks like.
  • Adds new icons to the preference panel

Changed

  • How resolutions are determined. Retina support and smoother experience going from 16:10 and 16:9.

Fixed

  • Sign in on mount race condition not logging users in
  • Fixes changing FPS in release mode of webrtc
  • Fixes cursor images getting cut off due to incorrect bit manipulation

v0.6.2

Changed

  • Experiment with turning playout delay to {0,0}

v0.6.1

Changed

  • Uses debug version of WebRTC instead of release since release has some issues

v0.6.0

Changed

  • Disables excluded window
  • Updates frame rate preference to go up to 30 FPS
  • Updates webrtc screenshare maxes

Fixed

  • Crashing the app not hanging up the peer properly
  • Mute by default on debug but not release
  • Calling a user who is no longer online
  • Hide popover when opening the debug panel

v0.5.0

Changed

  • Capturer now uses mutex locking for more efficient waiting between frames
  • Capturer times each frame in order to achieve preferred max framerate
  • Capturing uses IOSurface API instead of CG for desktop capturing
  • Rebase master of webrtc into tuple-master

Added

  • New stat report: “Custom Stats”
  • Added first stat to custom stats report: tpAvgCaptureMs

Fixed

  • Bug when clicking on separator in the dropdown menu bar

v0.4.2

Added

  • Adds better stats and graphs

v0.4.1

Changed

  • Audio on by default

v0.4.0

NOTE: Breaking changes due to change in data channels adds clipboard data channel and cursor image data channel.

Added

  • Clipboard events - can copy string to driver and auto open URLs
  • Cursor images get sent to the navigator for a more immersive experience
  • Adds highlight click animation to the navigator window
  • Adds full keyboard controls implementation (can turn hotkeys on/off or keyboard completely on/off)

Changed

  • Adjusted webrtc source to increase kbps and max framerate when is_screencast settings is true
  • Cursor should go to a pointing hand when selecting the highlight click cursor mode

Fixed

  • Framerate control slider fixed
  • Bug with mouse event taps not properly disabling between calls

v0.3.0

NOTE: Breaking changes due to change in data channels (adds clipboard data channel)

Added

  • Clipboard events - can copy string to driver and auto open URLs
  • Logstash Logz.io logging so we can track data about the sessions

Changed

  • Stop using the screencast setting in WebRTC

Fixed

  • Framerate control slider fixed

v0.2.2

NOTE: Breaking changes due to change in data channels.

Fixed

  • “Share Icon” popover should be hidden after calling someone
  • Mouse offsets should be correct now
  • Fixes the cursors staying visible when switching applications on the navigator side

Refactors

  • Internals of keyboard event system

v0.2.1

Changed

  • Added Resolution and Framerate configuration in Preferences
  • Added screenhero like mouse control
  • Uses a new smaller toolbar

Fixed

  • DesktopScreenCapturer enforces max resolution and framerate
  • Driver-side OnlineUsers UI correctly reflects when a call has been accepted

v0.2.0

NOTE: Breaking change! Will not work with versions previous due to decrease in data channels.

Changed

  • Window for debugging navigator toolbar without having to be in a call.
  • Internals for how data channels work.

Fixed

  • Ringtone when receiving a call should now work
  • Basic audio working again
  • Gets rid of delay on command tab/space hijacking
  • Removes transparent window above nav window when hanging up

v0.1.1

Added

  • Support for cmd + tab/space when navigating

v0.1.0

Changed

  • First release using 100% native approach instead of the WebRTC SDK