diff --git a/services/document-updater/app/coffee/RealTimeRedisManager.coffee b/services/document-updater/app/coffee/RealTimeRedisManager.coffee index e949268f62..d6a4fc5044 100644 --- a/services/document-updater/app/coffee/RealTimeRedisManager.coffee +++ b/services/document-updater/app/coffee/RealTimeRedisManager.coffee @@ -36,4 +36,9 @@ module.exports = RealTimeRedisManager = # create a unique message id using a counter message_id = "doc:#{HOST}:#{RND}-#{COUNT++}" data?._id = message_id - pubsubClient.publish "applied-ops", JSON.stringify(data) + # publish on separate channels for individual projects and docs when + # configured (needs realtime to be configured for this too). + if Settings.publishOnIndividualChannels and data.doc_id? + pubsubClient.publish "applied-ops:#{data.doc_id}", JSON.stringify(data) + else + pubsubClient.publish "applied-ops", JSON.stringify(data) diff --git a/services/document-updater/config/settings.defaults.coffee b/services/document-updater/config/settings.defaults.coffee index f359ab38f0..547866599d 100755 --- a/services/document-updater/config/settings.defaults.coffee +++ b/services/document-updater/config/settings.defaults.coffee @@ -91,4 +91,6 @@ module.exports = url: "mongodb://#{process.env["MONGO_HOST"] or "localhost"}/sharelatex" sentry: - dsn: process.env.SENTRY_DSN \ No newline at end of file + dsn: process.env.SENTRY_DSN + + publishOnIndividualChannels: process.env['PUBLISH_ON_INDIVIDUAL_CHANNELS'] or false