Commit graph

15 commits

Author SHA1 Message Date
58082248ec
Answer CTCP VERSION/PING/TIME/CLIENTINFO on service pseudo-clients and split over-long NOTICE/PRIVMSG lines under 512 bytes
All checks were successful
CI / check (push) Successful in 5m32s
2026-07-20 14:29:02 +00:00
c57683b5e4
Route the !dict fantasy command through the language-aware database too
All checks were successful
CI / check (push) Successful in 5m7s
2026-07-20 02:43:22 +00:00
b462d37bd5
Add i18n framework: per-account language, catalogs, t! macro, SET LANGUAGE
All checks were successful
CI / check (push) Successful in 5m16s
2026-07-19 22:57:45 +00:00
bfff7dba91
Silently ignore unknown in-channel fantasy commands
All checks were successful
CI / check (push) Successful in 4m15s
2026-07-19 17:09:07 +00:00
1ecb76affb
Report failed IDENTIFY against a password-less account to the auth feed
All checks were successful
CI / check (push) Successful in 4m10s
2026-07-19 05:00:12 +00:00
754c5d9e95
engine: staff-feed alerts are also recorded to the incident log, so a blocked look-alike registration is searchable via OperServ LOGSEARCH
All checks were successful
CI / check (push) Successful in 3m45s
2026-07-19 00:29:55 +00:00
0d16240606
nickserv/chanserv: announce a blocked look-alike registration to the staff feed (ServiceCtx alert drained by dispatch)
All checks were successful
CI / check (push) Successful in 3m44s
2026-07-19 00:24:27 +00:00
623750e638
dictserv: opt-in DICT (RFC 2229) lookup service — bots and /msg answer dict/define/thes/acronym/law/etc via dict.org off-reactor
All checks were successful
CI / check (push) Successful in 4m4s
2026-07-18 20:21:30 +00:00
617d3c7966
operserv: NOTIFY feed uses labelled fields (IP/DNS/Account/Server) and Service:verb
All checks were successful
CI / check (push) Successful in 4m5s
2026-07-18 17:50:32 +00:00
c415117ec5
operserv: add NOTIFY oper watch list emitting matched-user events to the staff feed 2026-07-18 16:16:06 +00:00
86b1aae686
engine: rate-limit anonymous service commands so a bot cannot spam a service in a loop 2026-07-18 05:02:40 +00:00
ce9c802d0a
nickserv: SNOTICE names the service once per reply then uses plain *** continuations, so a long HELP is not the service name on every line
All checks were successful
CI / check (push) Successful in 3m47s
2026-07-18 03:46:10 +00:00
6429b82fc4
nickserv: SET SNOTICE — opt-in server-notice-style service replies (*** NickServ: ...) sourced from the server instead of the pseudoclient
All checks were successful
CI / check (push) Successful in 3m47s
2026-07-18 03:40:22 +00:00
66eb644a07
chanserv: channel-scoped seen with last message, replied in-channel
All checks were successful
CI / check (push) Successful in 3m47s
2026-07-17 01:41:47 +00:00
6f76f9722c
Reorganise the engine into a concern-split module tree
engine/mod.rs had grown past 5k lines, most of it one test module and
a few large method clusters. Lift the tests into engine/tests.rs, and
move the cohesive method groups into sibling files — sasl, kicker
(chat policing), register (account-authority relay), and dispatch
(service routing and fantasy). The Engine type, its master event
handler, shared helpers, and the small state structs stay in mod.rs;
each sibling adds its own impl Engine block. Pure reorganisation: no
behaviour change, tests unchanged and green.
2026-07-14 14:05:56 +00:00