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