<feed xmlns='http://www.w3.org/2005/Atom'>
<title>~irc/github.com/solanum-ircd/solanum.git/include/channel.h, branch amdj/modules</title>
<subtitle>https://github.com/solanum-ircd/solanum</subtitle>
<id>https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/atom/include/channel.h?h=amdj%2Fmodules</id>
<link rel='self' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/atom/include/channel.h?h=amdj%2Fmodules'/>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/'/>
<updated>2026-01-21T16:10:44Z</updated>
<entry>
<title>Add batch support</title>
<updated>2026-01-21T16:10:44Z</updated>
<author>
<name>Ryan Schmidt</name>
</author>
<published>2025-10-25T00:59:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=4cc9be1ddf1e14fc76bf433e23a3d528424b60ca'/>
<id>urn:sha1:4cc9be1ddf1e14fc76bf433e23a3d528424b60ca</id>
<content type='text'>
- Add "batch" client capability
- Support sending netsplit/netjoin batches
- Support receiving BATCH from clients and remote servers
- Support for modules to define supported batch types for incoming
  batches
- Add "message_handler" hook to override the handler for a particular
  incoming message
- Add technical and user-facing documentation for batches
- Add some more sendto_* overloads that support tags which were missing
  from the initial message-tags implementation but turned out to be
  needed
</content>
</entry>
<entry>
<title>EBMASK capab, to burst BMASK metadata (#354)</title>
<updated>2022-08-20T00:35:54Z</updated>
<author>
<name>Jess Porter</name>
</author>
<published>2022-08-20T00:35:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=fdd8cad93f4bb5af2195a0c989eec15c174df3b2'/>
<id>urn:sha1:fdd8cad93f4bb5af2195a0c989eec15c174df3b2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>channel: flood warnings for privmsg, not notice (#147)</title>
<updated>2021-04-17T18:43:59Z</updated>
<author>
<name>Ed Kellett</name>
</author>
<published>2021-04-17T18:43:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=92fa29ce37a2bbf4d187ab22d758ec4d90ab5d4c'/>
<id>urn:sha1:92fa29ce37a2bbf4d187ab22d758ec4d90ab5d4c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up duplication in ChannelModeFunc prototypes (#52)</title>
<updated>2020-11-08T00:45:12Z</updated>
<author>
<name>Eric Mertens</name>
</author>
<published>2020-11-08T00:45:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=92c6e47b4a6e1af25485a9494ffaee0015b120c8'/>
<id>urn:sha1:92c6e47b4a6e1af25485a9494ffaee0015b120c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chmode: Get elevated access for op-only queries</title>
<updated>2020-11-08T00:26:27Z</updated>
<author>
<name>Ed Kellett</name>
</author>
<published>2020-11-05T22:19:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=ea41b24fd4807e3565bf5f8f293e2efc4c20b62d'/>
<id>urn:sha1:ea41b24fd4807e3565bf5f8f293e2efc4c20b62d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rework channel mode handling</title>
<updated>2020-11-08T00:26:27Z</updated>
<author>
<name>Ed Kellett</name>
</author>
<published>2020-11-05T16:31:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=04952c32ad485a36c1ddeace43973d630b7acaf1'/>
<id>urn:sha1:04952c32ad485a36c1ddeace43973d630b7acaf1</id>
<content type='text'>
Incoming MODE processing is split into a parsing step and an execution
step, instead of a mode's effector function being involved in its own
parsing. Modes can no longer use custom logic to control their parsing,
and instead supply a combination of CHM_* flags to the parser. As a
result, we know before we try to effect any mode changes what all of
them will be.

The reauthorize hack for override is no longer necessary. A side effect
of its introduction was that `MODE #foo b x!y@z` no longer worked; in
removing it we restore that behaviour.

We gain the ability to reject various invalid inputs that:
- mutate or query unknown modes
- supply excess mode arguments
- query modes that can't be queried

In each case, whether we *should* reject it is an open question; for now
I'm rejecting the first one.
</content>
</entry>
<entry>
<title>Add a comment explaining ITER_COMM_CHANNELS</title>
<updated>2020-10-21T19:42:02Z</updated>
<author>
<name>Ed Kellett</name>
</author>
<published>2020-10-21T19:29:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=6b3ae7e7b7b001b6d4dfd78d49e07f115e05ae64'/>
<id>urn:sha1:6b3ae7e7b7b001b6d4dfd78d49e07f115e05ae64</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refactor common channel iteration</title>
<updated>2020-10-19T19:15:26Z</updated>
<author>
<name>Ed Kellett</name>
</author>
<published>2020-10-18T12:20:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=e8a8d7a440cc7c4af35d808b03df1d8cefe9942a'/>
<id>urn:sha1:e8a8d7a440cc7c4af35d808b03df1d8cefe9942a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Centralise banmask matching logic</title>
<updated>2020-04-12T11:35:18Z</updated>
<author>
<name>Ed Kellett</name>
</author>
<published>2020-04-12T01:07:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=a7d4a0ab81296ba811a5b7ddadab9ae3f62d73fa'/>
<id>urn:sha1:a7d4a0ab81296ba811a5b7ddadab9ae3f62d73fa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>channels: fix IsChannelName() to actually use IsChanPrefix().</title>
<updated>2016-09-16T19:02:41Z</updated>
<author>
<name>William Pitcock</name>
</author>
<published>2016-09-16T19:02:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=1af4eff6f6c76e359b8477f6f223133aefda4133'/>
<id>urn:sha1:1af4eff6f6c76e359b8477f6f223133aefda4133</id>
<content type='text'>
</content>
</entry>
</feed>
