squidowl / halloy

IRC application written in Rust
GNU General Public License v3.0
1.39k stars 49 forks source link

Some channel mode changes lost #443

Open glguy opened 1 month ago

glguy commented 1 month ago

halloy doesn't display the removal of most modes to a channel. In my test it couldn't show removing any of: tnljf but it could show removing k. It can show adding klj but not adding n. I haven't investigated what it's actually doing yet.

Looking around halloy doesn't process ISUPPORT CHANMODES, so it's implementation of which modes take parameters is currently an approximation and wrong for some of the modes on libera.chat, for example. I don't know if this is connected to it dropping the mode changes or not.

andymandias commented 1 month ago

The CHANMODES ISUPPORT parameter is currently parsed, then ignored. Utilizing all parsed ISUPPORT parameters is on my to-do list, so I'll be returning to this (unless it's taken care of before I can get to it). I'll put this higher up on that list.