ircv3 / ircv3-ideas

46 stars 3 forks source link

Spec out client->server `BATCH` #35

Closed jesopo closed 2 years ago

jesopo commented 5 years ago

This came to mind because of https://github.com/ircv3/ircv3-specifications/issues/208 - there's suggestions about using client->server BATCHes to send multi line messages and that made me realise that, even if we don't use a BATCH for multi line messages, we're probably going to need client->server BATCHes at some point.

Should we spec this out? Should this go in the batch spec? What are some examples of when a client would send a BATCH, other than a multi line message?

RyanSquared commented 5 years ago

Should this go in the batch spec?

I feel like the similar terminology behind client->server and server->client specs gives reason for it to be in an additional section of the same spec. It does mean bumping the version on the capability though, rather than using a new one.

jesopo commented 5 years ago

We could have an additional CAP for client-sent BATCHes if we really wanted.

DanielOaks commented 5 years ago

+1 for an additional cap. Leaving the existing batch cap alone would be good since the capability of that isn't changing. Maybe an additional client-batches cap could work out nicely? Mostly a case of defining use-cases that would be appropriate for affecting server processing of client batches -- on the s2c side, the stated goal of the batches is just to simplify display, after all.

jesopo commented 5 years ago

A new CAP is, imo, perfect.

Brainstorming on things that could use client->server BATCHes?

SadieCat commented 5 years ago

I'm opposed to C2S batches until I can find an actual use case for them where the server might actually care about batching messages. See my comment in ircv3/ircv3-specifications#208 for why I don't think they are suitable for multi-line messages.

jesopo commented 2 years ago

I think this can be closed now that a real spec (multiline) uses this concept?

jwheare commented 2 years ago

And it got split into its own spec here https://github.com/ircv3/ircv3-specifications/pull/454