Skip to content

Add more FAIL codes for client-initiated batches#573

Merged
jwheare merged 1 commit into
ircv3:masterfrom
skizzerz:patch-1
Feb 13, 2026
Merged

Add more FAIL codes for client-initiated batches#573
jwheare merged 1 commit into
ircv3:masterfrom
skizzerz:patch-1

Conversation

@skizzerz
Copy link
Copy Markdown
Contributor

While building out my implementation of this, I noticed that many instances of clients sending garbage to the server did not have a defined error code. My implementation provides a baseline support for the BATCH command while allowing other modules to define recognized batch types. As such, the handler for the BATCH command itself is generic and agnostic to the actual type being used. It still needs to do some basic tracking on the supplied reference tag and type before handing it off to the handler module, so cases where the reference tag and/or type are not valid need error messages.

Rather than making something implementation-defined, it'd probably be best to specify some messages that can be used in this case. An implementation that doesn't split things up like mine does isn't required to use these additional messages, but having them specified lets clients know to expect them.

While building out my implementation of this, I noticed that many instances of clients sending garbage to the server did not have a defined error code. My implementation provides a baseline support for the BATCH command while allowing other modules to define recognized batch types. As such, the handler for the BATCH command itself is generic and agnostic to the actual type being used. It still needs to do some basic tracking on the supplied reference tag and type before handing it off to the handler module, so cases where the reference tag and/or type are not valid need error messages.

Rather than making something implementation-defined, it'd probably be best to specify some messages that can be used in this case. An implementation that doesn't split things up like mine does isn't required to use these additional messages, but having them specified lets clients know to expect them.
@skizzerz
Copy link
Copy Markdown
Contributor Author

As an implementation note, solanum now makes use of these additional codes for client-initiated batches as of solanum-ircd/solanum@4cc9be1 (plus a couple more related to nesting which aren't part of this PR as the current draft spec forbids nesting but the solanum implementation conditionally allows it for potential future specs which add nested client-initiated batches)

@jwheare
Copy link
Copy Markdown
Member

jwheare commented Feb 8, 2026

I'm fine with this.

@jwheare
Copy link
Copy Markdown
Member

jwheare commented Feb 10, 2026

Will aim to merge this at the end of the week.

@jwheare jwheare merged commit 2c0dac8 into ircv3:master Feb 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants