From 722b6ab09cab80c1fbf1fb5575be9a524e9be8ae Mon Sep 17 00:00:00 2001
From: Alex <apuret@takima.fr>
Date: Wed, 8 Dec 2021 16:51:52 +0100
Subject: [PATCH] chore: setup default settings, fix briefing loader

---
 Dockerfile                                             |  2 +-
 build-plugins.sh                                       |  2 +-
 .../deadlock-extension/src/view/briefingView.ts        |  2 +-
 deadlock-plugins/deadlock-extension/src/view/view.ts   | 10 +++++++++-
 .../.theia/plugin-storage}/global-state.json           |  0
 default/.theia/settings.json                           |  9 +++++++++
 6 files changed, 21 insertions(+), 4 deletions(-)
 rename {plugin-storage => default/.theia/plugin-storage}/global-state.json (100%)
 create mode 100644 default/.theia/settings.json

diff --git a/Dockerfile b/Dockerfile
index 4eda4a3d..f0f98e21 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -8,7 +8,7 @@ RUN apt install rsync -y
 RUN apt install vim -y
 
 COPY plugins /home/plugins
-COPY plugin-storage/global-state.json /home/theia/.theia/plugin-storage/global-state.json
+COPY default/.theia/ /home/theia/.theia/
 RUN chown theia /home/theia/.theia -R
 RUN chown theia /home/plugins -R
 
diff --git a/build-plugins.sh b/build-plugins.sh
index 764f6d0c..cd04431c 100755
--- a/build-plugins.sh
+++ b/build-plugins.sh
@@ -10,6 +10,6 @@ for dir in deadlock-plugins/*/; do
     CURRENT_PLUGIN_DIR=$(basename "$PWD")
     ./install.sh
     ./build.sh CI_COMMIT_SHORT_SHA
-    cp *.vsix ../../plugins/$CURRENT_PLUGIN_DIR-$CI_COMMIT_SHORT_SHA.vsix
+    cp -f *.vsix ../../plugins/$CURRENT_PLUGIN_DIR-$CI_COMMIT_SHORT_SHA.vsix
     cd -
 done
diff --git a/deadlock-plugins/deadlock-extension/src/view/briefingView.ts b/deadlock-plugins/deadlock-extension/src/view/briefingView.ts
index 827e56b3..6da57e16 100644
--- a/deadlock-plugins/deadlock-extension/src/view/briefingView.ts
+++ b/deadlock-plugins/deadlock-extension/src/view/briefingView.ts
@@ -63,7 +63,7 @@ export default class BriefingView extends WebviewBase {
                 this.briefingContent = this.setupImages(document.getText());
               } catch (e) {
                 console.error(e);
-                this.briefingContent = 'Error while parsing your briefing.'
+                this.briefingContent = 'Error while parsing your briefing.';
               }
               this.show();
             },
diff --git a/deadlock-plugins/deadlock-extension/src/view/view.ts b/deadlock-plugins/deadlock-extension/src/view/view.ts
index 4bc8ed74..c2387c80 100644
--- a/deadlock-plugins/deadlock-extension/src/view/view.ts
+++ b/deadlock-plugins/deadlock-extension/src/view/view.ts
@@ -181,6 +181,14 @@ export default abstract class View {
 
     // append in the HTML head<script nonce="${nonce}" src="${scriptUri}"></script>
 
+    let content = '';
+    try {
+      content = this.render();
+    } catch (e) {
+      console.error('Erreur lors du render', e);
+      content = 'Impossible d\'afficher le rendu, nous sommes désolés';
+    }
+
     return `<!DOCTYPE html><html lang="en">
 		<head>
 		  <meta charset="UTF-8">
@@ -189,7 +197,7 @@ export default abstract class View {
 		</head>
 		<body>
 			<div>
-				${this.render()}
+				${content}
 			</div>
 		</body></html>`;
   }
diff --git a/plugin-storage/global-state.json b/default/.theia/plugin-storage/global-state.json
similarity index 100%
rename from plugin-storage/global-state.json
rename to default/.theia/plugin-storage/global-state.json
diff --git a/default/.theia/settings.json b/default/.theia/settings.json
new file mode 100644
index 00000000..a2b0693a
--- /dev/null
+++ b/default/.theia/settings.json
@@ -0,0 +1,9 @@
+{
+  "files.exclude": {
+    "**/.classpath": true,
+    "**/.project": true,
+    "**/.settings": true,
+    "**/.factorypath": true
+  },
+  "editor.autoSave": "on"
+}
-- 
GitLab