feat: move the terminal fully into the ssh-terminal plugin (B9)

This commit is contained in:
LukeGus committed 2026-09-23 21:41:22 -05:00
1 parent 535126fd1b
commit 79d77678c9
309 files changed
+41789 -14958

No files matched your search

-174
View File
@@ -738,7 +738,6 @@
"addHost": "Add Host",
"editHost": "Edit Host",
"cloneHost": "Clone Host",
"enableTerminal": "Enable Terminal",
"enableTunnel": "Enable Tunnel",
"enableFileManager": "Enable File Manager",
"enableDocker": "Enable Docker",
@@ -1037,8 +1036,6 @@
"enableSessionLoggingDesc": "Record terminal session output for later review",
"allowSessionSharing": "Allow Session Sharing",
"allowSessionSharingDesc": "Let live sessions on this host be shared via link or with other users",
"enableCommandHistory": "Command History",
"enableCommandHistoryDesc": "Record commands run in this terminal for history and autocomplete",
"localEchoLabel": "Local Echo",
"localEchoDesc": "Predict safe printable keystrokes locally on slow connections. Password prompts and control input are never echoed.",
"localEchoDefault": "Use global setting",
@@ -1068,8 +1065,6 @@
"bindHost": "Bind Host",
"enableTmuxMonitor": "Enable Tmux Monitor",
"enableTmuxMonitorDesc": "Show this host in the Tmux Monitor and add its tmux actions to the sidebar",
"enableTerminalToolbar": "Enable Terminal Toolbar",
"enableTerminalToolbarDesc": "Show a quick-access toolbar docked to the active terminal for this host's tools and live stats",
"connectionToolbar": "Connection Toolbar",
"showConnectionToolbar": "Show connection toolbar",
"showConnectionToolbarDesc": "Show the toolbar in this host's SSH, RDP, VNC, and Telnet sessions. You can also hide it temporarily from the toolbar itself.",
@@ -1554,8 +1549,6 @@
"navigate": "Navigate",
"select": "Select",
"toggleWith": "Toggle with",
"localTerminal": "Local Terminal",
"localTerminalDesc": "Open a shell on this computer",
"pluginActions": "From plugins"
},
"splitScreen": {
@@ -1721,57 +1714,13 @@
"loadSharesFailed": "Failed to load active shares"
},
"terminal": {
"sessionExpiredNotice": "Your previous session on {{host}} expired after {{minutes}} minutes disconnected; the shell and anything running in it are gone. Enable Auto-Tmux on this host to keep sessions alive.",
"sessionExpiredNoticeNoMinutes": "Your previous session on {{host}} expired while disconnected; the shell and anything running in it are gone. Enable Auto-Tmux on this host to keep sessions alive.",
"enableAutoTmuxAction": "Enable Auto-Tmux",
"autoTmuxEnabled": "Auto-Tmux enabled for {{host}}. It applies from the next connection.",
"autoTmuxEnableFailed": "Failed to enable Auto-Tmux",
"connect": "Connect to Host",
"clear": "Clear",
"paste": "Paste",
"reconnect": "Reconnect",
"connectionLost": "Connection lost",
"connected": "Connected",
"clipboardWriteFailed": "Failed to copy to clipboard. Make sure the page is served over HTTPS or localhost.",
"clipboardReadFailed": "Failed to read from clipboard. Make sure clipboard permissions are granted.",
"clipboardHttpWarning": "Couldn't read the clipboard. Some browsers restrict clipboard access outside HTTPS - try Ctrl+V instead, or serve Termix over HTTPS.",
"passwordPromptFillTitle": "Fill the saved password into this prompt?",
"unknownError": "Unknown error occurred",
"websocketError": "WebSocket connection error",
"connecting": "Connecting...",
"noHostSelected": "No host selected",
"reconnecting": "Reconnecting... ({{attempt}}/{{max}})",
"reconnected": "Reconnected successfully",
"tmuxSessionCreated": "tmux session created: {{name}}",
"tmuxSessionAttached": "tmux session attached: {{name}}",
"tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell",
"tmuxSessionPickerTitle": "tmux Sessions",
"tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.",
"tmuxWindows": "Windows",
"tmuxWindowCount": "{{count}} window",
"tmuxAttached": "Attached clients",
"tmuxAttachedCount": "{{count}} attached",
"tmuxLastActivity": "Last activity",
"tmuxTimeJustNow": "just now",
"tmuxTimeMinutes": "{{count}}m ago",
"tmuxTimeHours": "{{count}}h ago",
"tmuxTimeDays": "{{count}}d ago",
"tmuxCreateNew": "Start new session",
"tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard",
"tmuxDetach": "Detach from tmux session",
"tmuxDetached": "Detached from tmux session",
"searchPlaceholder": "Find",
"searchCaseSensitive": "Match Case",
"searchWholeWord": "Match Whole Word",
"searchRegex": "Use Regular Expression",
"searchNoResults": "No results",
"searchResultCount": "{{index}} of {{count}}",
"searchNext": "Next Match (Enter)",
"searchPrevious": "Previous Match (Shift+Enter)",
"searchClose": "Close (Escape)",
"maxReconnectAttemptsReached": "Maximum reconnection attempts reached",
"closeTab": "Close",
"connectionTimeout": "Connection timeout",
"terminalTitle": "Terminal - {{host}}",
"terminalWithPath": "Terminal - {{host}}:{{path}}",
"runTitle": "Running {{command}} - {{host}}",
@@ -1795,27 +1744,14 @@
"opksshOpenBrowser": "Open Browser to Authenticate",
"opksshWaitingForAuth": "Waiting for authentication in browser...",
"opksshAuthenticating": "Processing authentication...",
"opksshTimeout": "Authentication timed out. Please try again.",
"opksshAuthFailed": "Authentication failed. Please check your credentials and try again.",
"opksshSignInWith": "Sign in with {{provider}}",
"vaultAuthTitle": "Vault sign-in required",
"vaultAuthDescription": "A window has opened to sign in to HashiCorp Vault. Complete the sign-in there; this connection will continue automatically.",
"vaultAuthFailed": "Vault authentication failed. Please try again.",
"vaultReopen": "Reopen sign-in window",
"sudoPasswordPopupTitle": "Insert Password?",
"linkDialogTitle": "Open Link",
"linkDialogOpen": "Open",
"linkDialogCopy": "Copy",
"websocketAbnormalClose": "Connection closed unexpectedly. This may be due to a reverse proxy or SSL configuration issue. Please check server logs.",
"connectionLogTitle": "Connection Log",
"connectionLogCopy": "Copy logs to clipboard",
"connectionLogEmpty": "No connection logs yet",
"connectionLogWaiting": "Waiting for connection logs...",
"connectionLogCopied": "Connection logs copied to clipboard",
"connectionLogCopyFailed": "Failed to copy logs to clipboard",
"connectionRejected": "Connection rejected by server. Please check your authentication and network configuration.",
"hostKeyRejected": "SSH host key verification rejected. Connection cancelled.",
"sessionTakenOver": "Session was opened in another tab. Reconnecting...",
"split": {
"splitTab": "Split Tab",
"addToSplit": "Add to Split",
@@ -2237,55 +2173,6 @@
"sectionApiKeys": "API Keys",
"sectionAuditLog": "Audit Log",
"sectionSsl": "SSL / Let's Encrypt",
"sectionTouchInput": "Touch Input",
"touchEnabled": "Enable Touch Input",
"touchEnabledDesc": "Allow one-finger touch scrolling in terminals",
"touchMomentumEnabled": "Enable Momentum",
"touchMomentumEnabledDesc": "Continue scrolling briefly after a swipe",
"touchAdvanced": "Advanced",
"touchDragThreshold": "Drag threshold",
"touchMaxWheelDelta": "Maximum wheel delta",
"touchMomentumSampleWindow": "Momentum sample window",
"touchReleaseGracePeriod": "Release grace period",
"touchMinimumVelocity": "Minimum velocity",
"touchMaximumVelocity": "Maximum velocity",
"touchMaximumDuration": "Maximum duration",
"touchMaximumTravel": "Maximum travel",
"touchDecayTime": "Decay time",
"touchPixelsPerTick": "Pixels per tick",
"touchMaximumFrameInterval": "Maximum frame interval",
"touchMaximumTicksPerFrame": "Maximum ticks per frame",
"touchResetDefaults": "Reset to defaults",
"touchSaved": "Touch input settings saved",
"touchSaveFailed": "Failed to save touch input settings",
"sectionImageStorage": "Image Storage",
"imageStorageMode": "Storage Mode",
"imageStorageModeDesc": "Where pasted and uploaded terminal images are written. Auto picks by connection, Local and Remote (SFTP) are fixed.",
"imageStorageModeAuto": "Auto",
"imageStorageModeLocal": "Local",
"imageStorageModeRemoteSftp": "Remote (SFTP)",
"imageStorageLocalDir": "Local directory",
"imageStorageLocalDirDesc": "Absolute path on the Termix backend. Not shown after saving for security.",
"imageStorageLocalDirPlaceholder": "Leave empty to keep current",
"imageStorageHostPath": "Host path",
"imageStorageHostPathDesc": "The host-side view of the local directory that terminal agents receive.",
"imageStorageTtl": "TTL (ms)",
"imageStorageMaxCount": "Max image count",
"imageStorageMaxBytes": "Max storage bytes",
"imageStorageSaved": "Image storage settings saved",
"imageStorageSaveFailed": "Failed to save image storage settings",
"imageStorageInstanceId": "Terminal session instance ID",
"imageStorageInstanceIdDesc": "Instance ID of one of your connected terminal tabs, used to test visibility.",
"imageStorageInstanceIdRequired": "Enter a terminal session instance ID first",
"imageStorageTest": "Test",
"imageStorageTesting": "Testing...",
"imageStorageTestFailed": "Failed to test image storage",
"imageStorageTestConnected": "Terminal session is connected.",
"imageStorageTestNotConnected": "No connected terminal session with this instance ID.",
"imageStorageTestSelectedMode": "An upload would use: {{mode}}",
"imageStorageSelectedModeUnavailable": "Unavailable",
"imageStorageTestLocalVisible": "The local directory is visible from the connected host.",
"imageStorageTestLocalNotVisible": "The local directory is NOT visible from the connected host.",
"sectionBranding": "White Label",
"brandingAppName": "Application Name",
"brandingAppNameDesc": "Shown on the login screen and browser tab. Leave empty to use \"Termix\".",
@@ -2368,9 +2255,6 @@
"oidcSilentLoginDefaultLockedDesc": "This setting is locked by the OIDC_SILENT_LOGIN_DEFAULT environment variable and cannot be changed here.",
"allowPasswordReset": "Allow Password Reset",
"allowPasswordResetDesc": "Reset code via Docker logs",
"commandHistoryEnabled": "Command History",
"commandHistoryEnabledDesc": "Allow command history recording. When disabled, history is not saved regardless of per-host settings.",
"updateCommandHistoryFailed": "Failed to update command history setting",
"analyticsEnabled": "Share Anonymous Usage Statistics",
"analyticsEnabledDesc": "Sends an anonymous daily count of users, hosts, and feature usage to help improve Termix. No personal data or connection details are ever included.",
"analyticsEnabledLockedDesc": "This setting is locked by the ENABLE_TELEMETRY environment variable and cannot be changed here.",
@@ -2655,11 +2539,6 @@
"hostDefaultsTerminal": "Terminal",
"hostDefaultsAutoTmux": "Auto-Tmux",
"hostDefaultsAutoTmuxDesc": "Run new hosts' terminals inside tmux so sessions survive disconnects (needs tmux on the host)",
"terminalSessionTimeout": "Terminal Session Persistence",
"terminalSessionTimeoutDesc": "How long a disconnected terminal is kept alive on the server before it is closed. Min 1 · Max 1440 minutes. For sessions that must outlive this, enable Auto-Tmux on the host.",
"terminalSessionTimeoutRange": "Enter a value between 1 and 1440 minutes",
"terminalSessionTimeoutSaved": "Terminal session persistence saved",
"terminalSessionTimeoutSaveFailed": "Failed to save terminal session persistence",
"minutes": "minutes",
"hostDefaultsSessionLogging": "Session Logging",
"hostDefaultsSessionLoggingDesc": "Record terminal sessions on new hosts by default",
@@ -2743,15 +2622,6 @@
"connectToTerminal": "Connect to Terminal",
"connectToFiles": "Connect to Files"
},
"history": {
"noTerminalSelected": "No terminal selected",
"noTerminalSelectedHint": "Open an SSH terminal tab to view its command history",
"searchPlaceholder": "Search history...",
"clearAll": "Clear All",
"noHistoryEntries": "No history entries",
"trackingDisabled": "History tracking is disabled",
"trackingDisabledHint": "Enable it in the host's terminal settings."
},
"sshTools": {
"keyRecordingTitle": "Key Recording",
"recordToTerminals": "Record to terminals",
@@ -3217,30 +3087,11 @@
"terminalToolbar": {
"title": "Terminal Toolbar",
"showActions": "Show toolbar",
"hideToolbar": "Hide toolbar",
"showToolbar": "Expand toolbar",
"moveToolbar": "Move toolbar",
"moveToolbarHint": "Drag to reposition the toolbar",
"layout": "Toolbar display mode",
"layoutIcon": "Icon only",
"layoutLabeled": "Icons and labels",
"layoutExpanded": "Expanded with metrics",
"image": "Image actions (images only)",
"upload": "Upload image",
"paste": "Paste image",
"detachTmux": "Detach tmux",
"detachTmuxDescription": "Detach tmux session",
"imageActionFailed": "Image action failed",
"retry": "Retry",
"dismissError": "Dismiss image error",
"cpu": "CPU",
"memory": "Memory",
"disk": "Disk",
"statsUnavailable": "Live stats unavailable",
"tmuxDetach": "Detach tmux session",
"uploadImage": "Upload an image to the host",
"uploadingImage": "Uploading...",
"pasteImage": "Paste image from clipboard (images only)",
"openFiles": "Open Files",
"openDocker": "Open Docker",
"openTunnel": "Open Tunnel",
@@ -3324,31 +3175,6 @@
"timeHours": "{{count}}h ago",
"timeDays": "{{count}}d ago"
},
"mobileKeyboard": {
"shift": "Shift",
"ctrl": "Ctrl",
"esc": "Esc",
"tab": "Tab",
"backTab": "⇥",
"arrowUp": "Arrow Up",
"arrowDown": "Arrow Down",
"arrowLeft": "Arrow Left",
"arrowRight": "Arrow Right",
"home": "Home",
"end": "End",
"pageUp": "PgUp",
"pageDown": "PgDn",
"delete": "Del",
"paste": "Paste",
"editQuickKeys": "Edit quick keys",
"quickKeysTitle": "Quick Keys",
"quickKeysDesc": "Tap × to remove. Supports up to 8 characters.",
"quickKeyPlaceholder": "e.g. sudo ",
"addQuickKey": "Add",
"removeQuickKey": "Remove",
"resetDefaults": "Reset to defaults",
"done": "Done"
},
"serial": {
"title": "Serial",
"portLabel": "Port",