From 03b4a6581c66b8e6970206652ed52c9f42ba8f77 Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Tue, 7 Dec 2021 01:31:07 -0500 Subject: [PATCH] fix #1858 The channel mode +R used to both prevent joins by unregistered users, and prevent unregistered users who happened to be joined from speaking. This changes the behavior so that +R only prevents joins: 1. This allows users who were invited or SAJOIN'ed to speak 2. To restore the old semantics, chanops can set +RM --- irc/channel.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/irc/channel.go b/irc/channel.go index b55e9b5d..d3061fcd 100644 --- a/irc/channel.go +++ b/irc/channel.go @@ -1305,9 +1305,6 @@ func (channel *Channel) CanSpeak(client *Client) (bool, modes.Mode) { if channel.flags.HasMode(modes.Moderated) && clientModes.HighestChannelUserMode() == modes.Mode(0) { return false, modes.Moderated } - if channel.flags.HasMode(modes.RegisteredOnly) && client.Account() == "" { - return false, modes.RegisteredOnly - } if channel.flags.HasMode(modes.RegisteredOnlySpeak) && client.Account() == "" && clientModes.HighestChannelUserMode() == modes.Mode(0) { return false, modes.RegisteredOnlySpeak