forked from cory/tildefriends
		
	Fixing some old chat bugs, I think. Added a thing so that I can monitor use.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3315 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
		| @@ -23,6 +23,7 @@ exports.ChatService = class { | ||||
| 		this._callbacks = [callback]; | ||||
| 		this._conversations = {}; | ||||
| 		this._state = null; | ||||
| 		this._maxHistory = 64; | ||||
| 	} | ||||
|  | ||||
| 	makeInterface(service) { | ||||
| @@ -70,9 +71,17 @@ exports.ChatService = class { | ||||
| 		return this._conversations[conversation]; | ||||
| 	} | ||||
|  | ||||
| 	_pushMessage(conversation, message) { | ||||
| 		let history = this._getConversation(conversation || "").history; | ||||
| 		history.push(message); | ||||
| 		if (history.length > this._maxHistory) { | ||||
| 			history.splice(0, history.length - this._maxHistory); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	notifyMessageReceived(conversation, message) { | ||||
| 		let fullMessage = {action: "message", conversation: conversation || "", message: message}; | ||||
| 		this._getConversation(conversation || "").history.push(fullMessage); | ||||
| 		this._pushMessage(conversation, fullMessage); | ||||
| 		this._invokeCallback(fullMessage); | ||||
| 	} | ||||
|  | ||||
| @@ -85,12 +94,14 @@ exports.ChatService = class { | ||||
| 		} else if (index == -1) { | ||||
| 			participants.push(user); | ||||
| 		} | ||||
| 		this._invokeCallback({ | ||||
| 		let message = { | ||||
| 			action: "presence", | ||||
| 			conversation: conversation, | ||||
| 			user: user, | ||||
| 			presence: state, | ||||
| 		}); | ||||
| 		}; | ||||
| 		this._pushMessage(conversation, message); | ||||
| 		this._invokeCallback(message); | ||||
| 	} | ||||
|  | ||||
| 	notifyParticipantList(conversation, participants) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user