mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-10-02 08:02:00 +00:00
Dropping a RemoteWatch sent WatchClose with a blocking call, and the last handle is usually let go on the UI thread: from Tty7App::render via scm_sync_watchers, and from scm_watch_opened when an open lands after its subscription moved on. Every window froze for a round trip each time, up to WatchClose's 5 s deadline on a quiet link. Sampling a live instance caught ~1.1 s of such stalls in 10 s. - ControlClient::post sends a request without registering for its reply; the reader already drops replies nobody is waiting for. - RemoteWatch::drop posts WatchClose instead of calling it. - pane_workspace_for built the full SSH spec, keychain lookups included, only to strip the secrets again. It now builds it from NoCredentials, which takes the securityd trips off pane_liveness::sweep. Claude-Session: https://claude.ai/code/session_01YX786Hyr4ivijWxv66zVkf