diff --git a/extension/chrome/src/js/background.js b/extension/chrome/src/js/background.js index 6dced49..e3de92b 100644 --- a/extension/chrome/src/js/background.js +++ b/extension/chrome/src/js/background.js @@ -74,7 +74,7 @@ const reloadTemplate = function() { extensionStorage.loadTemplateUrl() .then(extensionStorage.loadTemplateFromUrl) .then(template => { - return extensionStorage.saveTemplate(template.join('\n')); + return template && extensionStorage.saveTemplate(template.join('\n')); }) .then(() => console.info('Template updated')) .catch(error => { @@ -175,7 +175,7 @@ function retrieveActivities() { Promise.all([reviewersPromised, authorPromised]).then(function([reviewersResult, authorResult]) { if (reviewersResult.errors) { throw reviewersResult.errors } if (authorResult.errors) { throw authorResult.errors } - const allPR = reviewersResult.concat(authorResult) + const allPR = reviewersResult.values.concat(authorResult.values); let activities; const requests = []; // loop through PRs and request activities @@ -247,11 +247,15 @@ function pingAllExistingTabs() { // Click on extension icon -chrome.browserAction.onClicked.addListener(function() { +chrome.browserAction.onClicked.addListener(handleExtensionClick); + +function handleExtensionClick() { chrome.storage.local.get(['currentStashBaseUrl'], function(items) { - chrome.tabs.create({'url': `${items.currentStashBaseUrl}/`}); + if (items.currentStashBaseUrl) { + chrome.tabs.create({'url': `${items.currentStashBaseUrl}/`}); + } }); -}); +} setInterval(realoadAll, REVIEWERS_LIST_REFRESH); realoadAll(); @@ -287,7 +291,7 @@ function handleUserDefinedHosts() { chrome.storage.sync.get('user_defined_hosts', userhosts => { let uhosts = userhosts.user_defined_hosts || []; if (uhosts.length > 0) { - // + // for (let host of uhosts) { if (!(host in listsOfUserDefinedHostsRegexp)) { listsOfUserDefinedHostsRegexp[host] = formatHosts(host) diff --git a/extension/chrome/src/js/userhosts.js b/extension/chrome/src/js/userhosts.js index 956f302..b7e51c2 100644 --- a/extension/chrome/src/js/userhosts.js +++ b/extension/chrome/src/js/userhosts.js @@ -1,27 +1,29 @@ document.getElementById('save_user_hosts').addEventListener('click', (event) => { - - let hostsButton = document.getElementById('user_defined_hosts'), - hosts = hostsButton.value. - replace(/,/g, ' '). - replace(/;/g, ' '). - replace(/\r/g, ' '). - replace(/\t/g, ' '). - replace(/\n/g, ' '). - split(' '); - let fhosts = []; + let hostsTextarea = document.getElementById('user_defined_hosts'); + let hosts = hostsTextarea.value. + replace(/[,;\r\n\t]+/g, ' '). + trim(). + split(' '). + filter(Boolean); - for(let host of hosts){ - if (host != "") { - fhosts.push(host) - } - } - hosts = fhosts if (hosts.length > 0) { chrome.storage.sync.get('user_defined_hosts', oldhosts => { - chrome.storage.sync.set({'user_defined_hosts': (oldhosts.user_defined_hosts || []).concat(hosts)}) - chrome.extension.getBackgroundPage().handleUserDefinedHosts() + let uniqueHosts = [...new Set(hosts)]; + chrome.storage.sync.set({'user_defined_hosts': uniqueHosts}); + populateTextArea(); + chrome.extension.getBackgroundPage().handleUserDefinedHosts(); }); - hostsButton.value = '' } -}) \ No newline at end of file +}); + +populateTextArea(); +chrome.extension.getBackgroundPage().handleExtensionClick(); + +function populateTextArea() { + let hostsTextarea = document.getElementById('user_defined_hosts'); + chrome.storage.sync.get('user_defined_hosts', oldhost => { + hostsTextarea.value = [...new Set(oldhost.user_defined_hosts)].join("\r\n"); + }); +} + diff --git a/extension/chrome/src/manifest.json b/extension/chrome/src/manifest.json index c25e906..1fecadd 100644 --- a/extension/chrome/src/manifest.json +++ b/extension/chrome/src/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "Bitbucket Server Extension", "description": "Allow to add group of reviewers for pull request in bitbucket server + other features", - "version": "2.2.16", + "version": "2.2.17", "permissions": [ "storage", "alarms", diff --git a/extension/chrome/src/userhosts.html b/extension/chrome/src/userhosts.html index c7c1667..0b6a38e 100644 --- a/extension/chrome/src/userhosts.html +++ b/extension/chrome/src/userhosts.html @@ -6,7 +6,7 @@ Self Hosted Bitbucket Servers - + @@ -15,7 +15,7 @@

Adding more bitbucket servers

By default, this extension is only enabled on bitbucket.org and atlassian.com. But you can add more hosts (i.e. self-hosted bitbucket servers) where to enable it. Make sure that the hosts you type follow the URLs match patterns for extensions

- +
diff --git a/history b/history index 4d1a029..60a8fce 100644 --- a/history +++ b/history @@ -1,3 +1,7 @@ +2.2.17 +=================== +- Allow tab to be opened on click if currentStashBaseUrl already exists + 2.2.15 =================== - legacy support diff --git a/version b/version index ed1fc35..c36c648 100644 --- a/version +++ b/version @@ -1 +1 @@ -2.2.16 +2.2.17