Standard Replies Extension#357
Conversation
|
Considering a change of verb to |
|
Might it be worth defining a vendor-specific/standard distinction for |
|
I'm not exactly sure about vendor prefixing or something along those lines. May be a good idea to have a FAIL error-code registry on the v3 site – less a must-be-here-before-use and more of a here's the codes that software is using out there, try to use these. Added a sentence about converging on error codes used by other software in the meantime. |
|
For what it's worth, new features that do explicitly send out FAIL messages will define the stock error codes that can be sent by their command as part of their specifications. |
|
Should having a description be a requirement? If I'm parsing a FAIL message on the client I should be always expect that the last argument is the freeform description otherwise I wouldn't know if it's an argument or description. It may also be worth renaming the |
|
Yes, description is a requirement. Servers could even send empty descriptions if they want to, but the final parameter is always a freeform text description. Same as I could go with |
|
So, it's pretty clear that There are two other sorts of cases that we may also want to cover: Informational messages (warnings while running a command / just general info), and a general success message (FAIL == command didn't complete successfully, == command did complete successfully). I think the equivalent of a success message isn't as required, since a lot of the time the successful result of a command is some explicit successful reply batch or something of the like, but the informational messages + warnings sound be a good addition to this spec.
|
|
Probably worth having a |
I think the point of a
or maybe something like
|
|
Both |
|
So...
That sound right? (sidenote - that |
|
Sounds good to me. I'm on the fence about using |
|
It'd have to be |
|
Thought it might, but looking up specs is tricky enough when I'm not on mobile. In that case, I'd lean toward |
|
Coolcool, I'd be good with |
|
Initial round of updating to describe the |
|
Also a note: It's been suggested to use the same vendor-prefixing for codes that are not defined on the IRCv3 Reply Code Registry, similar to what we do for caps and tags. If this happens, the addition of reply codes to the registry will be made very simple to encourage server implementers to push their things towards IRCv3. Rather than with tags and caps, where a full specification is required, the 'bar' will simply be submitting a note/issue/PR that the code is in use, the intended meaning of it (and how client software may wish to automagically respond to it), and a basic clarity check from us before agreeing to add it to the table. Thoughts on this? Helps avoid fragmentation for clients, at the cost of requiring servers to register all their codes with us or vendor-prefix 'em. |
|
if we're going to move some stuff from numerics/notices to |
|
What’s moving? |
|
that's an if but also e.g. ircv3/ircv3-ideas#30 |
|
We're not moving any existing numerics, so that won't be an issue. Notices... eh, I'm not too worried honestly. |
|
As I understand it, this stuff is more of a framework for other new specs to make use of, rather than a standalone spec. But if there’s support for moving a lot of existing stuff over then it might be worth considering. A similar thing happened with message tags, but that also involved introducing quite a bit of new functionality. So I guess, wait and see what sort of proposals come up. There’d be nothing to stop us introducing a cap in future as an extension to this framework. |
|
Maybe my point should more be... If we're looking at moving some I can totally understand why we'd not need/want to move numerics but there's some useful information that's transmitted over |
|
Definitely noted, for now my main focus is just on getting the feature itself fine, spec looking good, etc. An additional cap along those lines might be good to have, but something to be considered properly a bit further down the line. |
|
Added the suggested
Nice set of response messages to choose from, should let spec makers be able to use this for a decent proportion of their stuff. |
|
With If they were optional for e.g. |
|
Yep, both are required for all these messages. One of my intentions for the suite of messages introduced by this specification is that they have exactly the same format to make parsing them very simple for clients, and so that servers have a consistent information-return interface. Given the presence of the |
This reverts commit bb55513.
|
Right, following some discussion on IRC, I think we think OK is kind of an odd one out here. We already have a convention for successful command responses, the server uses the same verb, e.g. with (Hence the revert) |
|
After discussion on IRC, I agree wholeheartedly that the |
|
While putting this in place for the BOUNCER proposal I've come across a use case whereby I need to send
With this language I shouldn't send
I would imagine that |
|
Also, what was the reasoning for the
|
|
New wording sounds fine to me. OK was dropped because convention is just to use the c2s command and an s2c verb. So the server could just echo the command back as a reply:
|
|
Sounds good and a really clean way to use this, new wording applied~ |
|
There are several other specifications blocked by this one so if there's no more objections to this then can we finalise it? |
We've been wanting to create this for a while, and for specs like #349 and #276 we want to actually start using it.
Basically, the
FAILmessage is intended to replace future numeric reservations for the purpose of conveying general error information. If you create a new error response, implements shouldn't need to reserve a new numeric, and instead are simply able to use a different error code and description.Right now, an
FAILmessage is general – it can either mean a complete failure to execute the given command, or it can mean that there's simply something for the user/client software to keep in mind. This is consistent with howERR_numerics are used today. If we instead wish to present fatal (or very impacctful) and non-fatal/impactful errors separately, it may be worth also defining theWARNmessage which takes the same format as theFAILmessage.