diff --git a/src/applications/differential/controller/DifferentialController.php b/src/applications/differential/controller/DifferentialController.php --- a/src/applications/differential/controller/DifferentialController.php +++ b/src/applications/differential/controller/DifferentialController.php @@ -190,6 +190,12 @@ } } + // Cast duration to a float since it used to be a string in some + // cases. + if (isset($map['duration'])) { + $map['duration'] = (double)$map['duration']; + } + return $map; } diff --git a/src/applications/differential/controller/DifferentialRevisionViewController.php b/src/applications/differential/controller/DifferentialRevisionViewController.php --- a/src/applications/differential/controller/DifferentialRevisionViewController.php +++ b/src/applications/differential/controller/DifferentialRevisionViewController.php @@ -1078,6 +1078,10 @@ return null; } + if (!$diff->getBuildable()) { + return null; + } + $interesting_messages = array(); foreach ($diff->getUnitMessages() as $message) { switch ($message->getResult()) {