Subject: bug#49860: 28.0.50; add IRCv3 building blocks to ERC

From: Björn Bidar <[email-masked]>
Date: Wed, 17 Jul 2024 01:19:44 +0300

"J.P." <[email-masked]> writes:

> Under the proposed scheme, extensions will be actual minor modes with an
> associated mode variable and a non-interactive toggle function (rather
> than a traditional mode command). These modes will be kept internal and
> modified slightly to meet the demands of your typical extension. Most
> importantly, instead of being t, a mode variable's enabled value will be
> an instance of a new `extension' "type," a hierarchical data structure
> to be shared among all buffers of a session as a first-class citizen.
> Its purpose: to describe the extension's health and lifecycle stage and
> its relationship to other extensions. It may also contain arbitrary
> application state relevant to the session.

How would IRv3 extension be implement as minor mode would work?
For example deactivating them does not work without reconnecting.
Further they are also interconnected you need some to activate others.

I think there are some where deactivating them doesn't make sense
to me such as for example the server-time extension where the client
will know when a message was send as opposed to not knowing it and
assuming that the time the message was send is the time the client
receives the message.