Fix previous fix

This commit is contained in:
calzoneman 2016-06-26 21:15:33 -07:00
parent e9fdb1a7e5
commit c70dc83504
2 changed files with 24 additions and 16 deletions

View file

@ -322,22 +322,31 @@ Channel.prototype.joinUser = function (user, data) {
return;
}
if (self.is(Flags.C_REGISTERED)) {
user.waitFlag(Flags.U_LOGGED_IN, () => {
user.refreshAccount({
channel: self.name,
name: user.getName()
}, function (err, account) {
if (err) {
Logger.errlog.log("user.refreshAccount failed at Channel.joinUser");
Logger.errlog.log(err.stack);
self.refCounter.unref("Channel::user");
return;
}
function refreshUserAccount(cb) {
user.refreshAccount({
channel: self.name,
name: user.getName()
}, function (err, account) {
if (err) {
Logger.errlog.log("user.refreshAccount failed at Channel.joinUser");
Logger.errlog.log(err.stack);
self.refCounter.unref("Channel::user");
return;
}
afterAccount();
});
if (cb) {
process.nextTick(cb);
}
});
}
if (self.is(Flags.C_REGISTERED) && user.is(Flags.U_LOGGED_IN)) {
refreshUserAccount(afterAccount);
} else if (self.is(Flags.C_REGISTERED)) {
user.waitFlag(Flags.U_LOGGED_IN, () => {
refreshUserAccount();
});
afterAccount();
} else {
afterAccount();
}