From d3923903baba287dbd94d74cb7d745d6c06e8571 Mon Sep 17 00:00:00 2001
From: "@mazikiou" <mazikiou@takima.fr>
Date: Wed, 24 Aug 2022 15:06:48 +0200
Subject: [PATCH] fix: ssh authentification

---
 .../deadlock-extension/.vscode/launch.json        |  4 ++--
 deadlock-plugins/deadlock-extension/ff.ff         |  1 +
 .../deadlock-extension/package-lock.json          |  4 ++--
 deadlock-plugins/deadlock-extension/package.json  |  2 +-
 .../deadlock-extension/src/core/gitMission.ts     | 15 ++++++++++++++-
 .../deadlock-extension/src/core/utils/log.ts      |  4 ++--
 6 files changed, 22 insertions(+), 8 deletions(-)
 create mode 100644 deadlock-plugins/deadlock-extension/ff.ff

diff --git a/deadlock-plugins/deadlock-extension/.vscode/launch.json b/deadlock-plugins/deadlock-extension/.vscode/launch.json
index fb0ffe18..77fe2cbf 100644
--- a/deadlock-plugins/deadlock-extension/.vscode/launch.json
+++ b/deadlock-plugins/deadlock-extension/.vscode/launch.json
@@ -22,7 +22,7 @@
       "env": {
         "DL_MOUNT_EXTENSION": "true",
         // TODO: SETTING: replace with your own extension path
-        "EXTENSION_PATH": "${workspaceFolder}/deadlock-coding-0.1.18.vsix"
+        "EXTENSION_PATH": "${workspaceFolder}/deadlock-coding-0.1.19.vsix"
       },
       "preLaunchTask": "${defaultBuildTask}"
     },
@@ -35,7 +35,7 @@
       "env": {
         "DL_MOUNT_EXTENSION": "true",
         // TODO: SETTING: replace with your own extension path
-        "EXTENSION_PATH": "${workspaceFolder}/deadlock-coding-0.1.18.vsix"
+        "EXTENSION_PATH": "${workspaceFolder}/deadlock-coding-0.1.19.vsix"
       },
       "preLaunchTask": "tasks: build and watch"
     },
diff --git a/deadlock-plugins/deadlock-extension/ff.ff b/deadlock-plugins/deadlock-extension/ff.ff
new file mode 100644
index 00000000..fcd15acf
--- /dev/null
+++ b/deadlock-plugins/deadlock-extension/ff.ff
@@ -0,0 +1 @@
+ff
diff --git a/deadlock-plugins/deadlock-extension/package-lock.json b/deadlock-plugins/deadlock-extension/package-lock.json
index edd5752a..aaf6fe24 100644
--- a/deadlock-plugins/deadlock-extension/package-lock.json
+++ b/deadlock-plugins/deadlock-extension/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "deadlock-coding",
-  "version": "0.1.18",
+  "version": "0.1.19",
   "lockfileVersion": 2,
   "requires": true,
   "packages": {
     "": {
       "name": "deadlock-coding",
-      "version": "0.1.18",
+      "version": "0.1.19",
       "dependencies": {
         "@types/tar": "^6.1.1",
         "@vscode/webview-ui-toolkit": "^1.0.0",
diff --git a/deadlock-plugins/deadlock-extension/package.json b/deadlock-plugins/deadlock-extension/package.json
index 468b9d21..d52ccff4 100644
--- a/deadlock-plugins/deadlock-extension/package.json
+++ b/deadlock-plugins/deadlock-extension/package.json
@@ -1,7 +1,7 @@
 {
   "name": "deadlock-coding",
   "description": "Deadlock Coding",
-  "version": "0.1.18",
+  "version": "0.1.19",
   "publisher": "Deadlock",
   "icon": "media/logo.png",
   "engines": {
diff --git a/deadlock-plugins/deadlock-extension/src/core/gitMission.ts b/deadlock-plugins/deadlock-extension/src/core/gitMission.ts
index af69a29a..e6189dac 100644
--- a/deadlock-plugins/deadlock-extension/src/core/gitMission.ts
+++ b/deadlock-plugins/deadlock-extension/src/core/gitMission.ts
@@ -5,6 +5,10 @@ import { promisify } from 'util';
 import ApiService from './api.service';
 import UserMission from './mission/model/userMission';
 import { error, warn } from './utils/log';
+import { existsSync } from 'fs';
+import { createDirectories } from '../recorder/utils/workdir';
+import { homedir } from 'os';
+import { join } from 'path';
 
 const exec = promisify(execCallback);
 
@@ -34,9 +38,18 @@ export default class GitMission {
   }
 
   async setupSshAgent() {
+    const sshFolder = join(homedir(), '.ssh');
     try {
+      if (!existsSync(sshFolder)) {
+        await createDirectories(sshFolder);
+      }
       const gitea = await ApiService.instance.getGiteaPublicProperties();
-      await exec(`eval "$(ssh-agent -s)" && ssh-keyscan -p ${gitea.sshPort} -H ${gitea.sshHost} >> ~/.ssh/known_hosts`);
+      await exec(
+        `eval "$(ssh-agent -s)" && ssh-keyscan -p ${gitea.sshPort} -H ${gitea.sshHost} >> ${join(
+          sshFolder,
+          'known_hosts',
+        )}`,
+      );
       await exec(`ssh-add ${getSshFolderPath()}/id_rsa`);
     } catch (err) {
       error('Could not add ssh keys', err);
diff --git a/deadlock-plugins/deadlock-extension/src/core/utils/log.ts b/deadlock-plugins/deadlock-extension/src/core/utils/log.ts
index 233ed0cf..3f2429d9 100644
--- a/deadlock-plugins/deadlock-extension/src/core/utils/log.ts
+++ b/deadlock-plugins/deadlock-extension/src/core/utils/log.ts
@@ -1,5 +1,5 @@
-const logTemplate = (logFunction: (_: any) => void, prefix: string, message: any, ...args: any[]) => {
-  console.log(`[${prefix}] ${message}`, ...args);
+const logTemplate = (logFunction: (_: any, ...args: any[]) => void, prefix: string, message: any, ...args: any[]) => {
+  logFunction(`[${prefix}] ${message}`, ...args);
 };
 
 export function error(message: any, ...args: any[]) {
-- 
GitLab