diff --git a/ExerciseChecker/.idea/.gitignore b/ExerciseChecker/.idea/.gitignore
index 13566b81b018ad684f3a35fee301741b2734c8f4..a9d7db9c0a81b2db47ca92e4e180b30090b27632 100644
--- a/ExerciseChecker/.idea/.gitignore
+++ b/ExerciseChecker/.idea/.gitignore
@@ -6,3 +6,5 @@
 # Datasource local storage ignored files
 /dataSources/
 /dataSources.local.xml
+# GitHub Copilot persisted chat sessions
+/copilot/chatSessions
diff --git a/ExerciseChecker/src/app.ts b/ExerciseChecker/src/app.ts
index fd63ba82c031bcfb5f0e6ecdc3964f20e38e6add..4ffeb034bcdd412ce20b80677f15fe5c5d93f39d 100644
--- a/ExerciseChecker/src/app.ts
+++ b/ExerciseChecker/src/app.ts
@@ -50,9 +50,11 @@ async function downloadImmutablesFiles() {
     }
 
     exerciseAssignment.immutable.forEach(immutableFile => {
-        const filePath = path.join(Config.folders.project, immutableFile.file_path);
-        fs.mkdirSync(path.dirname(filePath), { recursive: true });
-        fs.writeFileSync(filePath, immutableFile.content, { encoding: 'base64' });
+        if ( typeof immutableFile.content === 'string' ) {
+            const filePath = path.join(Config.folders.project, immutableFile.file_path);
+            fs.mkdirSync(path.dirname(filePath), { recursive: true });
+            fs.writeFileSync(filePath, immutableFile.content, { encoding: 'base64' });
+        }
     });
 
     haveResultsVolume = exerciseAssignment.assignmentFile.result.volume !== undefined;
diff --git a/ExerciseChecker/src/managers/GitlabManager.ts b/ExerciseChecker/src/managers/GitlabManager.ts
new file mode 100644
index 0000000000000000000000000000000000000000..3d1c0503d69366e46ceda7d60f383748c7229c2f
--- /dev/null
+++ b/ExerciseChecker/src/managers/GitlabManager.ts
@@ -0,0 +1,13 @@
+import SharedGitlabManager from '../shared/managers/SharedGitlabManager';
+
+// NOT USED
+// File present only for prevent errors from shared submodules
+
+class GitlabManager extends SharedGitlabManager {
+    constructor() {
+        super('');
+    }
+}
+
+
+export default new GitlabManager();
\ No newline at end of file
diff --git a/ExerciseChecker/src/shared b/ExerciseChecker/src/shared
index 75fedb26c47bb6f707725307a79a45a13e62496d..e1ffeb584f5c7805befd951cb82ca179eabcaabb 160000
--- a/ExerciseChecker/src/shared
+++ b/ExerciseChecker/src/shared
@@ -1 +1 @@
-Subproject commit 75fedb26c47bb6f707725307a79a45a13e62496d
+Subproject commit e1ffeb584f5c7805befd951cb82ca179eabcaabb
diff --git a/ExerciseChecker/src/sharedByClients b/ExerciseChecker/src/sharedByClients
index c4efbcfb2a50e7108e101fb673e84f87fad8e246..488f4ee9aab9fb87d198af93fdb860cc626963d8 160000
--- a/ExerciseChecker/src/sharedByClients
+++ b/ExerciseChecker/src/sharedByClients
@@ -1 +1 @@
-Subproject commit c4efbcfb2a50e7108e101fb673e84f87fad8e246
+Subproject commit 488f4ee9aab9fb87d198af93fdb860cc626963d8