diff --git a/static/js/app.js b/static/js/app.js index 73e2208b1..c43b42201 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -432,9 +432,11 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading // If an error occurred, report it and done. if (ping < 0) { cached['pings'] = [-1]; - $scope.$apply(function() { - callback(-1, false, -1); - }); + setTimeout(function() { + $scope.$apply(function() { + callback(-1, false, -1); + }); + }, 0); return; } @@ -447,9 +449,11 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading } // Report the average ping. - $scope.$apply(function() { - callback(Math.floor(sum / cached['pings'].length), true, cached['pings'].length); - }); + setTimeout(function() { + $scope.$apply(function() { + callback(Math.floor(sum / cached['pings'].length), true, cached['pings'].length); + }); + }, 0); // Schedule another check if we've done less than three. if (cached['pings'].length < 3) { @@ -486,9 +490,11 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading pingService.pingUrl = function($scope, url, callback) { if (pingCache[url]) { cached = pingCache[url]; - $scope.$apply(function() { - callback(cached.result, cached.success); - }); + setTimeout(function() { + $scope.$apply(function() { + callback(cached.result, cached.success); + }); + }, 0); return; } diff --git a/test/testlogs.py b/test/testlogs.py index 8ea09e58e..4310b92c3 100644 --- a/test/testlogs.py +++ b/test/testlogs.py @@ -180,6 +180,8 @@ class TestBuildLogs(RedisBuildLogs): def get_log_entries(self, build_id, start_index): if build_id == self.test_build_id: return (len(self._logs), self._logs[start_index:]) + elif not self.allow_delegate: + return None else: return super(TestBuildLogs, self).get_log_entries(build_id, start_index) diff --git a/workers/dockerfilebuild.py b/workers/dockerfilebuild.py index 858a13863..dbb8d0aa0 100644 --- a/workers/dockerfilebuild.py +++ b/workers/dockerfilebuild.py @@ -545,6 +545,10 @@ class DockerfileBuildWorker(Worker): # Need a separate handler for this so it doesn't get caught by catch all below raise exc + except JobException as exc: + # Need a separate handler for this so it doesn't get caught by catch all below + raise exc + except Exception as exc: sentry.client.captureException() log_appender('error', build_logs.PHASE)