All releases
Version 0.9.0 Latest

Share your Mac with a link

Invite a guest with a controlled share link, place the cursor with Option-click, and keep long sessions moving with three app-wide freeze fixes.

New

  • Guest share links. Invite someone to your Mac with a link or QR code. You control expiry, concurrent viewers, view-only access, and an optional account allow-list, and you can revoke a share anytime. The link never contains your Mac's permanent connection key; guests redeem short-lived tickets that the agent verifies and enforces.
  • Links that work in a browser. Shares now use an https://safafish.com/s/... link. It opens in any browser to a page that hands the link to SharkTTY, points to the App Store when needed, and shows a QR code for an iPhone or iPad. You can also paste the HTTPS link into the app.
  • Guest booking. Guests can paste or scan a share link, see availability, book a slot, and connect. As an early, payment-free option, a share can offer an exclusive UTC-aligned hourly slot.
  • Option-click cursor placement. In SSH, local-shell, and mosh terminals, hold Option and click to move the shell cursor to that spot. It works in the primary buffer and full-screen alternate-screen apps by sending the needed arrow keys.

Improved

  • Magnifier accuracy. The sharp magnifier tile could stop slightly behind the cursor after a drag. The final position now always gets an update, so the magnified content rests exactly under the crosshair.

Fixed

  • Viewer sends no longer freeze the app. WebRTC data-channel sends could block the main thread indefinitely when their 128 KiB transport buffer filled under backpressure. Sends are now non-blocking; the WebSocket and QUIC paths were not affected.
  • Subprocess output can no longer deadlock a wait. Unread helper output could fill the roughly 64 KB pipe buffer while the app waited for the process to exit. Discarded output now goes to the null device, and output the app uses is drained before waiting.
  • Long mosh histories stay fast. Terminal sync work grew quadratically with history size, slowing long sessions over time. History now uses structural sharing instead.

Compatibility

  • Works with SharkTTY 1.6 or later on your iPhone and iPad. If your app is older than 1.6, download the earlier SharkTTY Desk 0.5.0 build instead.