IRC: which messages came from a signed-in account is not known #152

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

account-tag is ratified and unrequested. It puts an account= tag on every message
from somebody authenticated to services, so a client can tell a registered nick from
somebody who merely took the name.

moho already has account-notify and extended-join, so it knows account names at
join time and when they change — this is the per-message half, which is what survives
a netsplit or a client that missed the join.

What is needed

  • Request account-tag, read the tag in backend/irc/incoming.rs beside the other
    message tags, and carry it on the message.
  • Somewhere for it to show: the same place other services mark a verified sender.

Done looks like: a message from a registered account is distinguishable from one
from somebody using the name.

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.

`account-tag` is ratified and unrequested. It puts an `account=` tag on every message from somebody authenticated to services, so a client can tell a registered nick from somebody who merely took the name. moho already has `account-notify` and `extended-join`, so it knows account names at join time and when they change — this is the per-message half, which is what survives a netsplit or a client that missed the join. **What is needed** - Request `account-tag`, read the tag in `backend/irc/incoming.rs` beside the other message tags, and carry it on the message. - Somewhere for it to show: the same place other services mark a verified sender. **Done looks like:** a message from a registered account is distinguishable from one from somebody using the name. 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 featureprotocol labels 2026-09-10 15:45:05 -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.

account-tag is requested and granted on Libera. The tag is read once per line rather than per dispatch arm, so a NOTICE from somebody teaches the roster as much as a PRIVMSG does.

One thing worth recording: the roster is only redrawn where something actually changed. Every message carries these tags, and re-emitting an identical member list on each one would be a presence event per line of chat.

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). `account-tag` is requested and granted on Libera. The tag is read once per line rather than per dispatch arm, so a NOTICE from somebody teaches the roster as much as a PRIVMSG does. One thing worth recording: the roster is only redrawn where something actually changed. Every message carries these tags, and re-emitting an identical member list on each one would be a presence event per line of chat.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Salastil/moho#152