|
|
ac021ec584
|
Notify a game opponent when a departing guest's game ends
CI / check (push) Successful in 5m39s
|
2026-07-21 10:40:27 +00:00 |
|
|
|
9e8449b40d
|
Drop a guest's GamesServ games on disconnect so a recycled uid can't inherit one
CI / check (push) Successful in 5m39s
|
2026-07-21 10:23:52 +00:00 |
|
|
|
948a59707e
|
Persist the channel topic setter as a nick!ident@host mask for KEEPTOPIC and INFO
CI / check (push) Successful in 5m34s
|
2026-07-21 09:26:41 +00:00 |
|
|
|
9ccc681a62
|
tag service replies with +draft/reply and +draft/channel-context
CI / check (push) Successful in 5m36s
|
2026-07-21 00:57:30 +00:00 |
|
|
|
1c6b8c799f
|
Add invite-only registration: a new account waits for a confirmed member to VOUCH
CI / check (push) Failing after 5m12s
|
2026-07-20 22:12:54 +00:00 |
|
|
|
140b19ee04
|
Add SIGNKICK LEVEL mode: sign only kicks by users without op access
CI / check (push) Successful in 5m19s
|
2026-07-20 22:00:34 +00:00 |
|
|
|
ae90388fbf
|
Add SECUREVOICES: strip voice from users without channel access
CI / check (push) Successful in 5m20s
|
2026-07-20 21:34:09 +00:00 |
|
|
|
c2a7dfa8f7
|
Add NickServ LOGIN to identify and reclaim your nick in one command
CI / check (push) Successful in 5m24s
|
2026-07-20 20:59:47 +00:00 |
|
|
|
aa270e061e
|
Cap FORBID and vhost LIST output so a huge list can't overflow the operator's receive queue
CI / check (push) Successful in 5m25s
|
2026-07-20 20:44:15 +00:00 |
|
|
|
8b45d386c6
|
Restore the connect-time host when a session logs out, reversing any services vhost
|
2026-07-20 20:39:03 +00:00 |
|
|
|
66eb0ea243
|
Add a one-click confirmation link to registration emails (via the [email] confirm_url and the gRPC Confirm RPC)
CI / check (push) Successful in 5m27s
|
2026-07-20 20:00:09 +00:00 |
|
|
|
b500698e82
|
Add AJOIN ADDALL to auto-join every channel you are currently in
CI / check (push) Successful in 5m32s
|
2026-07-20 19:40:02 +00:00 |
|
|
|
6e53cb751a
|
Notify or memo the affected user on channel access, XOP, founder, and successor changes
|
2026-07-20 19:34:46 +00:00 |
|
|
|
621bba00f2
|
Fix review findings: direction-bind the gossip handshake proof, whitespace-tokenize log redaction, show ranked STATS to viewers, single-pass render, code-before-message email templating
|
2026-07-20 17:35:25 +00:00 |
|
|
|
4027242c1e
|
Harden deferred audit LOWs: provisioned-verifier cost cap, BOT-nick validation, gameserv board-delivery account guard, empty KICK/PART/QUIT reason parse, and relink SASL/enforce cleanup
CI / check (push) Successful in 5m4s
|
2026-07-20 04:40:42 +00:00 |
|
|
|
e4a14b9813
|
Localize engine notices, transactional emails, and operator-access denials in all six languages
CI / check (push) Successful in 5m18s
|
2026-07-20 02:25:54 +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 |
|
|
|
e381129a52
|
Translate all service-module help and messages to French; render help summaries and detail through the catalog
CI / check (push) Successful in 5m28s
|
2026-07-19 23:50:15 +00:00 |
|
|
|
d207c3d60d
|
Migrate interpolated service messages to the t! macro (8 modules)
|
2026-07-19 23:22:56 +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 |
|
|
|
118782a4bf
|
Allocate guest nicks that skip online and registered names
|
2026-07-19 19:19:20 +00:00 |
|
|
|
75d3c70cc8
|
Reject CRLF/malformed emails and names to stop SMTP header injection
|
2026-07-19 18:12:35 +00:00 |
|
|
|
fa9eaece45
|
Cap and freeze-gate GroupServ registration
|
2026-07-19 17:45:04 +00:00 |
|
|
|
224bc78641
|
Detect homoglyphs in Cyrillic Supplement and other unlisted non-Latin blocks
CI / check (push) Successful in 4m9s
|
2026-07-19 14:50:54 +00:00 |
|
|
|
c36341668c
|
Fix self-review regressions: throttle SASL SCRAM, key game target by UID, exclude keycard from password lockout
CI / check (push) Has been cancelled
|
2026-07-19 14:38:16 +00:00 |
|
|
|
3648c48d2e
|
Rate-limit REPORT and REQUEST on the real host instead of the spoofable nick
|
2026-07-19 13:39:03 +00:00 |
|
|
|
64c4bbeae4
|
Cap certfp, channel access, and akick lists to bound attacker-driven log growth
|
2026-07-19 13:27:50 +00:00 |
|
|
|
d833dc28f0
|
Fix duration overflow, expiry-warned resets, DICT control-char injection, and HostServ TAKE forbid recheck
|
2026-07-19 13:24:46 +00:00 |
|
|
|
1ecb76affb
|
Report failed IDENTIFY against a password-less account to the auth feed
CI / check (push) Successful in 4m10s
|
2026-07-19 05:00:12 +00:00 |
|
|
|
af5896743d
|
Restore the real ident when a HostServ ident@host vhost is turned off or deleted
|
2026-07-19 04:49:31 +00:00 |
|
|
|
baab04203d
|
Report oper tier by capability so a sub-floor grant isnt labelled a full operator
CI / check (push) Successful in 4m13s
|
2026-07-19 02:28:32 +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 |
|
|
|
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 |
|
|
|
89ac01d0b0
|
nickserv/chanserv: catch styled/fullwidth look-alike names too, and add a [register] confusable_check toggle (REHASH-reloadable)
CI / check (push) Successful in 3m48s
|
2026-07-19 00:15:08 +00:00 |
|
|
|
c2b70f5004
|
nickserv/chanserv: reject look-alike / mixed-script registration names (homoglyph impersonation guard)
CI / check (push) Successful in 3m56s
|
2026-07-19 00:02:44 +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 |
|
|
|
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 |
|
|
|
c415117ec5
|
operserv: add NOTIFY oper watch list emitting matched-user events to the staff feed
|
2026-07-18 16:16:06 +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 |
|
|
|
c64c3820a7
|
protocol: verify echos pseudoclients request servprotect (+k, by name from CAPAB USERMODES) so they cannot be killed by operators; warn if service_modes lacks it
CI / check (push) Successful in 3m45s
|
2026-07-18 02:41:03 +00:00 |
|
|
|
2f70b0c133
|
protocol: verify echo ircd module dependencies from CAPAB MODULES at link, warning per-feature if one is missing rather than failing silently
CI / check (push) Successful in 3m49s
|
2026-07-18 02:22:43 +00:00 |
|
|
|
0ca06247f8
|
protocol: read CASEMAPPING from CAPAB and verify it matches echos ascii identity folding, warning on mismatch instead of silently desyncing
CI / check (push) Successful in 4m31s
|
2026-07-18 01:58:49 +00:00 |
|
|
|
e206f4edbb
|
operserv: REDACT deletes a message by its msgid (draft/message-redaction), relayed server-sourced so no ircd oper privilege is needed
CI / check (push) Successful in 4m6s
|
2026-07-18 01:23:37 +00:00 |
|
|
|
e6f05a3ede
|
protocol: learn channel-mode arity + prefix modes (incl custom Y/ojoin) from CAPAB CHANMODES; services MODE uses the authoritative set
|
2026-07-18 01:15:23 +00:00 |
|
|
|
d313ca3523
|
chanserv: LEVELS grants a capability (op/topic/invite/access) to an access tier and above, additive so it never locks anyone out
|
2026-07-18 01:05:58 +00:00 |
|
|
|
0c3e09ea00
|
operserv: SPAMFILTER — persisted content filters pushed to the ircd m_filter via metadata, re-asserted at burst
CI / check (push) Successful in 3m56s
|
2026-07-18 00:04:24 +00:00 |
|
|
|
8c77016aed
|
helpserv: HELP EXTBANS lists the network live extban set with a friendly example for each
|
2026-07-17 22:23:54 +00:00 |
|
|
|
77d09c4bdc
|
akick: accept a matching extban only the ircd knows (ircd-enforced +b), reject acting extbans with a clear reason
|
2026-07-17 22:01:32 +00:00 |
|
|
|
c990eb1e1e
|
extban: learn the ircd live set from CAPAB EXTBANS and validate AKICK/MODE against what it actually offers
|
2026-07-17 21:47:02 +00:00 |
|
|
|
74a983467c
|
akick: match the server and fingerprint extbans from the SERVER name and ssl_cert metadata the s2s stream carries
|
2026-07-17 21:23:25 +00:00 |
|