Commit graph

390 commits

Author SHA1 Message Date
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
d0a86359c2
Fix the caps kicker to trigger on ratio, not uppercase count
All checks were successful
CI / check (push) Successful in 5m16s
2026-07-19 18:52:26 +00:00
e4a2e76903
Harden votekick: dedup votes, require member targets, fix trigger refs 2026-07-19 18:52:26 +00:00
a7f13098e3
Reject same-account self-challenges in GameServ 2026-07-19 18:52:26 +00:00
ab361e8646
Cap DiceServ expression size to prevent a stack-overflow crash 2026-07-19 18:52:26 +00:00
9806da9c28
Cap concurrent inbound gossip sessions
All checks were successful
CI / check (push) Successful in 5m22s
2026-07-19 18:15:57 +00:00
007b02d380
Don't install an already-expired gossiped akill as a permanent ban 2026-07-19 18:15:57 +00:00
75d3c70cc8
Reject CRLF/malformed emails and names to stop SMTP header injection 2026-07-19 18:12:35 +00:00
598234b817
Add regression tests for the authority, channel-prune and group-cap fixes
All checks were successful
CI / check (push) Successful in 5m35s
2026-07-19 17:45:05 +00:00
d6e74dd7c7
Key chatter buckets by lowercase channel 2026-07-19 17:45:04 +00:00
dc148dde69
Stop a bare nick from cancelling an account's help ticket 2026-07-19 17:45:04 +00:00
fa9eaece45
Cap and freeze-gate GroupServ registration 2026-07-19 17:45:04 +00:00
0c85c5b569
Forget emptied channels so a stale key can't leak to a recreated name 2026-07-19 17:45:04 +00:00
eea6e30f20
Guard the gRPC authority login and register paths 2026-07-19 17:45:04 +00:00
6149a15b34
Let identified users manage CERT without a password
All checks were successful
CI / check (push) Successful in 4m18s
2026-07-19 17:17:36 +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
d6b681c972
Don't expire runtime-granted opers; preserve standalone kicker flags across compaction
All checks were successful
CI / check (push) Successful in 4m12s
2026-07-19 16:44:35 +00:00
b704ab2b50
Never crash on a non-UTF-8 uplink line; bound line length; redeem keycards off the reactor loop 2026-07-19 16:44:35 +00:00
68372042f8
Gate OperServ INFO note edits at admin and cap the MemoServ ignore list
All checks were successful
CI / check (push) Successful in 4m17s
2026-07-19 16:21:31 +00:00
7894de4217
Resolve grouped-nick authzid in SASL EXTERNAL and saturate the Lamport clock
All checks were successful
CI / check (push) Successful in 4m10s
2026-07-19 15:59:00 +00:00
8f41fc9903
Freeze ChanServ MODE/ACCESS/FLAGS on suspended channels and make PEACE group-access-aware 2026-07-19 15:59:00 +00:00
16d2a5035a
Enforce the email-forbid policy on gRPC Register and SetEmail
All checks were successful
CI / check (push) Successful in 4m10s
2026-07-19 15:37:33 +00:00
03d39c1329
Guard the namespace on NickServ GROUP, gRPC GroupNick, and GroupServ REGISTER (confusable/forbid/cap)
Some checks failed
CI / check (push) Has been cancelled
2026-07-19 15:34:35 +00:00
224bc78641
Detect homoglyphs in Cyrillic Supplement and other unlisted non-Latin blocks
All checks were successful
CI / check (push) Successful in 4m9s
2026-07-19 14:50:54 +00:00
86444286d8
Test that SASL SCRAM honours the brute-force lockout
All checks were successful
CI / check (push) Successful in 4m9s
2026-07-19 14:40:00 +00:00
c36341668c
Fix self-review regressions: throttle SASL SCRAM, key game target by UID, exclude keycard from password lockout
Some checks failed
CI / check (push) Has been cancelled
2026-07-19 14:38:16 +00:00
4599c4834d
Bind game identity to UID (hijack + cap bypass) and warn on plaintext gossip
All checks were successful
CI / check (push) Successful in 4m17s
2026-07-19 14:15:06 +00:00
e23240bf52
Converge remaining gossiped state: node-local news/reports/help and deterministic group registration
Some checks failed
CI / check (push) Has been cancelled
2026-07-19 14:11:50 +00:00
fef4590f48
Update direct report_file/help_request test callers for the cooldown-key argument
All checks were successful
CI / check (push) Successful in 4m32s
2026-07-19 13:57:03 +00:00