diff --git a/deadlock-plugins/deadlock-extension/src/core/api.service.ts b/deadlock-plugins/deadlock-extension/src/core/api.service.ts
index 630de2ca05ec413ad3e43f12699afb10bc90c784..b7321240493e82d6aef594a04a102d062dfdce38 100644
--- a/deadlock-plugins/deadlock-extension/src/core/api.service.ts
+++ b/deadlock-plugins/deadlock-extension/src/core/api.service.ts
@@ -1,4 +1,4 @@
-import axios, { AxiosInstance, AxiosRequestConfig } from 'axios';
+import axios, { AxiosInstance } from 'axios';
 import { API_QUERY_REFERER, API_URL } from '../config';
 import { GiteaPublicProperties } from '../model/giteaPublicProperties.model';
 import { SshKeyPair } from '../model/sshKeyPair.model';
diff --git a/deadlock-plugins/deadlock-extension/src/core/gitMission.ts b/deadlock-plugins/deadlock-extension/src/core/gitMission.ts
index 7c704b02fdb5db2b0c0412f639fb55fd4c83d22f..3bed6fd3f7d48a2dfcfa785cbf38a84cc76af3d0 100644
--- a/deadlock-plugins/deadlock-extension/src/core/gitMission.ts
+++ b/deadlock-plugins/deadlock-extension/src/core/gitMission.ts
@@ -49,7 +49,7 @@ export default class GitMission {
       log('Setup ssh agent');
       await this.setupSshAgent();
 
-      console.log('Init Git mission..');
+      log('Init Git mission..');
 
       const remote = await this.readRemote();
 
diff --git a/deadlock-plugins/deadlock-extension/src/recorder/index.ts b/deadlock-plugins/deadlock-extension/src/recorder/index.ts
index 157d18f4b1604fedc96f92ff8f339c33362ca41a..0927ecf4f9af934c3d3ce1b92339570c9d0abaef 100644
--- a/deadlock-plugins/deadlock-extension/src/recorder/index.ts
+++ b/deadlock-plugins/deadlock-extension/src/recorder/index.ts
@@ -1,5 +1,5 @@
-import { Branch } from './../core/gitMission';
-import { ENABLE_AUTOMATIC_SAVE } from './../config';
+import { Branch } from '../core/gitMission';
+import { ENABLE_AUTOMATIC_SAVE } from '../config';
 import CommandRecorder from './command-recorder';
 import GitMission from '../core/gitMission';
 import UserConfigNode from './userConfigNode';
@@ -63,10 +63,7 @@ export default class Recorder {
       log('Init GitMission');
       gitMission = await new GitMission(userConfig).init();
 
-      if (ENABLE_RECORDER_HTTP_SERVER) new HttpServer(gitMission);
       await this.setupFromRemoteRepo(gitMission);
-
-      if (ENABLE_AUTOMATIC_SAVE) new AutomaticSave(PROJECT_DEADLOCK_DESKTOP_PATH, gitMission);
     } catch (e) {
       error('Cannot setup user repo.');
       error(e);
@@ -77,6 +74,20 @@ export default class Recorder {
       error('Error while setup project sources');
       error(e);
     }
+
+    try {
+      if (ENABLE_AUTOMATIC_SAVE) new AutomaticSave(PROJECT_DEADLOCK_DESKTOP_PATH, gitMission);
+    } catch (e) {
+      error('Error while setup automatic save');
+      error(e);
+    }
+
+    try {
+      if (ENABLE_RECORDER_HTTP_SERVER) new HttpServer(gitMission);
+    } catch (e) {
+      error('Error while setup recorder http server');
+      error(e);
+    }
   }
 }
 
diff --git a/deadlock-plugins/deadlock-extension/src/recorder/preStop.ts b/deadlock-plugins/deadlock-extension/src/recorder/preStop.ts
deleted file mode 100644
index a6f754c6bac81e0303b956b013ecb2eeda77a3ed..0000000000000000000000000000000000000000
--- a/deadlock-plugins/deadlock-extension/src/recorder/preStop.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import UserConfigNode from './userConfigNode';
-import GitMission from '../core/gitMission';
-import { PROJECT_DEADLOCK_DESKTOP_PATH, PROJECT_SRC_PATH } from '../core/config';
-
-import { CommitFrom, error, log, updateRemote } from './utils';
-
-const util = require('util');
-const exec = util.promisify(require('child_process').exec);
-
-async function containsDiff() {
-  try {
-    // https://man7.org/linux/man-pages/man1/diff.1.html
-    // Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.
-    await exec(`diff -qr ${PROJECT_SRC_PATH} ${PROJECT_DEADLOCK_DESKTOP_PATH}`);
-    // When status code is 0 exec does not fail
-  } catch (result) {
-    // when status code is > 0
-    if (result.code === 1) {
-      const stdout = result.stdout;
-      if (stdout.indexOf('Files ') !== -1 || stdout.indexOf('Only in /home/deadlock/') !== -1) {
-        // if user created new file or added a directory
-        return true;
-      }
-    } else {
-      // print error
-      error(result.stderr);
-    }
-  }
-  return false;
-}
-
-(async () => {
-  try {
-    log('Container will die');
-
-    const userConfig = new UserConfigNode();
-    await userConfig.init();
-
-    if (!userConfig.isProfessor()) {
-      log('Save user code..');
-      const gitMission = await new GitMission(userConfig).init();
-      if (await containsDiff()) {
-        await updateRemote(gitMission, CommitFrom.Auto);
-      }
-    }
-  } catch (e) {
-    error('Cannot push user code at the end..');
-    error(e);
-  }
-})();
diff --git a/deadlock-plugins/deadlock-extension/src/recorder/services/file-watcher.ts b/deadlock-plugins/deadlock-extension/src/recorder/services/file-watcher.ts
index b46e7a142396970c3f7c7b56f845a6da4a1523d8..133048b84824e25cb69b094e29764a4f24a71ff5 100644
--- a/deadlock-plugins/deadlock-extension/src/recorder/services/file-watcher.ts
+++ b/deadlock-plugins/deadlock-extension/src/recorder/services/file-watcher.ts
@@ -11,13 +11,11 @@ export default class FileWatcher {
   }
 
   setupWatcher() {
-    // Without timeout, chokidar watch when file is init
-    setTimeout(() => {
-      const watcher = chokidar.watch(this.watchFilePatterns, {
-        cwd: this.folderToWatch,
-        ignored: this.ignoreFilePatterns,
-      });
-      watcher.on('change', this.onFilesChangeAction);
-    }, 1000);
+    const watcher = chokidar.watch(this.watchFilePatterns, {
+      cwd: this.folderToWatch,
+      ignored: this.ignoreFilePatterns,
+      ignoreInitial: true,
+    });
+    watcher.on('change', this.onFilesChangeAction);
   }
 }
diff --git a/deadlock-plugins/deadlock-extension/src/recorder/utils.ts b/deadlock-plugins/deadlock-extension/src/recorder/utils.ts
index aad779a410064e9e17955cc4d9694af067592a22..f3737fdc1f1f5975e2b48b6864ccf79c3a71a353 100644
--- a/deadlock-plugins/deadlock-extension/src/recorder/utils.ts
+++ b/deadlock-plugins/deadlock-extension/src/recorder/utils.ts
@@ -138,7 +138,7 @@ async function commitAndPushCode(gitMission: GitMission) {
     await gitMission.commit(currentDate);
     await gitMission.push();
     log('Commit & push done.');
-  } catch (e) {
+  } catch (e: any) {
     error(`[${e.status}] cannot commitAndPush code: ${e.stderr}`);
     error(e.message);
     throw new Error(e);
@@ -157,7 +157,7 @@ async function mergeMaster(gitMission: GitMission) {
     await gitMission.push();
     log('Merge to master done');
     await gitMission.checkout(Branch.LIVE);
-  } catch (e) {
+  } catch (e: any) {
     error(`[${e.status}] cannot commitAndPush code: ${e.stderr}`);
     error(e.message);
     throw new Error(e);
diff --git a/start.desktop.sh b/start.desktop.sh
index c7847a1f74d635392709b99f5dcab2bc7ff6eb14..e211e094b220bef792b589d21ab61ae80c54647f 100644
--- a/start.desktop.sh
+++ b/start.desktop.sh
@@ -24,7 +24,7 @@ else
 fi
 
 
-su deadlock -c "python setup_trace.py"
+su deadlock -c "sudo python /setup_trace.py"
 rm setup_trace.py