modules: draft/event-playback — record JOIN/PART/QUIT/NICK/MODE/TOPIC/KICK into CHATHISTORY, replayed only for cap clients (event_playback config, default on)

This commit is contained in:
Jean Chevronnet 2026-08-25 22:17:26 +00:00
parent 9dcc269f45
commit 6bb8ccd8ee
No known key found for this signature in database
GPG key ID: 439666D63A9477E4
8 changed files with 179 additions and 19 deletions

View file

@ -175,11 +175,9 @@ pub fn apply_mode(s: &mut Server, uid: Uid, params: &[String]) -> CmdResult {
{
crate::modules::hidemode::broadcast(s, &key, target, uid, &prefix, &changes);
} else {
s.to_channel(
&key,
&format!(":{prefix} MODE {target} {applied}{pstr}"),
None,
);
let mline = format!(":{prefix} MODE {target} {applied}{pstr}");
crate::modules::chathistory::record_event(s, &key, &mline);
s.to_channel(&key, &mline, None);
}
// links: a timestamped FMODE sourced from the acting user's uuid
let src_uuid = s.users[&uid].uuid.clone();