diff --git a/CHANGELOG.md b/CHANGELOG.md index fe5dfe630..1ac97af9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ Changed: Fixed: - Set the window application id on Linux to `org.squidowl.halloy` +- Correctly display all arguments when receiving MODE command # 2023.3 (2023-07-27) diff --git a/data/src/message.rs b/data/src/message.rs index d20f746d5..c8e0adada 100644 --- a/data/src/message.rs +++ b/data/src/message.rs @@ -284,7 +284,7 @@ fn text(message: &Encoded, our_nick: &Nick) -> Option { (user.nickname() != *our_nick) .then(|| format!("⟶ {} has joined the channel", user.formatted())) } - Command::MODE(target, modes, _) if proto::is_channel(target) => { + Command::MODE(target, modes, args) if proto::is_channel(target) => { let user = user?; let modes = modes .iter() @@ -292,7 +292,13 @@ fn text(message: &Encoded, our_nick: &Nick) -> Option { .collect::>() .join(" "); - Some(format!(" ∙ {user} sets mode {modes}")) + let args = args + .iter() + .map(|arg| arg.to_string()) + .collect::>() + .join(" "); + + Some(format!(" ∙ {user} sets mode {modes} {args}")) } Command::PRIVMSG(_, text) => { // Check if a synthetic action message