Skip to content

Commit fe412a0

Browse files
committed
fixup! Add extended-isupport
1 parent cb22ea2 commit fe412a0

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

extensions/extended-isupport.md

+13-9
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,24 @@ entries. However, `RPL_ISUPPORT` is only sent by servers after connection
2525
registration. This undermines the usefulness of `RPL_ISUPPORT`: some of the
2626
metadata would be useful to clients prior to connection registration. This
2727
extension adds a mechanism to send `RPL_ISUPPORT` messages before connection
28-
registration, as well as an end of `RPL_ISUPPORT` list indication.
28+
registration, as well as a dedicated command to request the `ISUPPORT` list and
29+
a batch for `RPL_ISUPPORT` messages.
2930

3031
## Implementation
3132

33+
### `ISUPPORT` command
34+
35+
A new `ISUPPORT` command is introduced to request the full `RPL_ISUPPORT` list.
36+
When receiving this command, the server MUST reply with one or more
37+
`RPL_ISUPPORT` messages (grouped inside a `draft/isupport` batch if the `batch`
38+
and `draft/extended-isupport` capabilities are enabled, see below).
39+
3240
### `draft/extended-isupport` capability
3341

3442
When the `draft/extended-isupport` capability is enabled by the client, the
35-
server MUST send one or more `RPL_ISUPPORT` messages (grouped inside a
36-
`draft/isupport` batch if the `batch` capability is enabled). The capability
37-
MAY be enabled by the client before connection registration completes (ie,
38-
before the client sends `CAP END`, and before the server sends `RPL_WELCOME`).
43+
server MUST accept `ISUPPORT` commands before connection registration
44+
completes (ie, before the client sends `CAP END`, and before the server sends
45+
`RPL_WELCOME`).
3946

4047
Before connection registration completes, while `draft/extended-isupport` is
4148
enabled, the server MAY send updates to the key-value entries via subsequent
@@ -49,10 +56,6 @@ Before connection registration, the server MAY send only a subset of the full
4956
`RPL_ISUPPORT` list. In that case, the server MUST send a `RPL_ISUPPORT` list
5057
when connection registration completes with entries previously omitted.
5158

52-
The server MUST send one or more `RPL_ISUPPORT` messages when the capability is
53-
enabled, including after connection registration or if the disables then
54-
re-enables the capability.
55-
5659
### `draft/isupport` batch
5760

5861
The server MUST group all `RPL_ISUPPORT` messages inside a `draft/isupport`
@@ -75,6 +78,7 @@ Enabling the capability:
7578
S: :irc.example.org CAP * LS :multi-prefix sasl batch draft/extended-isupport
7679
C: CAP REQ batch draft/extended-isupport
7780
S: :irc.example.org CAP * ACK :batch draft/extended-isupport
81+
C: ISUPPORT
7882
S: :irc.example.org BATCH +asdf draft/isupport
7983
S: @batch=asdf :irc.example.org 005 * NETWORK=Example NICKLEN=30 FOO=bar
8084
S: :irc.example.org BATCH -asdf

0 commit comments

Comments
 (0)