extended-monitor Extension

Copyright © 2021 Simon Ser <contact@emersion.fr>

Unlimited redistribution and modification of this document is allowed provided that the above copyright notice and this permission notice remains intact.

Extends: Monitor, away-notify Extension, account-notify Extension, chghost Extension, setname Extension

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.


Notes for implementing work-in-progress version 🔗

This is a work-in-progress specification.

Software implementing this work-in-progress specification MUST NOT use the unprefixed extended-monitor capability name. Instead, implementations SHOULD use the 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.

Description 🔗

With the help of extensions such as away-notify, account-notify, chghost and 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.

The 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.

The extended-monitor capability advertises that the server supports sending such extended notifcations for monitored nicks. When enabled by the client:

Privacy considerations 🔗

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:

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.


Software supporting draft/extended-monitor: Ergo, soju (as Server), soju (as Client)