Skip to content

Commit

Permalink
Update the registry.
Browse files Browse the repository at this point in the history
Remove ACC from the registry, but leave `ACCOUNT_REQUIRED` there because that's still in use. Add register Extension to the registry. Display [PR] tag in all registry tables. Sort FAIL codes by command name in the registry. Add event-playback cap to registry. Add the Bot mode to registry. Added the UTF8ONLY PR to the registry page.
  • Loading branch information
DanielOaks authored Mar 26, 2021
1 parent 0833719 commit f4089e8
Show file tree
Hide file tree
Showing 4 changed files with 171 additions and 102 deletions.
33 changes: 33 additions & 0 deletions _data/registry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
- https://modern.ircdocs.horse/#feature-advertisement
- https://modern.ircdocs.horse/#rplisupport-005
- https://modern.ircdocs.horse/#rplisupport-parameters
- numeric: "335"
name: RPL_WHOISBOT
description: Indicates that the client being `WHOIS`'d is a bot
specs:
- pr-bot
- numeric: "670"
name: RPL_STARTTLS
description: Indicates that the client may begin their TLS handshake
Expand Down Expand Up @@ -140,6 +145,10 @@
specs:
- echo-message
description: Notifies clients when their PRIVMSG and NOTICEs are correctly received by the server.
- name: event-playback
specs:
- chathistory
description: Lets clients request JOIN/MODE/etc messages as part of history.
- name: extended-join
specs:
- extended-join
Expand Down Expand Up @@ -172,6 +181,10 @@
specs:
- multiline
description: Allows clients and servers to use send messages that can exceed the usual byte length limit and that can contain line breaks.
- name: register
specs:
- pr-register
description: Indicates support for the REGISTER/VERIFY commands, a standardised way for clients to register accounts.
- name: sasl
specs:
- sasl-3.1
Expand Down Expand Up @@ -206,6 +219,10 @@
specs:
- batch
description: Contains the ID of the batch the attached message is a part of.
- name: bot
specs:
- pr-bot
description: Indicates this message was sent by a bot.
- name: label
specs:
- label
Expand Down Expand Up @@ -305,6 +322,10 @@
specs:
- userhost-in-names
description: Not defined by IRCv3 but extended to include account names.
- name: REGISTER
specs:
- pr-register
description: Lets clients register user accounts.
- name: RENAME
specs:
- channel-rename
Expand All @@ -317,6 +338,10 @@
specs:
- message-tags
description: Lets clients send messages with tags but no text content.
- name: VERIFY
specs:
- pr-register
description: Lets clients verify their newly-registered accounts.
- name: WEBIRC
specs:
- webirc
Expand All @@ -326,7 +351,15 @@
include_numeric: false
include_specs: true
values:
- name: BOT
specs:
- pr-bot
description: Indicates that clients can mark themselves as bots by setting a mode on themselves.
- name: CLIENTTAGDENY
specs:
- message-tags
description: Indicates client-only tags that are blocked or allowed by a server
- name: UTF8ONLY
specs:
- pr-utf8only
description: Indicates the server only accepts UTF-8 encoded messages
25 changes: 23 additions & 2 deletions _data/specs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,14 +179,35 @@ chathistory-batch:
# pull requests
pr-acc:
fullname: PR#276 - Account Management Framework
name: PR#276
name: PR#276 - Account Management Framework
shortname: PR#276
full-url: https://github.com/ircv3/ircv3-specifications/pull/276
proposed: true

pr-bot:
fullname: PR#439 - Bot mode
name: PR#439 - Bot mode
shortname: PR#439
full-url: https://github.com/ircv3/ircv3-specifications/pull/439
proposed: true

pr-register:
fullname: PR#435 - register Extension
name: PR#435 - register Extension
shortname: PR#435
full-url: https://github.com/ircv3/ircv3-specifications/pull/435
proposed: true

pr-resume:
fullname: PR#306 - resume Extension
name: PR#306
name: PR#306 - resume Extension
shortname: PR#306
full-url: https://github.com/ircv3/ircv3-specifications/pull/306
proposed: true

pr-utf8only:
fullname: PR#432 - UTF8ONLY ISUPPORT token
name: PR#432 - UTF8ONLY ISUPPORT token
shortname: PR#432
full-url: https://github.com/ircv3/ircv3-specifications/pull/432
proposed: true
211 changes: 113 additions & 98 deletions _data/standard_replies_registry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,91 +15,11 @@
description: Indicates that the client must be logged into an account to execute the given command, connect to the server, or otherwise access some functionality
specs:
- pr-acc
- command: ACC
code: ACCOUNT_ALREADY_EXISTS
description: Indicates that the client cannot register because the given account name already exists
specs:
- pr-acc
- command: ACC
code: ACCOUNT_ALREADY_VERIFIED
description: Indicates that the client has already completed verification for their account registration
specs:
- pr-acc
- command: ACC
code: ACCOUNT_INVALID_VERIFY_CODE
description: Indicates that the given account registration verification code is incorrect
specs:
- pr-acc
- command: ACC
code: REG_INVALID_CALLBACK
description: Indicates that the given callback cannot be used (e.g. invalid email address, etc)
specs:
- pr-acc
- command: ACC
code: REG_INVALID_CRED_TYPE
description: Indicates that the given credential type is incorrect
specs:
- pr-acc
- command: ACC
code: REG_INVALID_CREDENTIAL
description: Indicates that the given credential (e.g. the passphrase) cannot be used
specs:
- pr-acc
- command: ACC
code: REG_MUST_USE_REGNICK
description: Indicates that the client must send `*` as the account name
specs:
- pr-acc
- command: ACC
code: REG_UNAVAILABLE
description: Indicates that account registration is currently unavailable
specs:
- pr-acc
- command: ACC
code: REG_UNSPECIFIED_ERROR
description: Indicates that account registration has otherwise failed
specs:
- pr-acc
- command: ACC
code: VERIFY_UNSPECIFIED_ERROR
description: Indicates that account registration verification has otherwise failed
specs:
- pr-acc
- command: BRB
code: CANNOT_BRB
description: Indicates that the BRB attempt was unsuccessful
specs:
- pr-resume
- command: RESUME
code: CANNOT_RESUME
description: Indicates that the resume attempt was otherwise unsuccessful
specs:
- pr-resume
- command: RESUME
code: INSECURE_SESSION
description: Indicates that either the old or new session was not connected securely
specs:
- pr-resume
- command: RESUME
code: INVALID_TOKEN
description: Indicates that the provided resume token was not correct
specs:
- pr-resume
- command: RESUME
code: REGISTRATION_IS_COMPLETED
description: Indicates that resume failed because connection registration has already completed
specs:
- pr-resume
- command: SETNAME
code: CANNOT_CHANGE_REALNAME
description: Indicates that the realname could not be otherwise changed
specs:
- setname
- command: SETNAME
code: INVALID_REALNAME
description: Indicates that the new realname was invalid
- command:
code: INVALID_UTF8
description: Indicates that the client's message was dropped because it contained non-UTF-8 bytes
specs:
- setname
- pr-utf8only
- command: BATCH
code: MULTILINE_MAX_BYTES
description: Indicates that the `max-bytes` multiline limit is exceeded
Expand All @@ -120,21 +40,11 @@
description: Any other multiline error
specs:
- multiline
- command: RENAME
code: CHANNEL_NAME_IN_USE
description: Indicates that a channel name is already taken
specs:
- channel-rename
- command: RENAME
code: CANNOT_RENAME
description: Indicates any other channel renaming failure
specs:
- channel-rename
- command: JOIN
code: CHANNEL_RENAMED
description: Indicates a joined channel has been renamed
- command: BRB
code: CANNOT_BRB
description: Indicates that the BRB attempt was unsuccessful
specs:
- channel-rename
- pr-resume
- command: CHATHISTORY
code: INVALID_PARAMS
description: Indicates that the client sent invalid parameters with their `CHATHISTORY` command
Expand All @@ -160,6 +70,106 @@
description: Indicates that the client sent an invalid subcommand of `CHATHISTORY`
specs:
- chathistory
- command: JOIN
code: CHANNEL_RENAMED
description: Indicates a joined channel has been renamed
specs:
- channel-rename
- command: REGISTER
code: ALREADY_REGISTERED
description: Indicates that the client is already authenticated.
specs:
- pr-register
- command: REGISTER
code: COMPLETE_CONNECTION_REQUIRED
description: Indicates that the client can only use REGISTER once they are fully connected.
specs:
- pr-register
- command: REGISTER
code: INVALID_EMAIL
description: Indicates that the server cannot send emails to the given email address.
specs:
- pr-register
- command: REGISTER
code: TEMPORARILY_UNAVAILABLE
description: Indicates that the REGISTER command is temporarily unavailable.
specs:
- pr-register
- command: REGISTER
code: UNACCEPTABLE_EMAIL
description: Indicates that the email address cannot be used for account registration.
specs:
- pr-register
- command: REGISTER
code: UNACCEPTABLE_PASSWORD
description: Indicates that the desired password is invalid for any reason other than weakness.
specs:
- pr-register
- command: REGISTER
code: USERNAME_EXISTS
description: Indicates that the desired account name (the user's nick) has already been registered.
specs:
- pr-register
- command: REGISTER
code: WEAK_PASSWORD
description: Indicates that the desired password is too weak.
specs:
- pr-register
- command: RENAME
code: CHANNEL_NAME_IN_USE
description: Indicates that a channel name is already taken
specs:
- channel-rename
- command: RENAME
code: CANNOT_RENAME
description: Indicates any other channel renaming failure
specs:
- channel-rename
- command: RESUME
code: CANNOT_RESUME
description: Indicates that the resume attempt was otherwise unsuccessful
specs:
- pr-resume
- command: RESUME
code: INSECURE_SESSION
description: Indicates that either the old or new session was not connected securely
specs:
- pr-resume
- command: RESUME
code: INVALID_TOKEN
description: Indicates that the provided resume token was not correct
specs:
- pr-resume
- command: RESUME
code: REGISTRATION_IS_COMPLETED
description: Indicates that resume failed because connection registration has already completed
specs:
- pr-resume
- command: SETNAME
code: CANNOT_CHANGE_REALNAME
description: Indicates that the realname could not be otherwise changed
specs:
- setname
- command: SETNAME
code: INVALID_REALNAME
description: Indicates that the new realname was invalid
specs:
- setname
- command: VERIFY
code: ALREADY_REGISTERED
description: Indicates that the client is already authenticated.
specs:
- pr-register
- command: VERIFY
code: COMPLETE_CONNECTION_REQUIRED
description: Indicates that the client can only use VERIFY once they are fully connected.
specs:
- pr-register
- command: VERIFY
code: TEMPORARILY_UNAVAILABLE
description: Indicates that the VERIFY command is temporarily unavailable.
specs:
- pr-register

# WARN
- name: WARN codes
Expand All @@ -169,3 +179,8 @@
description: Indicates that the client should login into an account
specs:
- pr-acc
- command:
code: INVALID_UTF8
description: Indicates that the client's message was modified because it contained non-UTF-8 bytes
specs:
- pr-utf8only
4 changes: 2 additions & 2 deletions registry.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ page-header: >
IRCv3 Registry
---

This page lists the tags, capabilities, commands, batches and metadata keys that have been defined by the IRCv3 Working Group, are described by our specifications, or that we otherwise recommend using.
This page lists the tags, capabilities, commands, batches and metadata keys that have been defined by the IRCv3 Working Group, are described by our specifications, or that we otherwise recommend using. Draft-status names are listed without the `draft/`, as this primarily catalogues reserved names.

<div class="irc-sw-list flexy-list" style="max-width: 60rem;">
{% for type in site.data.registry %}
Expand Down Expand Up @@ -42,7 +42,7 @@ This page lists the tags, capabilities, commands, batches and metadata keys that
<td style="min-width: 10rem"{% if type.nomono %}{% else %} class="mono"{% endif %}>{{ val.name }}</td>
{% if type.include_specs %}<td style="min-width: 13rem">
{% for specname in val.specs %}
<a class="{% if site.data.specs[specname].deprecated %}deprecated{% endif %} {% if site.data.specs[specname].draft %}draft{% endif %}" title="{{ site.data.specs[specname].name }}" href="{% if site.data.specs[specname].full-url %}{{ site.data.specs[specname].full-url }}{% else %}{{ site.baseurl }}/specs{{ site.data.specs[specname].url }}{% endif %}">{{ site.data.specs[specname].shortname }}</a>{% if site.data.specs[specname].deprecated %}<sup> [deprecated]</sup>{% endif %}{% if site.data.specs[specname].draft %}<sup> [draft]</sup>{% endif %}{% if forloop.last %}{% else %},{% endif %}
<a class="{% if site.data.specs[specname].deprecated %}deprecated{% endif %} {% if site.data.specs[specname].draft %}draft{% endif %} {% if site.data.specs[specname].proposed %}proposed{% endif %}" title="{{ site.data.specs[specname].name }}" href="{% if site.data.specs[specname].full-url %}{{ site.data.specs[specname].full-url }}{% else %}{{ site.baseurl }}/specs{{ site.data.specs[specname].url }}{% endif %}">{{ site.data.specs[specname].shortname }}</a>{% if site.data.specs[specname].deprecated %}<sup> [deprecated]</sup>{% endif %}{% if site.data.specs[specname].draft %}<sup> [draft]</sup>{% endif %}{% if site.data.specs[specname].proposed %}<sup> [PR]</sup>{% endif %}{% if forloop.last %}{% else %},{% endif %}
{% endfor %}
</td>{% endif %}
<td>
Expand Down

0 comments on commit f4089e8

Please sign in to comment.