|
@@ -10,6 +10,7 @@ const ClsiManager = require('./ClsiManager')
|
|
|
const Metrics = require('@overleaf/metrics')
|
|
const Metrics = require('@overleaf/metrics')
|
|
|
const { RateLimiter } = require('../../infrastructure/RateLimiter')
|
|
const { RateLimiter } = require('../../infrastructure/RateLimiter')
|
|
|
const UserAnalyticsIdCache = require('../Analytics/UserAnalyticsIdCache')
|
|
const UserAnalyticsIdCache = require('../Analytics/UserAnalyticsIdCache')
|
|
|
|
|
+const SplitTestHandler = require('../SplitTests/SplitTestHandler')
|
|
|
const {
|
|
const {
|
|
|
callbackify,
|
|
callbackify,
|
|
|
callbackifyMultiResult,
|
|
callbackifyMultiResult,
|
|
@@ -123,6 +124,18 @@ async function getProjectCompileLimits(projectId) {
|
|
|
if (owner && owner.alphaProgram) {
|
|
if (owner && owner.alphaProgram) {
|
|
|
ownerFeatures.compileGroup = 'alpha'
|
|
ownerFeatures.compileGroup = 'alpha'
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ if (ownerFeatures.compileTimeout === 20) {
|
|
|
|
|
+ const overrideCompileTimeout =
|
|
|
|
|
+ await SplitTestHandler.promises.getAssignmentForUser(
|
|
|
|
|
+ project.owner_ref,
|
|
|
|
|
+ '10s-timeout-enforcement'
|
|
|
|
|
+ )
|
|
|
|
|
+
|
|
|
|
|
+ if (overrideCompileTimeout.variant === 'enabled') {
|
|
|
|
|
+ ownerFeatures.compileTimeout = 10
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
const analyticsId = await UserAnalyticsIdCache.get(owner._id)
|
|
const analyticsId = await UserAnalyticsIdCache.get(owner._id)
|
|
|
|
|
|
|
|
const compileGroup =
|
|
const compileGroup =
|