mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-01-31 11:50:08 +01:00
closed #615 - added "active chats" dropdown to header
- some minor tweaks also, to make taskbar work a little better with chats
This commit is contained in:
@@ -28,6 +28,8 @@ var RDB = require('./redis'),
|
||||
RDB.hmset('message:' + mid, message);
|
||||
RDB.rpush('messages:' + uids[0] + ':' + uids[1], mid);
|
||||
|
||||
Messaging.updateChatTime(fromuid, touid);
|
||||
Messaging.updateChatTime(touid, fromuid);
|
||||
callback(null, message);
|
||||
});
|
||||
}
|
||||
@@ -73,4 +75,22 @@ var RDB = require('./redis'),
|
||||
});
|
||||
}
|
||||
|
||||
Messaging.updateChatTime = function(uid, toUid, callback) {
|
||||
RDB.zadd('uid:' + uid + ':chats', Date.now(), toUid, function(err) {
|
||||
if (callback) {
|
||||
callback(err);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Messaging.getRecentChats = function(uid, callback) {
|
||||
RDB.zrevrange('uid:' + uid + ':chats', 0, 9, function(err, uids) {
|
||||
if (!err) {
|
||||
user.getMultipleUserFields(uids, ['username', 'picture', 'uid'], callback);
|
||||
} else {
|
||||
callback(err);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
}(exports));
|
||||
@@ -27,6 +27,7 @@ var cookie = require('cookie'),
|
||||
notifications = require('./notifications'),
|
||||
threadTools = require('./threadTools'),
|
||||
postTools = require('./postTools'),
|
||||
Messaging = require('./messaging'),
|
||||
meta = require('./meta'),
|
||||
logger = require('./logger'),
|
||||
socketCookieParser = express.cookieParser(nconf.get('secret')),
|
||||
@@ -680,7 +681,7 @@ websockets.init = function(io) {
|
||||
|
||||
socket.on('getChatMessages', function(data, callback) {
|
||||
var touid = data.touid;
|
||||
require('./messaging').getMessages(uid, touid, function(err, messages) {
|
||||
Messaging.getMessages(uid, touid, function(err, messages) {
|
||||
if (err)
|
||||
return callback(null);
|
||||
|
||||
@@ -709,7 +710,7 @@ websockets.init = function(io) {
|
||||
});
|
||||
}
|
||||
|
||||
require('./messaging').addMessage(uid, touid, msg, function(err, message) {
|
||||
Messaging.addMessage(uid, touid, msg, function(err, message) {
|
||||
var numSockets = 0;
|
||||
|
||||
if (userSockets[touid]) {
|
||||
@@ -742,6 +743,16 @@ websockets.init = function(io) {
|
||||
});
|
||||
});
|
||||
|
||||
socket.on('api:chats.list', function(callback) {
|
||||
Messaging.getRecentChats(uid, function(err, uids) {
|
||||
if (err) {
|
||||
winston.warn('[(socket) api:chats.list] Problem retrieving chats: ' + err.message);
|
||||
}
|
||||
|
||||
callback(uids || []);
|
||||
});
|
||||
});
|
||||
|
||||
socket.on('api:config.get', function(data) {
|
||||
meta.configs.list(function(err, config) {
|
||||
if (!err) socket.emit('api:config.get', config);
|
||||
|
||||
Reference in New Issue
Block a user