Log notices as correct sender when it will be shown in active window

This commit is contained in:
Pavel Djundik 2018-06-12 14:37:22 +03:00 committed by Jérémie Astori
parent a267add7a4
commit 5dced897d8
No known key found for this signature in database
GPG Key ID: B9A4F245CD67BDE8

View File

@ -3,6 +3,7 @@
const _ = require("lodash"); const _ = require("lodash");
const Helper = require("../helper"); const Helper = require("../helper");
const User = require("./user"); const User = require("./user");
const Msg = require("./msg");
const storage = require("../plugins/storage"); const storage = require("../plugins/storage");
module.exports = Chan; module.exports = Chan;
@ -185,9 +186,19 @@ Chan.prototype.writeUserLog = function(client, msg) {
return; return;
} }
let targetChannel = this;
// Is this particular message or channel loggable // Is this particular message or channel loggable
if (!msg.isLoggable() || !this.isLoggable()) { if (!msg.isLoggable() || !this.isLoggable()) {
return; // Because notices are nasty and can be shown in active channel on the client
// if there is no open query, we want to always log notices in the sender's name
if (msg.type === Msg.Type.NOTICE && msg.showInActive) {
targetChannel = {
name: msg.from.nick,
};
} else {
return;
}
} }
// Find the parent network where this channel is in // Find the parent network where this channel is in
@ -198,7 +209,7 @@ Chan.prototype.writeUserLog = function(client, msg) {
} }
for (const messageStorage of client.messageStorage) { for (const messageStorage of client.messageStorage) {
messageStorage.index(target.network, this, msg); messageStorage.index(target.network, targetChannel, msg);
} }
}; };