ZTE tab redraws the input line via carriage return; parse the last prompt line from PTY stdout on Enter instead of stdin keystrokes. Also remove remaining ?? in AuditPage.
Co-authored-by: Cursor <cursoragent@cursor.com>
Remove duplicate serializeTerminal fragment that broke WebTerminal compilation; rewrite ne.exec_batch count without mixing ?? and ||.
Co-authored-by: Cursor <cursoragent@cursor.com>
On Enter, send audit_line from the terminal row so tab completion and edits match what the operator executed; keep the device prompt prefix in audit logs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Default logical bundles for parallel links with optional physical expand and clearer NE-named ports; capture selection on context menu so copy/paste works again.
Co-authored-by: Cursor <cursoragent@cursor.com>
New-session path filled wsUrl after mount, remounting the terminal and dropping the connect wait WS. Mint tickets from sessionId only and ignore late wsUrl changes.
Co-authored-by: Cursor <cursoragent@cursor.com>
Mint a fresh ws_ticket on every terminal mount, soft-retry transient WS drops without killing the PTY, auto-reattach on tab focus, and persist open sessions across leaving /webcrt.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep two warm terminals, coalesce stdout per frame, trim scrollback, and allow Telnet credential prompts for managed/quick-connect targets.
Co-authored-by: Cursor <cursoragent@cursor.com>
Open SFTP on the live session transport after SSH connect, pass the target path on every list refresh, and use folder/file icons in the browser panel.
Co-authored-by: Cursor <cursoragent@cursor.com>
Reuse detached sessions on reconnect, mount only the active tab, surface backpressure drops, gate SFTP for unsupported targets, and polish attach replay, find/recording performance, and terminal i18n.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add quick-connect sessions with credential retry, raw interactive drivers, bootstrap banner replay, Huawei telnet prompt cleanup, and session rename/delete in the tree.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use raw Telnet reads for ANSI backspace, drop local erase so Tab/completion stays in sync, and make WebSocket attach exclusive so StrictMode remounts cannot drop the first echo.
Co-authored-by: Cursor <cursoragent@cursor.com>
Capture Netmiko session_log for login replay, open NE terminals in a fresh tab, tidy the device list UI with reconnect/log/clear/copy, and paint a live prompt after attach so the first keystrokes behave normally.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drain and nudge the device prompt after Netmiko login, replay bootstrap stdout when the WebSocket attaches, and surface connect errors in the terminal pane.
Co-authored-by: Cursor <cursoragent@cursor.com>
Uvicorn had no WebSocket implementation without the websockets package, causing browser websocket_error. Also bypass flaky Vite WS proxy by targeting :8890 in local UI.
Co-authored-by: Cursor <cursoragent@cursor.com>
Allow brief WebSocket re-attach after React StrictMode cleanup, ensure terminal pane has layout height, and show connect status in xterm.
Co-authored-by: Cursor <cursoragent@cursor.com>