Skip to content

fix(remote): create folders and preserve host routing - #11195

Open
DevZonayed wants to merge 7708 commits into
stablyai:mainfrom
DevZonayed:fix/ssh-folder-creation-and-terminal-routing
Open

fix(remote): create folders and preserve host routing#11195
DevZonayed wants to merge 7708 commits into
stablyai:mainfrom
DevZonayed:fix/ssh-folder-creation-and-terminal-routing

Conversation

@DevZonayed

Copy link
Copy Markdown

Summary

  • Add safe folder creation to the remote host filesystem picker for direct SSH and paired runtimes.
  • Preserve the selected runtime when adding a server path, scanning nested repositories, and opening its terminal.
  • Gate paired-runtime folder creation by capability so older servers receive an actionable update message instead of an unknown-method error.

Screenshots

The host picker behavior was validated in the desktop app and against the live Ubuntu runtime. No screenshot is attached because the visible change is limited to the existing inline new-folder form.

Testing

  • pnpm lint
  • pnpm typecheck
  • pnpm test
  • pnpm build
  • Added or updated tests

Full-suite result: 3,687 test files and 38,878 tests passed. Two assertions in the unrelated src/relay/agent-exec-handler.test.ts fixture fail only when the agent shell duplicates injected GIT_CONFIG_* entries. The file passes 10/10 with those harness variables removed.

Additional verification:

  • Targeted remote folder, runtime routing, and terminal tests: 10 files / 1,482 tests passed.
  • Built and ran the branch AppImage on the Ubuntu host connected over Tailscale.
  • Created, browsed, and removed a test directory through the live paired-runtime RPC.
  • Audited 18 packaged Linux native binaries against the Ubuntu 20.04 / glibc 2.31 floor.

AI Review Report

Three parallel root-cause reviews covered runtime protocol compatibility, selected-host persistence, and terminal ownership. The implementation was then checked for:

  • macOS, Linux, and Windows path handling and runtime behavior.
  • direct SSH and paired-runtime execution.
  • folder workspaces as well as Git repositories and worktrees.
  • provider-neutral source-control behavior.

Security Audit

  • Folder names reject empty names, dot segments, path separators, and control characters.
  • Creation uses filesystem APIs/RPC rather than shell command construction.
  • Existing paths are not overwritten.
  • Direct SSH operations retain connection-generation checks.
  • Paired-runtime operations require the authenticated runtime connection and advertised capability.
  • Terminal routing rejects conflicting saved SSH ownership instead of silently falling back to the local host.

Notes

  • Paired servers must advertise files.server-directory-create.v1; older versions show an update-required message.
  • Existing project entries saved with incorrect local ownership need to be removed and re-added once so their remote host metadata is persisted.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.