Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marius-wieschollek/passwords-webextension.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius David Wieschollek <passwords.public@mdns.eu>2022-01-04 23:00:22 +0300
committerMarius David Wieschollek <passwords.public@mdns.eu>2022-01-04 23:00:22 +0300
commit0ace87d6d4c7eedb9ce9913c28c13c5ba6d6deeb (patch)
tree41fbea4ca5e5720c19910114a3cbf246c73882ba /src/js/Manager
parentcb8a5d8e999969ba842c13a1212c7b54d7dea578 (diff)
Added handling of precondition failed error
Signed-off-by: Marius David Wieschollek <passwords.public@mdns.eu>
Diffstat (limited to 'src/js/Manager')
-rw-r--r--src/js/Manager/SearchManager.js2
-rw-r--r--src/js/Manager/ServerManager.js10
2 files changed, 10 insertions, 2 deletions
diff --git a/src/js/Manager/SearchManager.js b/src/js/Manager/SearchManager.js
index 2df7290..f2dba25 100644
--- a/src/js/Manager/SearchManager.js
+++ b/src/js/Manager/SearchManager.js
@@ -79,7 +79,7 @@ class SearchManager {
);
await this._loadHiddenPasswords(api);
} catch(e) {
- if(e.name === 'EncryptionNotEnabledError' || e.name === 'MissingEncryptionKeyError') {
+ if(e.name === 'EncryptionNotEnabledError' || e.name === 'MissingEncryptionKeyError' || e.name === 'PreconditionFailedError') {
try {
await ServerManager.restartSession(api.getServer());
} catch(e2) {
diff --git a/src/js/Manager/ServerManager.js b/src/js/Manager/ServerManager.js
index 07acb5f..50d46c6 100644
--- a/src/js/Manager/ServerManager.js
+++ b/src/js/Manager/ServerManager.js
@@ -9,6 +9,7 @@ import StorageService from '@js/Services/StorageService';
import SettingsService from '@js/Services/SettingsService';
import SessionAuthorizationHelper from '@js/Helper/SessionAuthorizationHelper';
import ServerRequirementCheck from '@js/Helper/ServerRequirementCheck';
+import {PreconditionFailedError} from 'passwords-client/errors';
class ServerManager {
@@ -246,7 +247,14 @@ class ServerManager {
.getRequest()
.setPath('1.0/session/keepalive')
.send()
- .catch(ErrorManager.catch);
+ .catch(
+ (e) => {
+ ErrorManager.logError(e);
+ if(e.type === 'PreconditionFailedError') {
+ this.restartSession(api.getServer())
+ .catch(ErrorManager.catch);
+ }
+ });
}
/**