From 5555075bd82928a4e2da30dbd4e8e58b611344cb Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Thu, 15 Mar 2018 13:56:32 +0100
Subject: [PATCH] plugin is registered on the server before plugin resgister
 method is called

---
 frontend-js/src/main/js/plugin/Plugin.js | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/frontend-js/src/main/js/plugin/Plugin.js b/frontend-js/src/main/js/plugin/Plugin.js
index 72a915f85d..f8ee085afc 100644
--- a/frontend-js/src/main/js/plugin/Plugin.js
+++ b/frontend-js/src/main/js/plugin/Plugin.js
@@ -51,6 +51,8 @@ Plugin.prototype.load = function () {
   var options = self.getOptions();
 
   var hash;
+  var error = false;
+  var registerPromise = null;
 
   return ServerConnector.sendRequest({
     url: options.url,
@@ -59,9 +61,7 @@ Plugin.prototype.load = function () {
   }).then(function (content) {
     hash = Functions.computeMD5(content);
     var pluginData = undefined;
-    var error = false;
     try {
-      var registerPromise = null;
       // noinspection JSUnusedLocalSymbols
       var minervaDefine = function (pluginFunction) {
         try {
@@ -86,21 +86,22 @@ Plugin.prototype.load = function () {
           error = e;
         }
       };
+      content += "//# sourceURL=" + options.url;
       eval(content);
     } catch (e) {
       error = e;
     }
-    if (error) {
-      return Promise.reject(error);
-    }
-    return registerPromise;
-  }).then(function () {
     return ServerConnector.registerPlugin({
       hash: hash,
       url: options.url,
       name: self.getName(),
       version: self.getVersion()
     });
+  }).then(function () {
+    if (error) {
+      return Promise.reject(error);
+    }
+    return registerPromise;
   });
 
 };
-- 
GitLab