Procházet zdrojové kódy

Fix #1911 +s channels don't appear in /list even though on the channel (#1923)

* Fix #1911 +s channels don't appear in /list even though on the channel

* use channel.HasClient instead of custom iterative checker
tags/v2.10.0-rc1
William Rehwinkel před 2 roky
rodič
revize
4010f3fc02
Žádný účet není propojen s e-mailovou adresou tvůrce revize
1 změnil soubory, kde provedl 2 přidání a 2 odebrání
  1. 2
    2
      irc/handlers.go

+ 2
- 2
irc/handlers.go Zobrazit soubor

@@ -1683,7 +1683,7 @@ func listHandler(server *Server, client *Client, msg ircmsg.Message, rb *Respons
1683 1683
 	clientIsOp := client.HasRoleCapabs("sajoin")
1684 1684
 	if len(channels) == 0 {
1685 1685
 		for _, channel := range server.channels.Channels() {
1686
-			if !clientIsOp && channel.flags.HasMode(modes.Secret) {
1686
+			if !clientIsOp && channel.flags.HasMode(modes.Secret) && !channel.hasClient(client) {
1687 1687
 				continue
1688 1688
 			}
1689 1689
 			if matcher.Matches(channel) {
@@ -1698,7 +1698,7 @@ func listHandler(server *Server, client *Client, msg ircmsg.Message, rb *Respons
1698 1698
 
1699 1699
 		for _, chname := range channels {
1700 1700
 			channel := server.channels.Get(chname)
1701
-			if channel == nil || (!clientIsOp && channel.flags.HasMode(modes.Secret)) {
1701
+			if channel == nil || (!clientIsOp && channel.flags.HasMode(modes.Secret) && !channel.hasClient(client)) {
1702 1702
 				if len(chname) > 0 {
1703 1703
 					rb.Add(nil, server.name, ERR_NOSUCHCHANNEL, client.nick, utils.SafeErrorParam(chname), client.t("No such channel"))
1704 1704
 				}

Načítá se…
Zrušit
Uložit