diff --git a/app/assets/javascripts/app/controllers/home.js b/app/assets/javascripts/app/controllers/home.js index 4f84d647a..1cb3fde8e 100644 --- a/app/assets/javascripts/app/controllers/home.js +++ b/app/assets/javascripts/app/controllers/home.js @@ -75,12 +75,12 @@ angular.module('app') syncManager.setKeyRequestHandler(async () => { let offline = authManager.offline(); - let version = offline ? passcodeManager.protocolVersion() : await authManager.protocolVersion(); + let auth_params = offline ? passcodeManager.passcodeAuthParams() : await authManager.getAuthParams(); let keys = offline ? passcodeManager.keys() : await authManager.keys(); return { keys: keys, offline: offline, - version: version + auth_params: auth_params } }); diff --git a/app/assets/javascripts/app/controllers/notes.js b/app/assets/javascripts/app/controllers/notes.js index 74ff16204..783871d24 100644 --- a/app/assets/javascripts/app/controllers/notes.js +++ b/app/assets/javascripts/app/controllers/notes.js @@ -204,6 +204,7 @@ angular.module('app') this.createNewNote(); return; } + this.selectedNote = note; note.conflict_of = null; // clear conflict this.selectionMade()(note); diff --git a/app/assets/javascripts/app/directives/views/passwordWizard.js b/app/assets/javascripts/app/directives/views/passwordWizard.js index 38967ba39..f6bfc294b 100644 --- a/app/assets/javascripts/app/directives/views/passwordWizard.js +++ b/app/assets/javascripts/app/directives/views/passwordWizard.js @@ -173,7 +173,7 @@ class PasswordWizard { } // Ensure value for current password matches what's saved - let authParams = authManager.getAuthParams(); + let authParams = await authManager.getAuthParams(); let password = $scope.formData.currentPassword; SFJS.crypto.computeEncryptionKeysForUser(password, authParams).then(async (keys) => { let success = keys.mk === (await authManager.keys()).mk; diff --git a/app/assets/javascripts/app/services/actionsManager.js b/app/assets/javascripts/app/services/actionsManager.js index d3383e52f..017b16b40 100644 --- a/app/assets/javascripts/app/services/actionsManager.js +++ b/app/assets/javascripts/app/services/actionsManager.js @@ -179,7 +179,7 @@ class ActionsManager { if(decrypted) { keys = null; } - var itemParams = new SFItemParams(item, keys, await this.authManager.protocolVersion()); + var itemParams = new SFItemParams(item, keys, await this.authManager.getAuthParams()); return itemParams.paramsForExtension(); } diff --git a/app/assets/javascripts/app/services/archiveManager.js b/app/assets/javascripts/app/services/archiveManager.js index ccf18e8ad..741e3ee6a 100644 --- a/app/assets/javascripts/app/services/archiveManager.js +++ b/app/assets/javascripts/app/services/archiveManager.js @@ -17,14 +17,12 @@ class ArchiveManager { if(this.authManager.offline() && this.passcodeManager.hasPasscode()) { keys = this.passcodeManager.keys(); authParams = this.passcodeManager.passcodeAuthParams(); - protocolVersion = authParams.version; } else { keys = await this.authManager.keys(); - authParams = this.authManager.getAuthParams(); - protocolVersion = await this.authManager.protocolVersion(); + authParams = await this.authManager.getAuthParams(); } } - this.__itemsData(keys, authParams, protocolVersion).then((data) => { + this.__itemsData(keys, authParams).then((data) => { this.__downloadData(data, `SN Archive - ${new Date()}.txt`); // download as zipped plain text files @@ -39,8 +37,8 @@ class ArchiveManager { Private */ - async __itemsData(keys, authParams, protocolVersion) { - let data = await this.modelManager.getAllItemsJSONData(keys, authParams, protocolVersion); + async __itemsData(keys, authParams) { + let data = await this.modelManager.getAllItemsJSONData(keys, authParams); let blobData = new Blob([data], {type: 'text/json'}); return blobData; } diff --git a/app/assets/javascripts/app/services/authManager.js b/app/assets/javascripts/app/services/authManager.js index 8d240eb41..361ae4e48 100644 --- a/app/assets/javascripts/app/services/authManager.js +++ b/app/assets/javascripts/app/services/authManager.js @@ -49,15 +49,8 @@ class AuthManager extends SFAuthManager { } } - getAuthParams() { - if(!this._authParams) { - this._authParams = JSON.parse(this.storageManager.getItemSync("auth_params")); - } - return this._authParams; - } - async protocolVersion() { - var authParams = this.getAuthParams(); + var authParams = await this.getAuthParams(); if(authParams && authParams.version) { return authParams.version; } diff --git a/app/assets/javascripts/app/services/desktopManager.js b/app/assets/javascripts/app/services/desktopManager.js index 88967c7ec..e07153208 100644 --- a/app/assets/javascripts/app/services/desktopManager.js +++ b/app/assets/javascripts/app/services/desktopManager.js @@ -134,17 +134,14 @@ class DesktopManager { if(this.authManager.offline() && this.passcodeManager.hasPasscode()) { keys = this.passcodeManager.keys(); authParams = this.passcodeManager.passcodeAuthParams(); - protocolVersion = authParams.version; } else { keys = await this.authManager.keys(); - authParams = this.authManager.getAuthParams(); - protocolVersion = await this.authManager.protocolVersion(); + authParams = await this.authManager.getAuthParams(); } this.modelManager.getAllItemsJSONData( keys, authParams, - protocolVersion, true /* return null on empty */ ).then((data) => { callback(data); diff --git a/app/assets/javascripts/app/services/storageManager.js b/app/assets/javascripts/app/services/storageManager.js index f1fc947b6..ded89748e 100644 --- a/app/assets/javascripts/app/services/storageManager.js +++ b/app/assets/javascripts/app/services/storageManager.js @@ -154,7 +154,7 @@ class StorageManager extends SFStorageManager { encryptedStorage.content.storage = this.storageAsHash(); // Save new encrypted storage in Fixed storage - var params = new SFItemParams(encryptedStorage, this.encryptedStorageKeys, this.encryptedStorageAuthParams.version); + var params = new SFItemParams(encryptedStorage, this.encryptedStorageKeys, this.encryptedStorageAuthParams); params.paramsForSync().then((syncParams) => { this.setItem("encryptedStorage", JSON.stringify(syncParams), StorageManager.Fixed); }) diff --git a/test/mocha/models.test.js b/test/mocha/models.test.js index a4abec17e..50645c3a4 100644 --- a/test/mocha/models.test.js +++ b/test/mocha/models.test.js @@ -373,10 +373,6 @@ describe("syncing", () => { let authManager = Factory.globalAuthManager(); let syncManager = new SFSyncManager(modelManager, Factory.globalStorageManager(), Factory.globalHttpManager()); - syncManager.setEventHandler(() => { - - }) - syncManager.setKeyRequestHandler(async () => { return { keys: await authManager.keys(), @@ -392,7 +388,7 @@ describe("syncing", () => { }) } - it.only('syncing a note many times does not cause duplication', async () => { + it('syncing a note many times does not cause duplication', async () => { modelManager.resetLocalMemory(); let pair = createRelatedNoteTagPair(); let noteParams = pair[0]; @@ -421,8 +417,6 @@ describe("syncing", () => { let syncManager = new SFSyncManager(modelManager, Factory.globalStorageManager(), Factory.globalHttpManager()); - syncManager.setEventHandler(() => {}) - // be offline syncManager.setKeyRequestHandler(async () => { return {