diff --git a/editor/js/ui/projects/projects.js b/editor/js/ui/projects/projects.js
index d5e73e05a..34aaf3b8a 100644
--- a/editor/js/ui/projects/projects.js
+++ b/editor/js/ui/projects/projects.js
@@ -691,15 +691,15 @@ RED.projects = (function() {
} else {
projectRepoInput.removeClass("input-error");
}
- if (/^(?:ssh|[\S]+?@[\S]+?):(?:\/\/)?/.test(repo)) {
+ if (/^https?:\/\//.test(repo)) {
+ $(".projects-dialog-screen-create-row-creds").show();
+ $(".projects-dialog-screen-create-row-sshkey").hide();
+ } else if (/^(?:ssh|[\S]+?@[\S]+?):(?:\/\/)?/.test(repo)) {
$(".projects-dialog-screen-create-row-creds").hide();
$(".projects-dialog-screen-create-row-sshkey").show();
// if ( !getSelectedSSHKey(projectRepoSSHKeySelect) ) {
// valid = false;
// }
- } else if (/^https?:\/\//.test(repo)) {
- $(".projects-dialog-screen-create-row-creds").show();
- $(".projects-dialog-screen-create-row-sshkey").hide();
} else {
$(".projects-dialog-screen-create-row-creds").hide();
$(".projects-dialog-screen-create-row-sshkey").hide();
@@ -1509,7 +1509,7 @@ RED.projects = (function() {
resultCallbackArgs = {error:responses.statusText};
return;
} else if (options.handleAuthFail !== false && xhr.responseJSON.error === 'git_auth_failed') {
- var url = activeProject.git.remotes[options.remote||'origin'].fetch;
+ var url = activeProject.git.remotes[xhr.responseJSON.remote||options.remote||'origin'].fetch;
var message = $('
'+
'
Authentication required for repository:
'+
@@ -1517,7 +1517,10 @@ RED.projects = (function() {
'
');
var isSSH = false;
- if (/^(?:ssh|[\d\w\.\-_]+@[\w\.]+):(?:\/\/)?/.test(url)) {
+ if (/^https?:\/\//) {
+ $(''+
+ '').appendTo(message);
+ } else if (/^(?:ssh|[\d\w\.\-_]+@[\w\.]+):(?:\/\/)?/.test(url)) {
isSSH = true;
var row = $('').appendTo(message);
$('').appendTo(row);
@@ -1535,9 +1538,6 @@ RED.projects = (function() {
row = $('').appendTo(message);
$('').appendTo(row);
$('').appendTo(row);
- } else {
- $(''+
- '').appendTo(message);
}
var notification = RED.notify(message,{
@@ -1575,7 +1575,7 @@ RED.projects = (function() {
}
sendRequest({
- url: "projects/"+activeProject.name+"/remotes/"+(options.remote||'origin'),
+ url: "projects/"+activeProject.name+"/remotes/"+(xhr.responseJSON.remote||options.remote||'origin'),
type: "PUT",
responses: {
0: function(error) {
diff --git a/red/api/editor/projects/index.js b/red/api/editor/projects/index.js
index 608c6caae..c114ed151 100644
--- a/red/api/editor/projects/index.js
+++ b/red/api/editor/projects/index.js
@@ -438,8 +438,9 @@ module.exports = {
res.json(data);
})
.catch(function(err) {
+ console.log(err);
if (err.code) {
- res.status(400).json({error:err.code, message: err.message});
+ res.status(400).json({error:err.code, message: err.message, remote: err.remote});
} else {
res.status(400).json({error:"unexpected_error", message:err.toString()});
}