|
|
6078cdf83d
|
Enforce the channel akick list when a user changes nick
|
2026-07-20 19:26:07 +00:00 |
|
|
|
a2bf5ed553
|
Fix audit findings: logout notice language after uid unmap, gRPC rehash reports load failure and emits the staff-log line, cap reflected CTCP PING token
CI / check (push) Successful in 5m47s
|
2026-07-20 18:26:49 +00:00 |
|
|
|
58082248ec
|
Answer CTCP VERSION/PING/TIME/CLIENTINFO on service pseudo-clients and split over-long NOTICE/PRIVMSG lines under 512 bytes
CI / check (push) Successful in 5m32s
|
2026-07-20 14:29:02 +00:00 |
|
|
|
ecdead8278
|
Pluralize count-dependent messages with a CLDR one/other selector and gate catalog consistency with a test
CI / check (push) Successful in 5m20s
|
2026-07-20 02:03:05 +00:00 |
|
|
|
b462d37bd5
|
Add i18n framework: per-account language, catalogs, t! macro, SET LANGUAGE
CI / check (push) Successful in 5m16s
|
2026-07-19 22:57:45 +00:00 |
|
|
|
6a22bee2e1
|
Revert strict gossip ingest ordering: it broke convergence across compaction
CI / check (push) Successful in 5m12s
|
2026-07-19 21:56:05 +00:00 |
|
|
|
01da702704
|
Apply gossip entries in strict per-origin order and cap ingested memos
|
2026-07-19 21:34:16 +00:00 |
|
|
|
3c730f7add
|
Keep a bot-inhabited channel alive when pruning empty channels
|
2026-07-19 19:52:44 +00:00 |
|
|
|
118782a4bf
|
Allocate guest nicks that skip online and registered names
|
2026-07-19 19:19:20 +00:00 |
|
|
|
e4a2e76903
|
Harden votekick: dedup votes, require member targets, fix trigger refs
|
2026-07-19 18:52:26 +00:00 |
|
|
|
598234b817
|
Add regression tests for the authority, channel-prune and group-cap fixes
CI / check (push) Successful in 5m35s
|
2026-07-19 17:45:05 +00:00 |
|
|
|
6149a15b34
|
Let identified users manage CERT without a password
CI / check (push) Successful in 4m18s
|
2026-07-19 17:17:36 +00:00 |
|
|
|
bfff7dba91
|
Silently ignore unknown in-channel fantasy commands
CI / check (push) Successful in 4m15s
|
2026-07-19 17:09:07 +00:00 |
|
|
|
86444286d8
|
Test that SASL SCRAM honours the brute-force lockout
CI / check (push) Successful in 4m9s
|
2026-07-19 14:40:00 +00:00 |
|
|
|
fef4590f48
|
Update direct report_file/help_request test callers for the cooldown-key argument
CI / check (push) Successful in 4m32s
|
2026-07-19 13:57:03 +00:00 |
|
|
|
e7f012726c
|
Stop a non-founder from granting the founder flag (channel takeover escalation)
|
2026-07-19 13:12:54 +00:00 |
|
|
|
23960adc83
|
Route every handle() early return through the shared tail so swept unbans and incident stamps aren't dropped
|
2026-07-19 04:44:11 +00:00 |
|
|
|
fc214ab0d3
|
Add three-tier services operator model (operator, administrator, root)
CI / check (push) Successful in 4m22s
|
2026-07-19 02:19:51 +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
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)
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
CI / check (push) Successful in 4m4s
|
2026-07-18 20:21:30 +00:00 |
|
|
|
76be932131
|
test: add an ignored engine throughput benchmark (botserv hot path + append/fsync write path)
CI / check (push) Successful in 3m56s
|
2026-07-18 19:43:45 +00:00 |
|
|
|
e05c62c085
|
operserv: NOTIFY gains k/m/u/o flags and quit/part reasons; protocol carries kicker, mode-setter, oper-up, user modes
CI / check (push) Successful in 4m1s
|
2026-07-18 19:18:17 +00:00 |
|
|
|
617d3c7966
|
operserv: NOTIFY feed uses labelled fields (IP/DNS/Account/Server) and Service:verb
CI / check (push) Successful in 4m5s
|
2026-07-18 17:50:32 +00:00 |
|
|
|
4247df8844
|
operserv: notify_exclude gains server:<glob> to mute a whole relay server from the feed
CI / check (push) Successful in 4m1s
|
2026-07-18 17:35:04 +00:00 |
|
|
|
4d327c3f47
|
operserv: NOTIFY lines carry real IP, rdns, login and origin server for the oper feed
CI / check (push) Successful in 4m4s
|
2026-07-18 17:28:07 +00:00 |
|
|
|
29bedf0358
|
operserv: notify_exclude also mutes #channel masks, so a broad watch can skip specific channels
CI / check (push) Has been cancelled
|
2026-07-18 17:19:48 +00:00 |
|
|
|
8f19a94928
|
operserv: NOTIFY honours a config exclude list so relay/pylinked clients cannot flood the feed
|
2026-07-18 16:47:25 +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 |
|
|
|
6429b82fc4
|
nickserv: SET SNOTICE — opt-in server-notice-style service replies (*** NickServ: ...) sourced from the server instead of the pseudoclient
CI / check (push) Successful in 3m47s
|
2026-07-18 03:40:22 +00:00 |
|
|
|
47dfa76fd5
|
engine: a takeover keeps the account's founded channels (the account still exists) — only a genuine drop or expiry releases them
CI / check (push) Failing after 3m56s
|
2026-07-17 20:23:51 +00:00 |
|
|
|
65323caaeb
|
chanserv: FLAGS maps sop/halfop presets to flag letters (oa=+ao), fixing privilege escalation when editing a HOP/SOP entry
CI / check (push) Successful in 4m2s
|
2026-07-17 18:14:58 +00:00 |
|
|
|
5dcd216eeb
|
api: ordered Rank enum (founder>admin>op>halfop>voice) replaces the coarse u8 access rank, so PEACE distinguishes every tier
CI / check (push) Successful in 3m59s
|
2026-07-17 17:33:53 +00:00 |
|
|
|
f2ba876ce4
|
botserv: bots join +ao (protected admin + op), keeping op alongside protect
CI / check (push) Successful in 3m53s
|
2026-07-17 17:11:25 +00:00 |
|
|
|
73467b91ca
|
botserv: bots join channels as protected admins (+a) so ordinary ops can't kick or deop them
CI / check (push) Successful in 3m50s
|
2026-07-17 16:52:00 +00:00 |
|
|
|
e2330c56ff
|
chanserv: SOP protect (+ao) and founder owner (+qo) with standard ~ & @ prefix tiers
CI / check (push) Successful in 4m12s
|
2026-07-17 16:10:36 +00:00 |
|
|
|
b5aef650f2
|
chanserv: all op-and-above tiers grant +o for a single @ prefix; tier distinction stays in the access list
CI / check (push) Successful in 4m12s
|
2026-07-17 15:58:11 +00:00 |
|
|
|
2f6fd41465
|
chanserv: SOP protect tier over AOP (+ao), founder owner (+qo); resolve op access by capability not mode string
CI / check (push) Successful in 3m59s
|
2026-07-17 15:43:16 +00:00 |
|
|
|
7a5f1502a4
|
infoserv: type the news kind as an enum at the store boundary
CI / check (push) Successful in 3m53s
|
2026-07-17 13:53:53 +00:00 |
|
|
|
2c8ba4460d
|
forbid: type the FORBID kind as an enum at the store boundary, string only in storage
CI / check (push) Successful in 3m56s
|
2026-07-17 13:26:16 +00:00 |
|
|
|
e3b83f4a92
|
operserv: REHASH announces the reload in the log channel via DebugServ
CI / check (push) Successful in 4m1s
|
2026-07-17 11:02:29 +00:00 |
|
|
|
64b675e61f
|
operserv: REHASH reloads config live without a restart
CI / check (push) Successful in 3m54s
|
2026-07-17 10:46:12 +00:00 |
|
|
|
e112b8737c
|
auth: deferred login is authoritative in the account map, not just ircd metadata
CI / check (push) Successful in 3m46s
|
2026-07-17 03:30:47 +00:00 |
|
|
|
75c6537532
|
standard replies: emit IRCv3 FAIL/WARN/NOTE for service errors, config-gated
CI / check (push) Successful in 3m42s
|
2026-07-17 02:53:48 +00:00 |
|
|
|
fcca7ac12b
|
chanserv: channel seen checks channel membership, not global presence
CI / check (push) Successful in 3m45s
|
2026-07-17 01:54:55 +00:00 |
|
|
|
66eb644a07
|
chanserv: channel-scoped seen with last message, replied in-channel
CI / check (push) Successful in 3m47s
|
2026-07-17 01:41:47 +00:00 |
|
|
|
657154e268
|
services: assigned bot fronts channel modes, not chanserv
CI / check (push) Successful in 3m41s
|
2026-07-17 01:17:29 +00:00 |
|
|
|
96654b5e5a
|
groupserv: gate channel access on the c flag, document !group
CI / check (push) Successful in 3m43s
|
2026-07-17 01:00:27 +00:00 |
|
|
|
eaf3111917
|
whois: answer IDLE for pseudo-clients
|
2026-07-16 23:22:35 +00:00 |
|