diff --git a/keepassxc-browser/_locales/en/messages.json b/keepassxc-browser/_locales/en/messages.json
index 2897613..df6c8fa 100644
--- a/keepassxc-browser/_locales/en/messages.json
+++ b/keepassxc-browser/_locales/en/messages.json
@@ -351,10 +351,18 @@
"message": "Getting Started Guide - Setup Browser Integration",
"description": "Popup Getting Started Guide link text."
},
- "popupGettingStartedHide": {
+ "popupAlertHide": {
"message": "Hide and don't show again.",
- "description": "Getting Started Guide alert close button title."
- },
+ "description": "Hide alert close button title."
+ },
+ "popupTroubleshootingText": {
+ "message": "Cannot connect to KeePassXC? Maybe our wiki page could help.",
+ "description": "Popup information message about Troubleshooting Guide."
+ },
+ "popupTroubleshootingLinkText": {
+ "message": "Troubleshooting Guide",
+ "description": "Popup Troubleshooting Guide link text."
+ },
"popupCheckingStatus": {
"message": "Checking status...",
"description": "Checking status message in popup."
diff --git a/keepassxc-browser/background/event.js b/keepassxc-browser/background/event.js
index 8cb6964..c196b28 100755
--- a/keepassxc-browser/background/event.js
+++ b/keepassxc-browser/background/event.js
@@ -34,6 +34,7 @@ kpxcEvent.showStatus = async function(tab, configured, internalPoll) {
error: errorMessage || null,
usernameFieldDetected: page.tabs[tab.id].usernameFieldDetected,
showGettingStartedGuideAlert: page.settings.showGettingStartedGuideAlert,
+ showTroubleshootingGuideAlert: page.settings.showTroubleshootingGuideAlert
};
};
@@ -210,6 +211,13 @@ kpxcEvent.hideGettingStartedGuideAlert = async function(tab) {
await kpxcEvent.onSaveSettings(tab, settings);
};
+kpxcEvent.hideTroubleshootingGuideAlert = async function(tab) {
+ const settings = await kpxcEvent.onLoadSettings();
+ settings.showTroubleshootingGuideAlert = false;
+
+ await kpxcEvent.onSaveSettings(tab, settings);
+};
+
// All methods named in this object have to be declared BEFORE this!
kpxcEvent.messageHandlers = {
'add_credentials': keepass.addCredentials,
@@ -230,6 +238,7 @@ kpxcEvent.messageHandlers = {
'get_tab_information': kpxcEvent.onGetTabInformation,
'get_totp': keepass.getTotp,
'hide_getting_started_guide_alert': kpxcEvent.hideGettingStartedGuideAlert,
+ 'hide_troubleshooting_guide_alert': kpxcEvent.hideTroubleshootingGuideAlert,
'init_http_auth': kpxcEvent.initHttpAuth,
'is_connected': kpxcEvent.getIsKeePassXCAvailable,
'load_keyring': kpxcEvent.onLoadKeyRing,
diff --git a/keepassxc-browser/background/page.js b/keepassxc-browser/background/page.js
index 1c3a7c3..09edcd3 100755
--- a/keepassxc-browser/background/page.js
+++ b/keepassxc-browser/background/page.js
@@ -19,6 +19,7 @@ const defaultSettings = {
redirectAllowance: 1,
saveDomainOnly: true,
showGettingStartedGuideAlert: true,
+ showTroubleshootingGuideAlert: true,
showLoginFormIcon: true,
showLoginNotifications: true,
showNotifications: true,
@@ -123,6 +124,10 @@ page.initSettings = async function() {
page.settings.showGettingStartedGuideAlert = defaultSettings.showGettingStartedGuideAlert;
}
+ if (!('showTroubleshootingGuideAlert' in page.settings)) {
+ page.settings.showTroubleshootingGuideAlert = defaultSettings.showTroubleshootingGuideAlert;
+ }
+
if (!('showLoginFormIcon' in page.settings)) {
page.settings.showLoginFormIcon = defaultSettings.showLoginFormIcon;
}
diff --git a/keepassxc-browser/popups/popup.css b/keepassxc-browser/popups/popup.css
index 64423a0..05be837 100644
--- a/keepassxc-browser/popups/popup.css
+++ b/keepassxc-browser/popups/popup.css
@@ -102,11 +102,9 @@ code {
text-align: start;
}
-#update-available {
- display: none;
-}
-
-#getting-started-guide {
+#update-available,
+#getting-started-guide,
+#troubleshooting-guide {
display: none;
}
diff --git a/keepassxc-browser/popups/popup.html b/keepassxc-browser/popups/popup.html
index fbe4ec0..7a0effb 100644
--- a/keepassxc-browser/popups/popup.html
+++ b/keepassxc-browser/popups/popup.html
@@ -32,7 +32,14 @@
-
+
+
+
+