diff --git a/chrome/content/zotero/preferences/preferences_sync.js b/chrome/content/zotero/preferences/preferences_sync.js index cd2e9410a..e62b42f68 100644 --- a/chrome/content/zotero/preferences/preferences_sync.js +++ b/chrome/content/zotero/preferences/preferences_sync.js @@ -130,9 +130,23 @@ Zotero_Preferences.Sync = { // Try to acquire API key with current credentials this.updateSyncIndicator('animated'); - var json = yield Zotero.Sync.Runner.createAPIKeyFromCredentials(username, password); - this.updateSyncIndicator(); - + try { + var json = yield Zotero.Sync.Runner.createAPIKeyFromCredentials(username, password); + } + catch (e) { + setTimeout(function () { + Zotero.alert( + window, + Zotero.getString('general.error'), + e.message + ); + }); + throw e; + } + finally { + this.updateSyncIndicator(); + } + // Invalid credentials if (!json) { Zotero.alert(window,