From 8d44fa3c3fda1ec46e7b9b1b236d889dc850790c Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Wed, 25 Nov 2020 22:39:07 -0500 Subject: [PATCH 1/2] fix duplicated JOIN line sent to resuming clients Resuming clients without the resume capability would receive two JOIN lines per channel. --- irc/channel.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/irc/channel.go b/irc/channel.go index eeeb06d7..b2416d73 100644 --- a/irc/channel.go +++ b/irc/channel.go @@ -993,19 +993,19 @@ func (channel *Channel) resumeAndAnnounce(session *Session) { // but really we should send it to voiced clients if !channel.flags.HasMode(modes.Auditorium) { for _, member := range channel.Members() { - for _, session := range member.Sessions() { - if session.capabilities.Has(caps.Resume) { + for _, mSes := range member.Sessions() { + if mSes == session || mSes.capabilities.Has(caps.Resume) { continue } - if session.capabilities.Has(caps.ExtendedJoin) { - session.Send(nil, details.nickMask, "JOIN", chname, details.accountName, details.realname) + if mSes.capabilities.Has(caps.ExtendedJoin) { + mSes.Send(nil, details.nickMask, "JOIN", chname, details.accountName, details.realname) } else { - session.Send(nil, details.nickMask, "JOIN", chname) + mSes.Send(nil, details.nickMask, "JOIN", chname) } if 0 < len(oldModes) { - session.Send(nil, channel.server.name, "MODE", chname, oldModes, details.nick) + mSes.Send(nil, channel.server.name, "MODE", chname, oldModes, details.nick) } } } From b7377d3f679caa35cd00a26577a9b7438d0ead40 Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Thu, 26 Nov 2020 00:27:23 -0500 Subject: [PATCH 2/2] bump irctest --- irctest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/irctest b/irctest index b43e1278..d741ab86 160000 --- a/irctest +++ b/irctest @@ -1 +1 @@ -Subproject commit b43e1278057113041ba51ced58571a2ad8dacb5c +Subproject commit d741ab86d5f63782e746384a553f44b04a672ebb