Clarify that the WHOX reply RPL_WHOSPCRPL may contain multiple prefixes even without the multi-prefix capability
For historical context: ircu first introduced WHOX in version 2.10.01 and appears to have originally only returned the highest prefix like regular WHO (verified in version 2.10.08.01). https://github.com/UndernetIRC/ircu2/commit/7ec4144c6b646292025b62ebeb1f974e02c03698 introduced returning all prefixes and was first released in version 2.10.11. Charybdis adopted this behaviour from the first version that implemented WHOX support (3.1, commits https://github.com/charybdis-ircd/charybdis/commit/48957a495191764aa3222fd8b15371c979621b61 and https://github.com/charybdis-ircd/charybdis/commit/02eca3f19a01a0fb55fdb65b83f3ec8fd9d7ad5f). I haven't inspected other ircds. Since both behaviours exist in released ircds, the wording is intentionally vague.
Perhaps it should say that clients SHOULD handle this but servers SHOULD NOT emit it?
@SadieCat I'm not sure about that. Both the ircd that invented WHOX (ircu) and at least one modern ircd (Solanum) do emit them – and have been doing so for over 23 years in the case of ircu. I'm sure a significant number of clients (including older or obscure ones without multi-prefix support) expect servers to send it, too, given that it was originally introduced specifically so clients could know the state of a channel's users accurately; this was the only way to get all prefixes at the time. Further, the WHOX document is one of the few that, to my understanding, is more of a documentation of existing technology than an IRCv3 specification. See also the PR that added it: #482
I agree that this is a gap in documentation that would be beneficial to document- I don't think we at Eggdrop are fully handling multiple flags being sent because of our perhaps outdated assumptions and a lack of explicit definition telling us otherwise. I defer to others to agree how WHOX should perform, but my personal opinion is that "WHOX flags are sent the same way WHO flags are sent" makes sense, which allows the negotiation of multi-prefix to dictate whether those WHO flags are sent in full or in part.