Copyright © 2021 Simon Ser <email@example.com>
Unlimited redistribution and modification of this document is allowed provided that the above copyright notice and this permission notice remains intact.
This specification is a work-in-progress and may have major incompatible changes without warning.
This specification may change at any time and we do not recommend implementing it in a production environment.
This is a work-in-progress specification.
Software implementing this work-in-progress specification MUST NOT use the
extended-monitor capability name. Instead, implementations SHOULD
draft/extended-monitor capability name to be interoperable with other
software implementing a compatible work-in-progress version.
The final version of the specification will use an unprefixed capability name.
With the help of extensions such as
setname, clients are able to keep other users’ metadata
up-to-date with their local state when they share a channel. However, clients
are not able to do so when they don’t share a channel.
monitor extension allows clients to track when another
user goes offline or comes online. This specification extends MONITOR to also
include AWAY, ACCOUNT, CHGHOST and SETNAME notifications.
extended-monitor capability advertises that the server supports sending
such extended notifcations for monitored nicks. When enabled by the client:
away-notifyis also enabled, the client will get AWAY notifications for monitored nicks.
account-notifyis also enabled, the client will get ACCOUNT notifications for monitored nicks.
chghostis also enabled, the client will get CHGHOST notifications for monitored nicks.
setnameis also enabled, the client will get SETNAME notifications for monitored nicks.
This extension allows users to monitor personal information of other users. Since the IRC protocol doesn’t provide any way to atomically change this personal information (nick, host, realname all at the same time), it may be possible for an outside observer to track nick changes:
RPL_MONOFFLINEfor nick A,
RPL_MONONLINEfor nick B, and then receives notifications for host and realname changes.
In this scenario, it’s possible for the observer to figure out that nick A and nick B are owned by the same user by comparing the host and realname.
For this reason, privacy conscious clients are advised to disconnect and re-connect to the IRC server as a way to atomically update personal information.