Fix missing prefix on away numerics

This fixes for example, being unable to use /back after going /away in hexchat. Hexchat is unable to parse the 305/306 numerics without the prefix, so assumes you aren't away, and doesn't let you run /back
This commit is contained in:
jacob1 2024-04-29 20:58:03 -04:00 committed by Simon Ser
parent 8e0c256c47
commit fbcda7b963
2 changed files with 4 additions and 3 deletions

View file

@ -752,7 +752,7 @@ func (dc *downstreamConn) handleMessageUnregistered(ctx context.Context, msg *ir
dc.away = nil
}
dc.SendMessage(ctx, generateAwayReply(dc.away != nil))
dc.SendMessage(ctx, generateAwayReply(dc.away != nil, dc.srv.prefix()))
default:
dc.logger.Debugf("unhandled message: %v", msg)
return newUnknownCommandError(msg.Command)
@ -2583,7 +2583,7 @@ func (dc *downstreamConn) handleMessageRegistered(ctx context.Context, msg *irc.
dc.away = nil
}
dc.SendMessage(ctx, generateAwayReply(dc.away != nil))
dc.SendMessage(ctx, generateAwayReply(dc.away != nil, dc.srv.prefix()))
uc := dc.upstream()
if uc != nil {

3
irc.go
View file

@ -299,7 +299,7 @@ func isNumeric(cmd string) bool {
return true
}
func generateAwayReply(away bool) *irc.Message {
func generateAwayReply(away bool, prefix *irc.Prefix) *irc.Message {
cmd := irc.RPL_NOWAWAY
desc := "You have been marked as being away"
if !away {
@ -307,6 +307,7 @@ func generateAwayReply(away bool) *irc.Message {
desc = "You are no longer marked as being away"
}
return &irc.Message{
Prefix: prefix,
Command: cmd,
Params: []string{"*", desc},
}