Skip to content

GSSAPI/Kerberos SSH + Performance Optimization

Choose a tag to compare

@com314159 com314159 released this 11 Mar 07:31
· 61 commits to feat/gzc_kini_ipv6 since this release

What's Changed

perf(pty): reduce typing latency and speed up SSH tab creation

Typing latency (~33ms reduction):

  • Replace setTimeout(16ms) buffer with setImmediate for near-zero latency on interactive keystrokes while preserving batching for high-throughput output
  • Remove requestAnimationFrame queue in TerminalSessionManager — let xterm.js handle its own write scheduling natively
  • Decouple pty:activity messages to independent 200ms throttle so they no longer double IPC traffic on every data flush

SSH tab creation speed:

  • Merge writeRemoteHookConfig from 2 sequential SSH exec calls into 1 (atomic read+merge+write via Python one-liner)
  • Parallelize resolveSshInvocation + resolveTmuxEnabled with Promise.all
  • Run writeRemoteHookConfig and writeRemoteOpenCodePlugin as background promises that don't block PTY startup

Previous (v0.4.29-ipv6):

  • GSSAPI/Kerberos authentication support for SSH
  • ControlMaster-based persistent SSH connections
  • IPv6 host validation
  • GSSAPI connection hang fix with 20s timeout

Installation (macOS, unsigned)

⚠️ This build is not signed by Apple. macOS will block the app on first launch.

  1. Download emdash-arm64.dmg, open it, drag Emdash to Applications
  2. First launch will be blocked — go to System Settings → Privacy & Security, find the block notice, click "Open Anyway"
  3. Or run in Terminal:
    xattr -cr /Applications/Emdash.app

Architecture: Apple Silicon (arm64) only

Full version: 0.4.29 | Branch: feat/gzc_kini_ipv6