Ignore messages with null room_id

This commit is contained in:
James Allen 2014-11-24 12:09:12 +00:00
parent 57a34e940e
commit 0ed7d0c811

View file

@ -1,4 +1,5 @@
Settings = require 'settings-sharelatex' Settings = require 'settings-sharelatex'
logger = require 'logger-sharelatex'
redis = require("redis-sharelatex") redis = require("redis-sharelatex")
rclientPub = redis.createClient(Settings.redis.web) rclientPub = redis.createClient(Settings.redis.web)
rclientSub = redis.createClient(Settings.redis.web) rclientSub = redis.createClient(Settings.redis.web)
@ -8,6 +9,9 @@ module.exports = WebsocketLoadBalancer =
rclientSub: rclientSub rclientSub: rclientSub
emitToRoom: (room_id, message, payload...) -> emitToRoom: (room_id, message, payload...) ->
if !room_id?
logger.err {err: new Error("Empty room_id"), message, payload}, "error emitting to room"
return
@rclientPub.publish "editor-events", JSON.stringify @rclientPub.publish "editor-events", JSON.stringify
room_id: room_id room_id: room_id
message: message message: message
@ -25,6 +29,6 @@ module.exports = WebsocketLoadBalancer =
message = JSON.parse(message) message = JSON.parse(message)
if message.room_id == "all" if message.room_id == "all"
io.sockets.emit(message.message, message.payload...) io.sockets.emit(message.message, message.payload...)
else else if message.room_id?
io.sockets.in(message.room_id).emit(message.message, message.payload...) io.sockets.in(message.room_id).emit(message.message, message.payload...)