diff --git a/app/assets/javascripts/app/directives/views/accountMenu.js b/app/assets/javascripts/app/directives/views/accountMenu.js index 82901adfd..f163892ce 100644 --- a/app/assets/javascripts/app/directives/views/accountMenu.js +++ b/app/assets/javascripts/app/directives/views/accountMenu.js @@ -15,10 +15,6 @@ class AccountMenu { $scope.formData = {mergeLocal: true, ephemeral: false}; - // testing: - // $scope.formData.status = "Generating Login Keys..."; - // $scope.formData.authenticating = true; - $scope.user = authManager.user; syncManager.getServerURL().then((url) => { diff --git a/app/assets/javascripts/app/services/privilegesManager.js b/app/assets/javascripts/app/services/privilegesManager.js index 1d9028f9e..f79177784 100644 --- a/app/assets/javascripts/app/services/privilegesManager.js +++ b/app/assets/javascripts/app/services/privilegesManager.js @@ -124,7 +124,6 @@ class PrivilegesManager { if(!this.privileges.content.desktopPrivileges) { this.privileges.content.desktopPrivileges = {}; } - console.log("Resolved existing privs", resolvedSingleton.uuid); resolve(resolvedSingleton); }, (valueCallback) => { // Safe to create. Create and return object. @@ -133,7 +132,6 @@ class PrivilegesManager { privs.setDirty(true); this.$rootScope.sync(); valueCallback(privs); - console.log("Creating new privs", privs.uuid); resolve(privs); }); }); diff --git a/app/assets/javascripts/app/services/singletonManager.js b/app/assets/javascripts/app/services/singletonManager.js index 3df8cbbdd..ddee5b64a 100644 --- a/app/assets/javascripts/app/services/singletonManager.js +++ b/app/assets/javascripts/app/services/singletonManager.js @@ -26,6 +26,20 @@ class SingletonManager { this.resolveSingletons(modelManager.allItems, null, true); }) + /* + If an item alternates its uuid on registration, singletonHandlers might need to update + their local refernece to the object, since the object reference will change on uuid alternation + */ + modelManager.addModelUuidChangeObserver("singleton-manager", (oldModel, newModel) => { + for(var handler of this.singletonHandlers) { + if(handler.singleton && SFPredicate.ItemSatisfiesPredicates(newModel, handler.predicates)) { + // Reference is now invalid, calling resolveSingleton should update it + handler.singleton = null; + this.resolveSingletons([newModel]); + } + } + }) + $rootScope.$on("sync:completed", (event, data) => { // The reason we also need to consider savedItems in consolidating singletons is in case of sync conflicts, // a new item can be created, but is never processed through "retrievedItems" since it is only created locally then saved. diff --git a/package-lock.json b/package-lock.json index 5bf46c70b..1fdc31c67 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8969,9 +8969,9 @@ "dev": true }, "standard-file-js": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.20.tgz", - "integrity": "sha512-KlJ3IbAaJDRVC8jKxHBi/LL80d8zIbL1nZqwbDmqif1XwDQpTb8BB7ejg5pzZExQKDRFeXLS0JDSeWGMD+Luhw==", + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.21.tgz", + "integrity": "sha512-MLic68jA/EPqmNHbI2qrQn3V6/ZgazzM7C4AD6o2mORu3ZrFk64K0FPIrpN4LuA8IJi3sOqOFKsp1/caVw0zrw==", "dev": true }, "static-extend": { diff --git a/package.json b/package.json index 12eb97359..e5c4c0613 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "serve-static": "^1.13.2", "sn-models": "0.1.9", "sn-stylekit": "file:~/Desktop/sn/dev/stylekit", - "standard-file-js": "0.3.20", + "standard-file-js": "0.3.21", "grunt-shell": "^2.1.0" } }