|
|
6c5f330746
|
add SIGNORE: personal mutual server-side ignore across channels and PMs
|
2026-08-20 14:48:17 +00:00 |
|
|
|
16ea4b5a23
|
core_message: compute the sender's channel rank once per message (mrank) instead of recomputing s.rank(uid,&key) up to 7x in the channel PRIVMSG/NOTICE gate and once more in TAGMSG — rank is fixed for a single message
|
2026-08-19 02:29:59 +00:00 |
|
|
|
fb1a9f3d70
|
server: skip the O(users) callerid ACCEPT scrub on quit unless the departing nick is actually accepted by someone — a reverse count (accepted_nicks) maintained through centralized accept_add/accept_remove helpers avoids scanning every user's accept list on each quit (O(users*quits) on a netsplit); the full scrub still runs when the count is nonzero, so the nick-reuse protection is unchanged
|
2026-08-19 02:21:38 +00:00 |
|
|
|
235c747c03
|
refactor: WEBIRC gateways and +G censor rules are named structs (WebircGateway/CensorRule) instead of positional tuples — self-documenting field access, no (_, g, _) index guessing; extends the OperBlock pattern
|
2026-08-18 23:31:21 +00:00 |
|
|
|
853be58d18
|
perf: channel PRIVMSG/NOTICE fanout builds at most one line per capability profile (server-time/account-tag/message-tags) and shares it by Arc, instead of formatting a String per member — a big channel now allocates <=8 lines, not N
|
2026-08-18 22:37:50 +00:00 |
|
|
|
e28efb03e6
|
callerid: cap the auto-accept list like the explicit ACCEPT command
|
2026-08-17 21:37:19 +00:00 |
|
|
|
58d5a0e5a5
|
message: keep +U opmoderated messages out of CHATHISTORY/+H replay, and subject TAGMSG to the same PM gates (+c/+R/+z/+g/SILENCE)
|
2026-08-17 15:05:13 +00:00 |
|
|
|
579c321670
|
channels/whois: validate +k/+l, cap and case-fold ban lists, honour -n for externals, hide +s/+p/+i from whois/who/names, 301 in whois, conf-key the join/nickflood lockout
|
2026-08-16 17:56:24 +00:00 |
|
|
|
1dd7f77ca8
|
operprefix + ojoin: server oper prefix (!/mode y, above owner) auto-granted to opers + OJOIN command
|
2026-08-10 13:01:07 +00:00 |
|
|
|
97a35338fa
|
delayjoin +D: hide JOINs until a member speaks/reveals (NAMES + part/quit/nick aware)
|
2026-08-09 07:40:10 +00:00 |
|
|
|
80cc61e7f8
|
exemptchanops +X: per-rank exemptions from flood/anticaps/repeat/censor/blockcolor/etc
|
2026-08-09 07:34:42 +00:00 |
|
|
|
1eca745092
|
repeat channel mode (+K <n>): block recently-repeated lines
|
2026-08-09 01:24:48 +00:00 |
|
|
|
668f2735b2
|
delaymsg channel mode (+d <secs>)
|
2026-08-09 01:22:27 +00:00 |
|
|
|
4d6525cac2
|
opmoderated channel mode (+U — route unprivileged messages to ops)
|
2026-08-09 01:07:30 +00:00 |
|
|
|
835c1cf099
|
user modes +W showwhois / +c commonchans
|
2026-08-09 00:54:56 +00:00 |
|
|
|
050ce37612
|
anticaps channel mode (+B <percent>)
|
2026-08-09 00:33:31 +00:00 |
|
|
|
d65e17b6b5
|
rustfmt
|
2026-08-09 00:24:27 +00:00 |
|
|
|
431ef2f5b3
|
move chathistory + redact + the history store into their own module file
|
2026-08-08 22:54:52 +00:00 |
|
|
|
ab7188bb70
|
move draft/multiline into its own module file
|
2026-08-08 22:49:54 +00:00 |
|
|
|
768435d810
|
move markread into its own module file
|
2026-08-08 22:47:10 +00:00 |
|
|
|
50a95c6686
|
move metadata out of core into its own module file
|
2026-08-08 22:44:58 +00:00 |
|
|
|
d4c4c1a7d0
|
draft/multiline: inbound BATCH parsing + concat assembly, deliver assembled lines; advertise limits
|
2026-08-08 22:07:04 +00:00 |
|
|
|
5a34ec57da
|
draft/metadata-2: client METADATA get/list/set/clear on users+channels (op-gated), change notices, metadata batch
|
2026-08-08 22:00:46 +00:00 |
|
|
|
a70ee42aee
|
markread (draft/read-marker, identity-shared) + advertise UTF8ONLY
|
2026-08-08 21:41:54 +00:00 |
|
|
|
283f8f5683
|
redact: draft/message-redaction — author/op can delete a channel message, relayed to capable members + dropped from history
|
2026-08-08 21:38:39 +00:00 |
|
|
|
6d57a9a4e8
|
rustfmt chathistory TARGETS
|
2026-08-08 21:36:12 +00:00 |
|
|
|
ea31e3faa2
|
chathistory: TARGETS subcommand (list conversations with activity in a window)
|
2026-08-08 21:35:40 +00:00 |
|
|
|
11b1d54e48
|
fix clippy needless-borrow in dm history store; tidy chathistory doc
|
2026-08-08 20:27:11 +00:00 |
|
|
|
ab3d9a07f0
|
chathistory: store per-conversation DM history too (canonical pair key, original target preserved)
|
2026-08-08 20:25:30 +00:00 |
|
|
|
b994faa0e7
|
chathistory: add AROUND and BETWEEN subcommands (all five now supported)
|
2026-08-08 20:11:42 +00:00 |
|
|
|
6a634ef678
|
chathistory: in-memory per-channel history + CHATHISTORY latest/before/after in a batch (draft/chathistory)
|
2026-08-08 20:00:23 +00:00 |
|
|
|
6d19b6771b
|
whox (354) + ircv3 standard-replies (fail/warn/note), account-tag, and +s/+p who/names member hiding
|
2026-08-08 17:55:44 +00:00 |
|
|
|
1581bc15d2
|
add callerid (+g) with ACCEPT allow-list, plus msgid and extended-monitor
|
2026-08-05 16:21:58 +00:00 |
|
|
|
9b12791774
|
import echoircd — from-scratch irc daemon in native rust
|
2026-08-05 16:10:31 +00:00 |
|