Commit graph

9 commits

Author SHA1 Message Date
9b51db07f5
i18n: sweep all remaining dynamic prose (oper commands, XLINE/FILTER/DNSBL notices, whois/vhost/knock/dcc/title/reputation/tline/rmode, hash, rename) through trf; +\xNN catalog escape; fr+es now 236 entries each 2026-08-25 14:30:29 +00:00
1824af5d90
signore: persist per-account via services metadata — push on edit, replay on login 2026-08-20 15:40:19 +00:00
6c5f330746
add SIGNORE: personal mutual server-side ignore across channels and PMs 2026-08-20 14:48:17 +00:00
16fae5b23c watch: notify WATCH/MONITOR via nick->watchers reverse indexes (watch_by/monitor_by) instead of scanning every user on each online/offline/nick-change flip — O(watchers) not O(users); maintained through centralized watch_index_*/monitor_index_* helpers + quit cleanup 2026-08-19 02:34:22 +00:00
fb1a9f3d70 server: skip the O(users) callerid ACCEPT scrub on quit unless the departing nick is actually accepted by someone — a reverse count (accepted_nicks) maintained through centralized accept_add/accept_remove helpers avoids scanning every user's accept list on each quit (O(users*quits) on a netsplit); the full scrub still runs when the count is nonzero, so the nick-reuse protection is unchanged 2026-08-19 02:21:38 +00:00
1dd7f77ca8 operprefix + ojoin: server oper prefix (!/mode y, above owner) auto-granted to opers + OJOIN command 2026-08-10 13:01:07 +00:00
61584a545b config: make flood/dnsbl/multiline/chathistory/extjwt limits + nick/chan/watch/monitor/silence/whowas/timeouts configurable (no hardcoded options) 2026-08-09 22:52:39 +00:00
1581bc15d2 add callerid (+g) with ACCEPT allow-list, plus msgid and extended-monitor 2026-08-05 16:21:58 +00:00
9b12791774 import echoircd — from-scratch irc daemon in native rust 2026-08-05 16:10:31 +00:00