disable autocompile when rate limit is hit

This commit is contained in:
Brian Gough
2017-10-03 16:23:49 +01:00
parent d14723f24a
commit 2723537f82
2 changed files with 16 additions and 2 deletions
@@ -391,6 +391,12 @@ div.full-size.pdf(ng-controller="PdfController")
ng-click="startFreeTrial('compile-timeout')"
) #{translate("start_free_trial")}
.alert.alert-danger(ng-show="pdf.autocompile_disabled")
p
strong #{translate("autocompile_disabled")}.
span #{translate("autocompile_disabled_reason")}
.alert.alert-danger(ng-show="pdf.projectTooLarge")
strong #{translate("project_too_large")}
span #{translate("project_too_large_please_reduce")}
@@ -127,7 +127,7 @@ define [
sendCompileRequest = (options = {}) ->
url = "/project/#{$scope.project_id}/compile"
params = {}
if options.isAutoCompile
if options.isAutoCompile or options.isBackgroundAutoCompile
params["auto_compile"]=true
# if the previous run was a check, clear the error logs
$scope.pdf.logEntries = [] if $scope.check
@@ -168,6 +168,7 @@ define [
$scope.pdf.compileExited = false
$scope.pdf.failedCheck = false
$scope.pdf.compileInProgress = false
$scope.pdf.autocompile_disabled = false
# make a cache to look up files by name
fileByPath = {}
@@ -206,7 +207,13 @@ define [
$scope.shouldShowLogs = true
fetchLogs(fileByPath)
else if response.status == "autocompile-backoff"
$scope.pdf.view = 'uncompiled'
if $scope.pdf.isAutoCompile # initial autocompile
$scope.pdf.view = 'uncompiled'
else # background autocompile from typing
$scope.pdf.view = 'errors'
$scope.pdf.autocompile_disabled = true
$scope.autocompile_enabled = false # disable any further autocompiles
event_tracking.sendMB "autocompile-rate-limited", {hasPremiumCompile: $scope.hasPremiumCompile}
else if response.status == "project-too-large"
$scope.pdf.view = 'errors'
$scope.pdf.projectTooLarge = true
@@ -415,6 +422,7 @@ define [
event_tracking.sendMBSampled "editor-recompile-sampled", options
$scope.pdf.compiling = true
$scope.pdf.isAutoCompile = options?.isAutoCompile # initial autocompile
if options?.force
# for forced compile, turn off validation check and ignore errors