diff --git a/src/cloudron.js b/src/cloudron.js index 5dc4b4e2b..d6fddf340 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -303,7 +303,8 @@ function getStatus(callback) { boxVersionsUrl: config.get('boxVersionsUrl'), apiServerOrigin: config.apiServerOrigin(), // used by CaaS tool provider: config.provider(), - cloudronName: cloudronName + cloudronName: cloudronName, + configState: gConfigState }); }); }); diff --git a/webadmin/src/js/main.js b/webadmin/src/js/main.js index 0564f77ce..e8d8ceee2 100644 --- a/webadmin/src/js/main.js +++ b/webadmin/src/js/main.js @@ -140,7 +140,7 @@ angular.module('Application').controller('MainController', ['$scope', '$route', if (error) return $scope.error(error); if (!status.activated) { - window.location.href = status.provider === 'caas' ? '/setup.html' : '/setupdns.html'; + window.location.href = status.configState.configured ? '/setup.html' : '/setupdns.html'; return; } diff --git a/webadmin/src/js/setupdns.js b/webadmin/src/js/setupdns.js index 446f97f04..92e3518dd 100644 --- a/webadmin/src/js/setupdns.js +++ b/webadmin/src/js/setupdns.js @@ -52,13 +52,20 @@ app.controller('SetupDNSController', ['$scope', '$http', 'Client', function ($sc $scope.busy = true; - setTimeout(function () { - // TODO wait until domain is propagated and cert got acquired - window.location.href = 'https://my.' + $scope.dnsCredentials.domain + '/setup.html'; - }, 10000); - }); + waitForDnsSetup(); + }); }; + function waitForDnsSetup() { + Client.getStatus(function (error, status) { + if (!error && status.configState.dns && status.configState.tls) { + window.location.href = 'https://my.' + $scope.dnsCredentials.domain + '/setup.html'; + } + + setTimeout(waitForDnsSetup, 5000); + }); + } + Client.getStatus(function (error, status) { if (error) { window.location.href = '/error.html';