From d1a7d457e6711ebbe1f2a72a725c90e931ba185c Mon Sep 17 00:00:00 2001 From: Vincent Koc <25068+vincentkoc@users.noreply.github.com> Date: Wed, 24 Jun 2026 13:47:46 +0800 Subject: [PATCH] fix(openshell): preserve uploaded workspace root --- extensions/openshell/src/backend.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/extensions/openshell/src/backend.ts b/extensions/openshell/src/backend.ts index 4b68c9951aee..62ddac175b6b 100644 --- a/extensions/openshell/src/backend.ts +++ b/extensions/openshell/src/backend.ts @@ -738,9 +738,11 @@ class OpenShellSandboxBackendImpl { async ({ dir: tmpDir }) => { // Stage a symlink-free snapshot so upload never dereferences host paths // outside the mirrored workspace tree. + const remoteRootName = path.posix.basename(remotePath); + const stagedRoot = path.join(tmpDir, remoteRootName); await stageDirectoryContents({ sourceDir: localPath, - targetDir: tmpDir, + targetDir: stagedRoot, }); const result = await runOpenShellCli({ context: this.params.execContext, @@ -749,8 +751,8 @@ class OpenShellSandboxBackendImpl { "upload", "--no-git-ignore", this.params.execContext.sandboxName, - tmpDir, - remotePath, + stagedRoot, + path.posix.dirname(remotePath), ], cwd: this.params.createParams.workspaceDir, });