IRC #169

Closed
opened 2026-09-11 14:59:30 -04:00 by Salastil · 0 comments
Owner

Tracking issue for IRC feature coverage against the clients people compare moho to -
HexChat, WeeChat, Halloy, mIRC.

This list is now clear. 24 IRCv3 capabilities are negotiated
(nobilis/src/backend/irc/connect.rs), including SASL, chathistory,
draft/multiline, draft/message-redaction, draft/read-marker,
draft/channel-rename, echo-message, labeled-response, account-tag, bot-mode,
setname, extended-monitor and standard-replies. Earlier passes closed #48, #51,
#65, #66, #73, #78, #82, #88 through #93, and #127 through #161.

The September 2026 review found four more, and all four are now settled:

  • #176 - a capability that arrives after connect is never taken up - done
  • #177 - a plaintext connection is never upgraded, because STS is not read - done
  • #179 - nobody has an avatar, because metadata is never asked for - done
  • #178 - a bouncer's networks all arrive as one server - won't implement, the
    premise did not hold up (the user/network convention already works here, and the
    extension is soju-only) - see that issue for the detail.

One thing #176 turned up that is worth having written down somewhere: sasl is not in
WANTED_CAPS at all, because the handshake requests it before registration and drives
the exchange with a blocking read on the stream. So a CAP NEW sasl - services coming
back up - is deliberately not taken up: recording the capability without running the
exchange would make irc_has_cap(.., "sasl") true for a connection that is not signed
in. Re-authenticating an already-registered connection wants a state machine in the
router, and would be its own issue if anybody wants it.

Related, not IRC-specific: #196 (ibb.co as a second image host) matters here in
particular, because IRC has no upload of its own and a picture is shared by posting a
link to one.

Tracking issue for IRC feature coverage against the clients people compare moho to - HexChat, WeeChat, Halloy, mIRC. **This list is now clear.** 24 IRCv3 capabilities are negotiated (`nobilis/src/backend/irc/connect.rs`), including SASL, `chathistory`, `draft/multiline`, `draft/message-redaction`, `draft/read-marker`, `draft/channel-rename`, `echo-message`, `labeled-response`, `account-tag`, `bot-mode`, `setname`, `extended-monitor` and `standard-replies`. Earlier passes closed #48, #51, #65, #66, #73, #78, #82, #88 through #93, and #127 through #161. The September 2026 review found four more, and all four are now settled: - #176 - a capability that arrives after connect is never taken up - **done** - #177 - a plaintext connection is never upgraded, because STS is not read - **done** - #179 - nobody has an avatar, because metadata is never asked for - **done** - #178 - a bouncer's networks all arrive as one server - **won't implement**, the premise did not hold up (the `user/network` convention already works here, and the extension is soju-only) - see that issue for the detail. One thing #176 turned up that is worth having written down somewhere: `sasl` is not in `WANTED_CAPS` at all, because the handshake requests it before registration and drives the exchange with a blocking read on the stream. So a `CAP NEW sasl` - services coming back up - is deliberately not taken up: recording the capability without running the exchange would make `irc_has_cap(.., "sasl")` true for a connection that is not signed in. Re-authenticating an already-registered connection wants a state machine in the router, and would be its own issue if anybody wants it. Related, not IRC-specific: #196 (ibb.co as a second image host) matters here in particular, because IRC has no upload of its own and a picture is shared by posting a link to one.
Salastil added the protocol label 2026-09-11 14:59:30 -04:00
Salastil added this to the Protocols project 2026-09-11 15:00:57 -04:00
Salastil moved this to Polish in Protocols on 2026-09-11 15:01:17 -04:00
Salastil moved this to Complete in Protocols on 2026-09-11 15:01:20 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Salastil/moho#169