IRC: encoding is assumed rather than agreed #155

Closed
opened 2026-09-10 15:45:06 -04:00 by Salastil · 1 comment
Owner

utf8-only is ratified and unrequested. It is the server saying every message on this
network is UTF-8, which removes the guesswork a client otherwise has to do on
malformed bytes.

Low priority because the guess is nearly always right and the failure mode is a
mangled character rather than a lost message — but it is a ratified capability and
requesting it costs one line.

Done looks like: where the network says UTF-8, it is taken at its word.

Found by the 2026-09-10 coverage review, which measured IRC against the IRCv3
capability registry rather than against a feature list. moho requests 12 capabilities
plus SASL, covering 15 of the 25 client-relevant ratified extensions — WeeChat
supports around 35. This is one of the ten missing ones, filed separately because each
is independently doable.

`utf8-only` is ratified and unrequested. It is the server saying every message on this network is UTF-8, which removes the guesswork a client otherwise has to do on malformed bytes. Low priority because the guess is nearly always right and the failure mode is a mangled character rather than a lost message — but it is a ratified capability and requesting it costs one line. **Done looks like:** where the network says UTF-8, it is taken at its word. Found by the 2026-09-10 coverage review, which measured IRC against the IRCv3 capability registry rather than against a feature list. moho requests 12 capabilities plus SASL, covering **15 of the 25 client-relevant ratified extensions** — WeeChat supports around 35. This is one of the ten missing ones, filed separately because each is independently doable.
Salastil added the featureprotocollow priority labels 2026-09-10 15:45:06 -04:00
Salastil removed the protocol label 2026-09-10 15:53:23 -04:00
Author
Owner

Done in nobilis de0ad86, with the client half in moho 4fd3bc6.

utf8-only is requested where the server offers it. Libera does not, which is the ordinary case - it is a young capability.

Done in nobilis [de0ad86](https://git.salastil.com/Salastil/nobilis/commit/de0ad86), with the client half in moho [4fd3bc6](https://git.salastil.com/Salastil/moho/commit/4fd3bc6). `utf8-only` is requested where the server offers it. Libera does not, which is the ordinary case - it is a young capability.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Salastil/moho#155