Server shouldn't send chat messages to pre-chat client (as it causes them to quit)
This commit is contained in:
parent
bc07383d13
commit
e28ffdfb7d
@ -160,8 +160,10 @@ class SyncClientProtocol(JSONCommandProtocol):
|
|||||||
def sendFileSetting(self, file_):
|
def sendFileSetting(self, file_):
|
||||||
self.sendSet({"file": file_})
|
self.sendSet({"file": file_})
|
||||||
self.sendList()
|
self.sendList()
|
||||||
|
|
||||||
def sendChatMessage(self,chatMessage):
|
def sendChatMessage(self,chatMessage):
|
||||||
self.sendMessage({"Chat": chatMessage})
|
self.sendMessage({"Chat": chatMessage})
|
||||||
|
|
||||||
def handleList(self, userList):
|
def handleList(self, userList):
|
||||||
self._client.userlist.clearList()
|
self._client.userlist.clearList()
|
||||||
for room in userList.iteritems():
|
for room in userList.iteritems():
|
||||||
@ -284,6 +286,7 @@ class SyncClientProtocol(JSONCommandProtocol):
|
|||||||
class SyncServerProtocol(JSONCommandProtocol):
|
class SyncServerProtocol(JSONCommandProtocol):
|
||||||
def __init__(self, factory):
|
def __init__(self, factory):
|
||||||
self._factory = factory
|
self._factory = factory
|
||||||
|
self._version = None
|
||||||
self._logged = False
|
self._logged = False
|
||||||
self.clientIgnoringOnTheFly = 0
|
self.clientIgnoringOnTheFly = 0
|
||||||
self.serverIgnoringOnTheFly = 0
|
self.serverIgnoringOnTheFly = 0
|
||||||
@ -320,6 +323,9 @@ class SyncServerProtocol(JSONCommandProtocol):
|
|||||||
def isLogged(self):
|
def isLogged(self):
|
||||||
return self._logged
|
return self._logged
|
||||||
|
|
||||||
|
def meetsMinVersion(self, version):
|
||||||
|
return self._version >= version
|
||||||
|
|
||||||
def _extractHelloArguments(self, hello):
|
def _extractHelloArguments(self, hello):
|
||||||
roomName = None
|
roomName = None
|
||||||
username = hello["username"] if hello.has_key("username") else None
|
username = hello["username"] if hello.has_key("username") else None
|
||||||
@ -353,7 +359,9 @@ class SyncServerProtocol(JSONCommandProtocol):
|
|||||||
return
|
return
|
||||||
self._factory.addWatcher(self, username, roomName)
|
self._factory.addWatcher(self, username, roomName)
|
||||||
self._logged = True
|
self._logged = True
|
||||||
|
self._version = version
|
||||||
self.sendHello(version)
|
self.sendHello(version)
|
||||||
|
|
||||||
def handleChat(self,chatMessage):
|
def handleChat(self,chatMessage):
|
||||||
if not self._factory.disableChat:
|
if not self._factory.disableChat:
|
||||||
self._factory.sendChat(self._watcher,chatMessage)
|
self._factory.sendChat(self._watcher,chatMessage)
|
||||||
|
|||||||
@ -442,7 +442,8 @@ class Watcher(object):
|
|||||||
self._connector.sendControlledRoomAuthStatus(success, username, room)
|
self._connector.sendControlledRoomAuthStatus(success, username, room)
|
||||||
|
|
||||||
def sendChatMessage(self,message):
|
def sendChatMessage(self,message):
|
||||||
self._connector.sendMessage({"Chat" : message})
|
if self._connector.meetsMinVersion(constants.CHAT_MIN_VERSION):
|
||||||
|
self._connector.sendMessage({"Chat" : message})
|
||||||
|
|
||||||
def sendSetReady(self, username, isReady, manuallyInitiated=True):
|
def sendSetReady(self, username, isReady, manuallyInitiated=True):
|
||||||
self._connector.sendSetReady(username, isReady, manuallyInitiated)
|
self._connector.sendSetReady(username, isReady, manuallyInitiated)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user