Document Milestone 3 deliverables and SSH prerequisites

This commit is contained in:
Keith Smith
2026-03-01 09:37:43 -07:00
parent 71a2f2e868
commit e2a8b874d7
3 changed files with 35 additions and 2 deletions

View File

@@ -8,7 +8,8 @@ Run all commands from the repository root unless noted.
sudo apt update
sudo apt install -y \
build-essential cmake ninja-build git pkg-config \
qt6-base-dev qt6-base-dev-tools qt6-tools-dev qt6-tools-dev-tools
qt6-base-dev qt6-base-dev-tools qt6-tools-dev qt6-tools-dev-tools \
openssh-client
cmake -S . -B build -G Ninja
cmake --build build
@@ -20,7 +21,7 @@ cmake --build build
```bash
xcode-select --install
brew update
brew install cmake ninja pkg-config qt@6
brew install cmake ninja pkg-config qt@6 openssh
cmake -S . -B build -G Ninja -DCMAKE_PREFIX_PATH="$(brew --prefix qt@6)"
cmake --build build
@@ -33,6 +34,7 @@ cmake --build build
winget install -e --id Git.Git
winget install -e --id Kitware.CMake
winget install -e --id Ninja-build.Ninja
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
winget install -e --id Microsoft.VisualStudio.2022.BuildTools `
--override "--quiet --wait --norestart --add Microsoft.VisualStudio.Workload.VCTools"
```
@@ -53,4 +55,5 @@ cmake --build build
## Notes
- OrbitHub currently requires Qt6 Widgets and CMake 3.21+.
- Milestone 3 SSH sessions require an `ssh` client available on `PATH`.
- If Qt is installed in a custom location, pass `-DCMAKE_PREFIX_PATH=/path/to/Qt/6.x.x/<toolchain>` to CMake.

View File

@@ -64,3 +64,16 @@ OrbitHub uses a two-window model:
- Connect loads full profile details into session tab
- Session lifecycle states in UI (`Connecting`, `Connected`, `Failed`) with non-blocking updates
- Tag: v0-m2-done
---
## Milestone 3
- Real SSH backend using native `ssh` process (connect, disconnect, reconnect)
- Protocol backend abstraction with worker-thread execution
- RDP/VNC explicitly marked as not implemented in session UX
- Connect-time credential prompts (password/private key path) with no secret storage in DB
- Session tab controls: `Connect`, `Disconnect`, `Reconnect`, `Copy Error`
- Per-session timestamped event log and user-friendly error mapping
- Profile schema extended with `private_key_path` and `known_hosts_policy`
- Tag: v0-m3-done

View File

@@ -43,3 +43,20 @@ Delivered:
Git:
- Tag: `v0-m2-done`
## Milestone 3 - Real SSH Backend and Session Controls
Status: Completed
Delivered:
- Backend architecture introduced (`SessionBackend` + protocol-specific implementations)
- Worker-thread backend execution for connection lifecycle operations
- Real SSH process backend (`ssh`) with connect/disconnect/reconnect
- Unsupported protocol backend with explicit not-implemented messaging (RDP/VNC)
- Session tab controls: `Connect`, `Disconnect`, `Reconnect`, `Copy Error`
- Connect-time credential flow (password prompt / private-key path selection)
- Session event log pane with timestamps and user-friendly error mapping
- SQLite profile schema migration for `private_key_path` and `known_hosts_policy`
Git:
- Tag: `v0-m3-done`