Commit graph

418 commits

Author SHA1 Message Date
29eefaafe3
Add OperServ SETALL to apply a channel setting to every channel (network-wide policy)
All checks were successful
CI / check (push) Successful in 5m15s
2026-07-20 23:28:50 +00:00
ff4856a12e
Add OperServ PROTECT to turn nick protection on/off per account or for all (bulk-enable after a migration)
All checks were successful
CI / check (push) Successful in 5m13s
2026-07-20 23:10:01 +00:00
ab8ea65a42
Q-line a FORBIDden nick so it can't be used, not just registered
All checks were successful
CI / check (push) Successful in 5m17s
2026-07-20 22:49:21 +00:00
7cb1c61afa
Give each test engine a unique temp path so parallel scram tests don't race
All checks were successful
CI / check (push) Successful in 5m17s
2026-07-20 22:39:02 +00:00
1c6b8c799f
Add invite-only registration: a new account waits for a confirmed member to VOUCH
Some checks failed
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
All checks were successful
CI / check (push) Successful in 5m19s
2026-07-20 22:00:34 +00:00
ae90388fbf
Add SECUREVOICES: strip voice from users without channel access
All checks were successful
CI / check (push) Successful in 5m20s
2026-07-20 21:34:09 +00:00
b2f075ee00
Enforce a locked parameterized channel mode against param changes, not just removal
All checks were successful
CI / check (push) Successful in 5m19s
2026-07-20 21:23:50 +00:00
7fa7831390
LOGIN from an already-identified session reclaims the nick without a needless re-verify
All checks were successful
CI / check (push) Successful in 5m18s
2026-07-20 21:08:42 +00:00
c2a7dfa8f7
Add NickServ LOGIN to identify and reclaim your nick in one command
All checks were successful
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
All checks were successful
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)
All checks were successful
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
All checks were successful
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
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
All checks were successful
CI / check (push) Successful in 5m47s
2026-07-20 18:26:49 +00:00
fadd4f37cd
Localize residual notices: logout, channel release, password change, founder-language expiry mail, and DiceServ prompts and errors
All checks were successful
CI / check (push) Successful in 5m40s
2026-07-20 17:35:25 +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
829a3916fd
Add an echorpc control CLI over gRPC: version/status/rehash live, start/stop/restart via systemctl
All checks were successful
CI / check (push) Successful in 5m40s
2026-07-20 15:28:00 +00:00
d5a89baf53
Make the version output a proper banner: ASCII wordmark, color on a tty, aligned build info
All checks were successful
CI / check (push) Successful in 5m20s
2026-07-20 15:10:52 +00:00
61db74875f
Add a version banner with git revision and build metadata (echo --version, startup log, CTCP VERSION)
All checks were successful
CI / check (push) Successful in 5m42s
2026-07-20 14:42:23 +00:00
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
3723617367
Complete deferred audit LOWs: kicker-cache eviction, abandoned-challenge reclaim, and a challenge-response gossip handshake
All checks were successful
CI / check (push) Successful in 5m7s
2026-07-20 04:53:03 +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
All checks were successful
CI / check (push) Successful in 5m4s
2026-07-20 04:40:42 +00:00
1b569fdfa3
Give French dict rich Wiktionary definitions instead of thin FreeDict glosses
All checks were successful
CI / check (push) Successful in 5m3s
2026-07-20 03:00:22 +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
3473d3afbd
Make DictServ dict follow the user's language via FreeDict dictionaries
All checks were successful
CI / check (push) Successful in 5m21s
2026-07-20 02:37:17 +00:00
e4a14b9813
Localize engine notices, transactional emails, and operator-access denials in all six languages
All checks were successful
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
All checks were successful
CI / check (push) Successful in 5m20s
2026-07-20 02:03:05 +00:00
74a58c5425
Add Spanish, Argentinian Spanish, Brazilian and European Portuguese, and German translation catalogs
All checks were successful
CI / check (push) Successful in 5m29s
2026-07-20 00:54:58 +00:00
e381129a52
Translate all service-module help and messages to French; render help summaries and detail through the catalog
All checks were successful
CI / check (push) Successful in 5m28s
2026-07-19 23:50:15 +00:00
18c43f5fb8
Translate service messages to French
Some checks failed
CI / check (push) Has been cancelled
2026-07-19 23:46:38 +00:00
ab329fe133
Migrate DiceServ and DictServ messages to the t! macro 2026-07-19 23:46:38 +00:00
b28bd2777f
Localize service-module messages via t! and add French translations (partial) 2026-07-19 23:24:54 +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
All checks were successful
CI / check (push) Successful in 5m16s
2026-07-19 22:57:45 +00:00
83851c794d
Add snapshot-epoch cursor so 3+-node gossip converges in order and across compaction
All checks were successful
CI / check (push) Successful in 5m24s
2026-07-19 22:27:22 +00:00
6a22bee2e1
Revert strict gossip ingest ordering: it broke convergence across compaction
All checks were successful
CI / check (push) Successful in 5m12s
2026-07-19 21:56:05 +00:00
4330ff169b
Document the federation trust model and deployment tiers
All checks were successful
CI / check (push) Successful in 5m23s
2026-07-19 21:44:51 +00:00
e3c7f373d3
Add optional per-origin Ed25519 signing for gossip (Tier C federation) 2026-07-19 21:44:51 +00:00
01da702704
Apply gossip entries in strict per-origin order and cap ingested memos 2026-07-19 21:34:16 +00:00
a774dfedb1
Fix migration over-granting op on disabled levels and halfops
All checks were successful
CI / check (push) Successful in 5m16s
2026-07-19 20:28:24 +00:00
006808e974
Drop the SASL source record when the connection ends 2026-07-19 20:28:24 +00:00
b34ae037f6
Validate SCRAM cost floor, saturate expiry math, hide-oper service default 2026-07-19 20:28:24 +00:00
cc9c399464
Don't print unreconcilable addends for a truncated dice listing
All checks were successful
CI / check (push) Successful in 5m28s
2026-07-19 19:52:44 +00:00
3c730f7add
Keep a bot-inhabited channel alive when pruning empty channels 2026-07-19 19:52:44 +00:00
071380efae
Re-check protection in the enforce sweep and key the kicker cache by registration
All checks were successful
CI / check (push) Successful in 5m19s
2026-07-19 19:19:20 +00:00
118782a4bf
Allocate guest nicks that skip online and registered names 2026-07-19 19:19:20 +00:00
2c81af108b
Don't let incoming challenges fill a victim's GameServ slots 2026-07-19 19:19:20 +00:00