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 update
|
||||||
sudo apt install -y \
|
sudo apt install -y \
|
||||||
build-essential cmake ninja-build git pkg-config \
|
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 -S . -B build -G Ninja
|
||||||
cmake --build build
|
cmake --build build
|
||||||
@@ -20,7 +21,7 @@ cmake --build build
|
|||||||
```bash
|
```bash
|
||||||
xcode-select --install
|
xcode-select --install
|
||||||
brew update
|
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 -S . -B build -G Ninja -DCMAKE_PREFIX_PATH="$(brew --prefix qt@6)"
|
||||||
cmake --build build
|
cmake --build build
|
||||||
@@ -33,6 +34,7 @@ cmake --build build
|
|||||||
winget install -e --id Git.Git
|
winget install -e --id Git.Git
|
||||||
winget install -e --id Kitware.CMake
|
winget install -e --id Kitware.CMake
|
||||||
winget install -e --id Ninja-build.Ninja
|
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 `
|
winget install -e --id Microsoft.VisualStudio.2022.BuildTools `
|
||||||
--override "--quiet --wait --norestart --add Microsoft.VisualStudio.Workload.VCTools"
|
--override "--quiet --wait --norestart --add Microsoft.VisualStudio.Workload.VCTools"
|
||||||
```
|
```
|
||||||
@@ -53,4 +55,5 @@ cmake --build build
|
|||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
- OrbitHub currently requires Qt6 Widgets and CMake 3.21+.
|
- 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.
|
- 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
|
- Connect loads full profile details into session tab
|
||||||
- Session lifecycle states in UI (`Connecting`, `Connected`, `Failed`) with non-blocking updates
|
- Session lifecycle states in UI (`Connecting`, `Connected`, `Failed`) with non-blocking updates
|
||||||
- Tag: v0-m2-done
|
- 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:
|
Git:
|
||||||
- Tag: `v0-m2-done`
|
- 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