diff --git a/deadlock-plugins/deadlock-extension/src/core/config.ts b/deadlock-plugins/deadlock-extension/src/core/config.ts index 9dbf60baf06d19973a8a8abf05f0d17c45b8cec0..af4fa38c1f3f2058572aca19eab0265ef3f67963 100644 --- a/deadlock-plugins/deadlock-extension/src/core/config.ts +++ b/deadlock-plugins/deadlock-extension/src/core/config.ts @@ -10,6 +10,7 @@ const deadlockExtensionPath = path.join(homeDir, 'deadlock-extension'); const deadlockConfigPath = path.join(homeDir, '.deadlock'); export const userSshKeyFolderPath = path.join(deadlockConfigPath, '.ssh'); +export const missionWorkDirPath = path.join(deadlockConfigPath, 'workspace'); export const PROJECT_SRC_PATH = onContainer ? '/project' : path.join(homeDir, 'deadlock-extension', '/project'); diff --git a/deadlock-plugins/deadlock-extension/src/core/controller.ts b/deadlock-plugins/deadlock-extension/src/core/controller.ts index 70a7e01fcfb6d2b3572c288e519cbffc31c25e32..dfc24dc71a15088d2102f115663559b7d2dcc97e 100644 --- a/deadlock-plugins/deadlock-extension/src/core/controller.ts +++ b/deadlock-plugins/deadlock-extension/src/core/controller.ts @@ -12,7 +12,7 @@ import { extensionLog as log } from '../recorder/utils/log'; import { commands, ExtensionContext, Uri, window } from 'vscode'; import { createSshKeyFiles } from './sshKeyManager'; import { removeFiles } from '../recorder/utils/workdir'; -import { userSshKeyFolderPath } from './config'; +import { userSshKeyFolderPath, missionWorkDirPath } from './config'; import { hasStatusNumber } from './utils/typeguards'; import { User } from './mission/models/userChallenge'; @@ -77,6 +77,7 @@ export default class Controller { }); this.quickSetupView.isAlreadyConnected = (await this.extensionStore.getAccessToken()) !== undefined; + this.setDefaultMissionWorkdir(); } async chooseMissionWorkdir() { @@ -99,9 +100,14 @@ export default class Controller { } } + private setDefaultMissionWorkdir() { + this.extensionStore.setMissionWorkdir(missionWorkDirPath); + } + public async disconnect() { await removeFiles(`${userSshKeyFolderPath}/id_rsa`, `${userSshKeyFolderPath}/id_rsa.pub`); await this.extensionStore.clear(); + this.setDefaultMissionWorkdir(); this.quickSetupView.isAlreadyConnected = false; } diff --git a/deadlock-plugins/deadlock-extension/src/view/quickSetupView.ts b/deadlock-plugins/deadlock-extension/src/view/quickSetupView.ts index 5fb0bc98210ca87fb44ca87e5cc519144e3fb6f3..a620cc6420790dde340092aae7f63e062e50e3f5 100644 --- a/deadlock-plugins/deadlock-extension/src/view/quickSetupView.ts +++ b/deadlock-plugins/deadlock-extension/src/view/quickSetupView.ts @@ -66,6 +66,7 @@ export default class QuickSetupView extends WebviewBase { onClickFunctionName: 'launchChooseMissionWorkdirAction', }, hadMissionWorkdir, + true, )} </div> `;