Document Milestone 3 deliverables and SSH prerequisites
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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`
|
||||
|
||||
Reference in New Issue
Block a user