Phase 2: SSH & session management — add open/edit/delete/duplicate/import/export and SSH placeholders - #5
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Description
QuickConnectPanelto support password/private-key/passphrase/host-key policy and edit mode, wired intoAppflows for opening, saving and editing sessions, and added UI for import/export and per-session actions inSessionSidebar;StatusBarnow shows operation messages. (files:src/features/sessions/QuickConnectPanel.tsx,src/features/sessions/SessionSidebar.tsx,src/app/App.tsx,src/components/StatusBar.tsx,src/styles/global.css).HostKeyPolicy,HostKeyState,SessionExportBundle, extendedQuickConnectDraft, and new IPC helpersdeleteSession,duplicateSession,exportSessions,importSessions; preview-mode localStorage sanitization ensures credential refs are removed during export/import. (files:src/bindings/types.ts,src/bindings/ipc.ts).delete_session,duplicate_session,export_sessions, andimport_sessionswith validation and scrubbing ofcredential_ref, registered new Tauri commands (sessions_delete,sessions_duplicate,sessions_export,sessions_import), introduced SSH host-key policy/record types and a credential-store trait stub, and changed terminal SSH placeholder to emit a clear notice and mark the runtimefailedinstead of stayingconnecting. (files:src-tauri/src/config/mod.rs,src-tauri/src/commands/mod.rs,src-tauri/src/lib.rs,src-tauri/src/ssh/mod.rs,src-tauri/src/crypto/mod.rs,src-tauri/src/terminal/mod.rs).SessionProfileinto aQuickConnectDraftand reuses the existing terminal open flow.Testing
npm run typecheck(TypeScript checks) and it succeeded.npm run build/ Vite and it succeeded.cargo fmtsuccessfully andgit diff --checkpassed.cargo checkfor the Rust backend but it failed in this environment due to a missing system dependency required byglib-sys(glib-2.0.pc/ pkg-config); this is an environment issue rather than a code error and will block local Rust build in this container until system packages are available.Codex Task