ircv3-ideas
ircv3-ideas copied to clipboard
Suggest to a client when to re-check ISUPPORT tokens
It would be great to have a way for servers to tell clients about a possible change in the ISUPPORT tokens as it happens. This could be automatically signalled by the server on a rehash, and the client could re-request the ISUPPORT tokens and therefore not have any problems when it comes to changes in the token values, such as understanding newly-introduced/removed 005 PREFIX, EXTBANs and draft/FILEHOST values/URIs
For example, perhaps something like:
RPL_ISPTRELOAD <client> :<Human-readable message for the client>
Where RPL_ISPTRELOAD could be 800 or some other unused numeric.
Or instead, like there is with CAP NEW/CAP DEL, there could also be something akin to this using PREFIX as the example:
ISUPPORT <client> NEW :PREFIX=(Yqaohv)!~&@%+
Or, servers could do a little more and just automatically resend a changed ISUPPORT token on its own with 005, which feels like the best way to not break old things.
Either way, I feel like there should be an effort to make ISUPPORT correction easier for clients.
Thoughts?
Or, servers could do a little more and just automatically resend a changed ISUPPORT token on its own with 005, which feels like the best way to not break old things.
If I understand correctly, this is already recommended by Modern:
If the value of a parameter changes, the server SHOULD re-advertise the parameter with the new value in an RPL_ISUPPORT reply. An example of this is a client becoming an IRC operator and their CHANLIMIT changing.
I believe Unreal sends updated ISUPPORT lines when e.g. a client successfully opers and their channel limits change (hence the example up there). Would definitely make sense to do the same if other values like these change!