feat: harden local shell, SFTP, and desktop session reliability

Finder-launched terminals now inherit a login PATH so tools like ollama resolve, destructive SFTP/editor actions require confirmation, and terminal search plus window dragging work again. SSH forwards and RDP sessions keep listeners and survive reconnect without FastPath crashes.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Logan.LiandCursor committed 2026-08-16 16:08:11 +08:00
1 parent 188f3556ed
commit 08696896f9
223 files changed
+13493 -3423

No files matched your search

+16 -3
View File
@@ -39,7 +39,9 @@
"closed": "Connection closed",
"dnsFailed": "Could not resolve host",
"refused": "Connection refused",
"disconnected": "Disconnected"
"disconnected": "Disconnected",
"keepaliveFailed": "SSH keep-alive failed repeatedly; connection closed",
"idleKicked": "Remote shell logged out due to idle timeout (TMOUT)"
},
"auth": {
"failed": "Authentication failed. Check the username and password.",
@@ -68,7 +70,10 @@
"forward": {
"failed": "Port forward setup failed",
"bindFailed": "Failed to bind port",
"alreadyInUse": "Port already in use"
"alreadyInUse": "Local port is already in use. Stop the running forward (or the other process on that port), then start again.",
"remoteDenied": "Remote port forward refused by the server (AllowTcpForwarding / PermitListen, port in use, or bind limits). OpsXShell listens on remote 127.0.0.1 only.",
"remoteDeniedPrivileged": "Remote refused a privileged listen port (<1024). Use a port ≥1024, or root on the server, and check AllowTcpForwarding / PermitListen.",
"invalidTargetHost": "Target cannot be 0.0.0.0 — use 127.0.0.1 or a reachable internal IP"
},
"sftp": {
"connectFailed": "SFTP connection failed",
@@ -80,7 +85,15 @@
"writeFailed": "Save failed",
"renameFailed": "Rename failed",
"chmodFailed": "Failed to update permissions",
"apiUnavailable": "SFTP API unavailable"
"apiUnavailable": "SFTP API unavailable",
"channelFailed": "Could not open SFTP channel (server limit or busy session). Reconnect and try again",
"sessionGone": "SFTP session ended; reconnect to continue",
"busy": "A file transfer is in progress. Try again when it finishes.",
"editTooLarge": "File is too large for the text editor (max ~2MB). Download it and open locally.",
"editBinary": "This file looks binary and cannot be opened in the text editor",
"editNotUtf8": "Remote file is not valid UTF-8 text",
"transferCancelled": "Transfer cancelled",
"diskFull": "Not enough disk space on the remote or local side"
},
"session": {
"notFound": "Session not found",