From 5fc70397a9321ec75825403f5a5b622c252b598d Mon Sep 17 00:00:00 2001 From: Pavel Djundik Date: Sun, 3 Dec 2017 16:29:50 +0200 Subject: [PATCH] Make sure all joins send filtered clone --- src/plugins/inputs/query.js | 2 +- src/plugins/irc-events/banlist.js | 2 +- src/plugins/irc-events/join.js | 2 +- src/plugins/irc-events/list.js | 2 +- src/plugins/irc-events/message.js | 2 +- src/plugins/irc-events/whois.js | 2 +- test/models/chan.js | 2 ++ 7 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/plugins/inputs/query.js b/src/plugins/inputs/query.js index 6d9d3a26..501b8bc1 100644 --- a/src/plugins/inputs/query.js +++ b/src/plugins/inputs/query.js @@ -47,6 +47,6 @@ exports.input = function(network, chan, cmd, args) { network.channels.push(newChan); this.emit("join", { network: network.id, - chan: newChan, + chan: newChan.getFilteredClone(true), }); }; diff --git a/src/plugins/irc-events/banlist.js b/src/plugins/irc-events/banlist.js index 9a7a119c..adac4cc0 100644 --- a/src/plugins/irc-events/banlist.js +++ b/src/plugins/irc-events/banlist.js @@ -29,7 +29,7 @@ module.exports = function(irc, network) { network.channels.push(chan); client.emit("join", { network: network.id, - chan: chan, + chan: chan.getFilteredClone(true), }); } diff --git a/src/plugins/irc-events/join.js b/src/plugins/irc-events/join.js index a781d059..6e53d42b 100644 --- a/src/plugins/irc-events/join.js +++ b/src/plugins/irc-events/join.js @@ -18,7 +18,7 @@ module.exports = function(irc, network) { client.save(); client.emit("join", { network: network.id, - chan: chan, + chan: chan.getFilteredClone(true), }); // Request channels' modes diff --git a/src/plugins/irc-events/list.js b/src/plugins/irc-events/list.js index 3122d1b8..0ddf2059 100644 --- a/src/plugins/irc-events/list.js +++ b/src/plugins/irc-events/list.js @@ -49,7 +49,7 @@ module.exports = function(irc, network) { network.channels.push(chan); client.emit("join", { network: network.id, - chan: chan, + chan: chan.getFilteredClone(true), }); } diff --git a/src/plugins/irc-events/message.js b/src/plugins/irc-events/message.js index 5ddcc0f3..894adaa0 100644 --- a/src/plugins/irc-events/message.js +++ b/src/plugins/irc-events/message.js @@ -68,7 +68,7 @@ module.exports = function(irc, network) { network.channels.push(chan); client.emit("join", { network: network.id, - chan: chan, + chan: chan.getFilteredClone(true), }); } } diff --git a/src/plugins/irc-events/whois.js b/src/plugins/irc-events/whois.js index 6747c2ed..d07836c0 100644 --- a/src/plugins/irc-events/whois.js +++ b/src/plugins/irc-events/whois.js @@ -17,7 +17,7 @@ module.exports = function(irc, network) { client.emit("join", { shouldOpen: true, network: network.id, - chan: chan, + chan: chan.getFilteredClone(true), }); } diff --git a/test/models/chan.js b/test/models/chan.js index 02dc039a..d9c2c182 100644 --- a/test/models/chan.js +++ b/test/models/chan.js @@ -208,6 +208,8 @@ describe("Chan", function() { expect(messages).to.have.lengthOf(4); expect(messages[0].id).to.equal(10); expect(messages[3].id).to.equal(13); + + expect(chan.getFilteredClone(true).messages).to.have.lengthOf(4); }); it("should only send new messages", function() {