Shivaram Lingamneni
38a6d17ee5
clean up nested batch logic
2023-06-01 06:29:22 -04:00
Shivaram Lingamneni
3e68694760
Merge pull request #2067 from slingamn/issue2066
...
fix #2066
2023-05-30 23:12:19 -07:00
Val Lorentz
48f8c341d7
Implement draft/message-redaction ( #2065 )
...
* Makefile: Add dependencies between targets
* Implement draft/message-redaction for channels
Permission to use REDACT mirrors permission for 'HistServ DELETE'
* Error when the given targetmsg does not exist
* gofmt
* Add CanDelete enum type
* gofmt
* Add support for PMs
* Fix documentation of allow-individual-delete.
* Remove 'TODO: add configurable fallback'
slingamn says it's probably not desirable, and I'm on the fence.
Out of laziness, let's omit it for now, as it's not a regression
compared to '/msg HistServ DELETE'.
* Revert "Makefile: Add dependencies between targets"
This reverts commit 2182b1da69
.
---------
Co-authored-by: Val Lorentz <progval+git+ergo@progval.net>
2023-05-31 01:16:14 -04:00
Shivaram Lingamneni
00cfe98461
fix #2066
...
CHATHISTORY TARGETS response should not be in a batch unless the client has
explicitly requested the batch cap.
2023-05-29 22:22:01 -04:00
Shivaram Lingamneni
eeec481b8d
tweaks to NAMES implementation ( #2058 )
...
* tweaks to NAMES implementation
* tweak member caching
* add a benchmark for NAMES
2023-04-14 02:15:56 -04:00
Shivaram Lingamneni
295a567eda
Merge pull request #2041 from mogad0n/killresponseupdate
...
Update response string when killing always on clients
2023-03-04 23:31:11 -08:00
Shivaram Lingamneni
eb83df420b
tweak KILL message
...
Remove `<no reason supplied>`, make default KILL anonymous
2023-02-27 03:34:38 -05:00
Shivaram Lingamneni
1da11ae8ae
implement draft/pre-away ( #2044 )
...
* implement draft/pre-away
* clean up some subtleties in auto-away aggregation.
* consistently apply auto-away only to always-on
* `AWAY *` should not produce user-visible changes wherever possible
2023-02-05 00:50:14 -05:00
0653f90b4f
update response when killing alwayson targets
2023-01-31 13:27:02 +05:30
Shivaram Lingamneni
4317016a09
Merge pull request #2028 from slingamn/channels_taketwo.1
...
refactor of channel persistence to use UUIDs
2023-01-15 08:01:37 -08:00
Shivaram Lingamneni
177133a96f
Merge pull request #2033 from slingamn/rehash
...
fix #2031
2023-01-15 04:13:53 -08:00
Shivaram Lingamneni
16e214e4fb
fix #2031
...
Sanitize the in-band error message from REHASH
2023-01-12 06:58:18 -05:00
Shivaram Lingamneni
f72a6fa011
round wait times to the nearest millisecond
2023-01-08 06:36:04 -05:00
Shivaram Lingamneni
7ce0636276
refactor of channel persistence to use UUIDs
2023-01-04 05:06:21 -05:00
Shivaram Lingamneni
77de026961
persistence broadcast needs a cap check
2022-12-10 22:05:46 -08:00
Shivaram Lingamneni
ae1de2554e
add persistence broadcasting
2022-12-10 22:05:46 -08:00
Shivaram Lingamneni
99d27ff737
initial implementation of draft/persistence
2022-12-10 22:05:46 -08:00
Shivaram Lingamneni
fa3de3e149
fix #1983
...
TAGMSG should not get automatic RPL_AWAY replies
2022-12-10 21:01:28 -08:00
Shivaram Lingamneni
825cdab67d
fix #1850
...
Add WHO responses for services
2022-12-02 07:23:29 -05:00
Shivaram Lingamneni
4e0d2d65e8
fix #1996
...
According to the de facto standard, `AWAY :\r\n` is equivalent to `AWAY\r\n`.
Our behavior was inconsistent before, now it consistently matches the de facto
standard.
2022-09-11 04:09:26 -04:00
Shivaram Lingamneni
68bd2d87e0
fix #1991
...
WHO <nickname> should not respect +i
2022-08-22 23:03:17 -04:00
df234b842e
uban list explicitly shows indefinite durations
2022-08-11 03:04:20 +05:30
Shivaram Lingamneni
1d10eb934a
fix #1980
...
Sanitize ::1 to 0::1 in WHOX output
2022-07-14 21:53:36 -04:00
Shivaram Lingamneni
ef088373a8
only send MARKREAD to sessions with the read-marker cap
2022-05-20 01:58:14 -04:00
Shivaram Lingamneni
c3d4be45f1
fix timestamp syntax in MARKREAD
2022-05-20 01:46:41 -04:00
Shivaram Lingamneni
a13235880c
Merge pull request #1954 from slingamn/accept.1
...
fix #1688
2022-05-06 11:40:17 -04:00
Shivaram Lingamneni
c454c45d6a
Merge pull request #1953 from slingamn/issue1886_unregistered.1
...
fix #1886
2022-05-05 22:40:50 -04:00
Shivaram Lingamneni
c5579a6a34
fix #1688
...
* Add ACCEPT-tracking functionality (authorizing users to send DMs
despite +R or other applicable restrictions)
* Sending a DM automatically accepts the recipient
* Add explicit ACCEPT command
2022-05-05 22:34:43 -04:00
Shivaram Lingamneni
b11dc1c84c
fix #1886
...
Add more clarify in NS INFO and SAREGISTER about unregistered nicknames
2022-05-05 01:04:28 -04:00
Shivaram Lingamneni
78548aa9df
add SAVERIFY command
...
Fixes #1924
2022-05-04 16:41:01 -04:00
Shivaram Lingamneni
5c7df07d91
Merge pull request #1936 from slingamn/nick_empty
...
fix #1933
2022-04-25 18:02:31 -04:00
Shivaram Lingamneni
2b8eb93c00
clean up magic numbers
2022-04-24 11:57:21 -04:00
Shivaram Lingamneni
61fd7a2534
fix the rest of #1933
...
`NICK :` pre-registration needs to be special-cased to immediately
send ERR_NONICKNAMEGIVEN (unlike erroneous nonempty nicknames,
which are processed when registration is complete)
2022-04-24 01:39:45 -04:00
Shivaram Lingamneni
1f08c97238
Merge pull request #1926 from slingamn/readmarker.6
...
implement draft/read-marker capability
2022-04-08 01:33:06 -04:00
Shivaram Lingamneni
2fb8b836db
fix #1928
...
LIST should not return ERR_NOSUCHCHANNEL for nonexistent channels
2022-04-07 11:44:23 -04:00
Shivaram Lingamneni
32f7868bfd
implement draft/read-marker capability
2022-03-30 23:16:09 -04:00
Shivaram Lingamneni
a549827f17
upgrade to go 1.18, use generics
2022-03-30 00:44:51 -04:00
William Rehwinkel
4010f3fc02
Fix #1911 +s channels don't appear in /list even though on the channel ( #1923 )
...
* Fix #1911 +s channels don't appear in /list even though on the channel
* use channel.HasClient instead of custom iterative checker
2022-02-28 20:31:16 -05:00
Shivaram Lingamneni
0afa7edffe
fix #1895
...
Include server start time in INFO output.
2022-02-08 07:38:11 -05:00
Shivaram Lingamneni
fcb86c54f7
fix #1906
...
Having the 'samode' capability made all KICK commands privileged. This appears
to have been introduced unintentionally by 42316bc04f
and I can't find
any discussion of a rationale. Since this goes against our policy that all
ircop (as opposed to channel founder) privileges must be invoked explicitly
(e.g. SAJOIN, SAMODE), remove this.
2022-02-07 19:06:31 -05:00
Shivaram Lingamneni
dba5d3faae
show arbitrary IP in WHOX
...
This extends #1650 to cover WHO as well as WHOIS
2022-01-09 17:24:24 -05:00
Shivaram Lingamneni
d174b5aad6
add disambiguating numbers in translated strings
2022-01-02 17:36:12 -05:00
Shivaram Lingamneni
76f7748c8a
correctly account for nickname in CAP LS arithmetic
...
The arithmetic was assuming that the nickname is * (which it is
pre-registration). However, we were sending the actual nickname
post-registration. It would be simpler to always send *, but it
appears that the nickname is actually required by the spec:
>Replies from the server must [sic] contain the client identifier name or
>asterisk if one is not yet available.
2021-12-16 01:59:36 -05:00
Shivaram Lingamneni
f3f805acb8
send *
for WHOX o (oplevel) instead of 0
...
Jobe points out that 0 is a valid oplevel in some contexts,
* is a better placeholder for "unimplemented".
2021-12-12 03:05:56 -05:00
Shivaram Lingamneni
cb757c703d
change FAIL AUTHENTICATE VERIFICATION_REQUIRED to be a NOTE
...
See discussion on #1852
2021-12-01 12:16:03 -05:00
Shivaram Lingamneni
72959eb1cf
Merge pull request #1852 from slingamn/fail_authenticate
...
add FAIL AUTHENTICATE VERIFICATION_REQUIRED
2021-11-30 20:35:33 -05:00
Shivaram Lingamneni
7d66368274
add FAIL AUTHENTICATE VERIFICATION_REQUIRED
...
From discussion with @emersion, this will help with UX if people try to
log into their unverified accounts.
2021-11-30 15:27:25 -05:00
Shivaram Lingamneni
9ff4047fa6
fix #1840
...
Account registrations pending verification should produce a logline and
send a sno.
2021-11-30 03:18:01 -05:00
Shivaram Lingamneni
ac91beabfd
Merge pull request #1835 from slingamn/who.1
...
fix two WHO bugs
2021-11-16 21:45:40 -05:00
Shivaram Lingamneni
bc5c2a1250
fix casefolding issue in muting RELAYMSG
...
Reported by @mogad0n; the mute mask was being case-canonicalized,
but the RELAYMSG identifier wasn't being case-canonicalized before
the check.
2021-11-16 18:39:38 -05:00