11454: A couple of fixes/enhancements:
authorLucas Di Pentima <ldipentima@veritasgenetics.com>
Mon, 12 Feb 2018 16:40:11 +0000 (13:40 -0300)
committerLucas Di Pentima <ldipentima@veritasgenetics.com>
Mon, 12 Feb 2018 16:40:11 +0000 (13:40 -0300)
* Only try to migrate non federated sessions on /sessions page.
* autoLoadRemoteHosts only loads missing remotes, without reactivating
disabled sessions.

Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima@veritasgenetics.com>

apps/workbench/app/assets/javascripts/components/sessions.js
apps/workbench/app/assets/javascripts/models/session_db.js

index f8fa96acc2e09d75d0113755f499fe70ee8a9a56..f9e54ad494cc904d4aa3ec1df9b00f863321384d 100644 (file)
@@ -6,13 +6,13 @@ $(document).on('ready', function() {
     var db = new SessionDB();
     db.checkForNewToken();
     db.fillMissingUUIDs();
-    db.migrateNonFederatedSessions();
     db.autoLoadRemoteHosts();
 });
 
 window.SessionsTable = {
     oninit: function(vnode) {
         vnode.state.db = new SessionDB();
+        vnode.state.db.migrateNonFederatedSessions();
         vnode.state.hostToAdd = m.stream('');
         vnode.state.error = m.stream();
         vnode.state.checking = m.stream();
index 93279a2300710ac9fd15c1d36d0fa4f244ebc0f2..fab8fe3925c00da42f5223a763a659ff18e70441 100644 (file)
@@ -279,14 +279,14 @@ window.SessionDB = function() {
                 }
             });
         },
-        // If remoteHosts is listed on the local API discovery doc, try to add any
-        // listed remote without an active session.
+        // If remoteHosts is populated on the local API discovery doc, try to
+        // add any listed missing session.
         autoLoadRemoteHosts: function() {
-            var activeSessions = db.loadActive();
+            var sessions = db.loadAll();
             var doc = db.discoveryDoc(db.loadLocal());
             doc.map(function(d) {
                 Object.keys(d.remoteHosts).map(function(uuidPrefix) {
-                    if (!(uuidPrefix in Object.keys(activeSessions))) {
+                    if (!(sessions[uuidPrefix])) {
                         db.findAPI(d.remoteHosts[uuidPrefix]).then(function(baseURL) {
                             db.login(baseURL, false);
                         });