Terminal sessions can now start from a selected safe project worktree. - Add a Terminal modal worktree selector with searchable branch/path context and responsive styling. - Thread worktree selection through session hooks, terminal routes, and terminal service creation. - Centralize safe git worktree discovery and reuse it from git and terminal routes. - Cover the picker, hook behavior, service worktree validation, and route wiring with tests. - Document the terminal worktree picker and add a release changeset. Files changed: .changeset/fn-7253-terminal-worktree-picker.md | 7 + docs/dashboard-guide.md | 13 +- .../dashboard/app/components/TerminalModal.css | 189 +++++++++++++++- .../dashboard/app/components/TerminalModal.tsx | 190 ++++++++++++++++- .../components/__tests__/TerminalModal.test.tsx | 169 +++++++++++++++ .../hooks/__tests__/useTerminalSessions.test.ts | 237 ++++++++++++++++++++- .../dashboard/app/hooks/useTerminalSessions.ts | 59 +++-- .../src/__tests__/routes-automation.test.ts | 37 ++-- .../src/__tests__/terminal-service.test.ts | 125 +++++++++++ packages/dashboard/src/git-worktree-safety.ts | 113 ++++++++++ .../dashboard/src/routes/register-git-github.ts | 54 +---- .../src/routes/register-messaging-scripts.ts | 1 + .../src/routes/register-terminal-routes.ts | 1 + packages/dashboard/src/terminal-service.ts | 66 ++++-- 14 files changed, 1157 insertions(+), 104 deletions(-) Fusion-Task-Id: FN-7253 Fusion-Task-Lineage: 6a0c0b4f-74cc-42b3-8bbd-2ca94c4c26d9 Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
40 KiB
40 KiB