Max Leiter
2865bb20e4
Merge remote-tracking branch 'origin/max/04-10-ircv3-reply' into max/next
...
# Conflicts:
# server/plugins/inputs/msg.ts
# yarn.lock
2026-05-21 01:00:52 -07:00
Max Leiter
946122ce3a
Merge remote-tracking branch 'origin/max/05-01-multiline' into max/next
...
# Conflicts:
# package.json
# server/plugins/inputs/msg.ts
# yarn.lock
2026-05-21 00:58:34 -07:00
Max Leiter
d421397edf
Merge remote-tracking branch 'origin/master' into max/04-10-ircv3-reply
2026-05-21 00:36:18 -07:00
Max Leiter
ef468097e5
merge
2026-05-21 00:31:07 -07:00
Max Leiter
e584b818a4
Merge remote-tracking branch 'origin/master' into max/next
...
# Conflicts:
# client/js/router.ts
2026-05-12 20:52:49 -07:00
Pavel Djundik
a63b7b45b7
Force generated certificate serial to be positive, use 20 bytes ( #5097 )
...
Fixes #5096
@craftbyte
2026-05-11 14:23:05 -07:00
Max Leiter
097c6a3b62
deps: bump irc-framework pin to include tags-action; use action() with tags
...
irc-framework PR #411 lets action() accept tags directly, replacing
the sendMessage('PRIVMSG', ..., '\x01ACTION ...\x01', tags) workaround
that was needed to attach +reply tags to /me messages.
2026-05-02 14:15:41 -07:00
Max Leiter
8dc295377c
plugins/inputs: thread replyTo via extras param instead of client state
...
Replaces client._pendingReplyTo (set/used/cleared in a sync block) with
an explicit fifth argument on PluginInputHandler. The information was
never about labeled-response correlation — it's UI context that needed
to reach the input handler — so the cleanest fix is to pass it as a
parameter rather than stash it on the Client instance.
2026-05-02 14:12:13 -07:00
Max Leiter
0f3880d037
Merge branch 'max/05-01-emoji' into max/next
2026-05-02 12:21:58 -07:00
Max Leiter
56e5d6a997
css
2026-05-02 12:14:29 -07:00
Max Leiter
03ee145680
Emoji selector
2026-05-02 12:05:19 -07:00
Max Leiter
68a1bcb344
cmt
2026-05-01 21:57:44 -07:00
Max Leiter
983749ab11
fix contributor count
2026-05-01 21:56:50 -07:00
Max Leiter
10b46607a8
Merge branch 'max/05-01-multiline' into max/next
...
# Conflicts:
# package.json
# server/client.ts
# server/models/network.ts
# server/plugins/inputs/msg.ts
# server/plugins/irc-events/message.ts
# server/plugins/irc-events/standard-reply.ts
# server/types/modules/irc-framework.d.ts
# shared/types/msg.ts
# test/.mocharc.yml
2026-05-01 21:56:06 -07:00
Max Leiter
4546dcd473
ircv3: draft/multiline
2026-05-01 21:49:21 -07:00
Max Leiter
58496ea869
Merge branch 'max/04-09-monitor' into max/next
...
# Conflicts:
# server/models/network.ts
# server/plugins/irc-events/connection.ts
# shared/types/network.ts
2026-04-25 15:14:35 -07:00
Max Leiter
1bee1ed77c
respect network preferences
2026-04-25 15:11:24 -07:00
Max Leiter
bffaa5e688
Merge remote-tracking branch 'origin/master' into max/04-09-monitor
2026-04-19 20:27:45 -07:00
Max Leiter
f589c31cca
Merge remote-tracking branch 'origin/master' into max/next
2026-04-18 16:50:57 -07:00
Jay2k1
0b2fc8d890
fix order of messages with identical timestamps ( #5087 )
...
When sending a message that is too long, thelounge will split it up into
multiple PRIVMSGs. These will be saved to the sqlite database with
identical timestamps. Thelounge retrieves messages from the DB using
`ORDER BY time DESC`, which under certain circumstances causes these
messages to be loaded and displayed in the wrong order. This PR
addresses that by also ordering by id (only affects messages with
identical timestamps).
Before:
<img width="1050" height="107" alt="image"
src="https://github.com/user-attachments/assets/54fac085-a989-48fa-9538-1faecb09aa44 "
/>
After:
<img width="1058" height="114" alt="image"
src="https://github.com/user-attachments/assets/0bb99db9-5a5d-481d-b799-87162d0535e8 "
/>
2026-04-18 16:35:10 -07:00
Max Leiter
4bb6420e04
fix: escape user-supplied LDAP filter value as per RFC 4515 ( #5084 )
...
Pointed out by claude and @xPaw
https://datatracker.ietf.org/doc/html/rfc4515#section-3
Tests written by Claude
2026-04-18 16:13:23 -07:00
Reto
51b620c589
sqlite: don't interpolate the deletion query ( #5086 )
...
While it was safe and not attacker controlled, it's better to be safe
than sorry. Plus it trips the scanners up
2026-04-18 16:12:24 -07:00
Max Leiter
d9236c80d8
lint
2026-04-18 11:38:35 -07:00
Max Leiter
ed9c1c53ba
Merge remote-tracking branch 'origin/master' into max/04-10-ircv3-reply
2026-04-18 11:38:17 -07:00
Max Leiter
5b83f0ab4e
chore: replace uuid package with crypto.randomUUID ( #5081 )
...
Available since Node 15:
https://nodejs.org/docs/latest-v20.x/api/crypto.html
2026-04-18 09:23:19 -07:00
Max Leiter
21f0e70696
fix /mute not persisting, case-insensitive channel check ( #5083 )
...
Found by claude:
```
server/plugins/inputs/mute.ts — /mute slash command never persists. Missing client.save(). Mutes set via the command vanish on restart. The socket handler (server/server.ts:768-797) does save.
server/plugins/inputs/mute.ts:18 — /mute #Foo fails when channel was joined as #foo. Uses case-sensitive c.name === arg; IRC channel names are case-insensitive.
```
2026-04-18 09:23:07 -07:00
Max Leiter
fb96789666
Merge branch 'max/04-17-fix-mute' into max/next
2026-04-17 11:00:06 -07:00
Max Leiter
2c293cd1d1
Merge branch 'max/04-17-rm-uuid' into max/next
2026-04-17 10:59:57 -07:00
Max Leiter
567073555a
fix /mute not persisting, case-insensitive channel check
2026-04-17 10:27:53 -07:00
Max Leiter
9adc7b5310
chore: replace uuid package with crypto.randomUUID
2026-04-17 10:22:17 -07:00
Max Leiter
109e4f38f7
revert the monitor revert, restoring all monitor/extended-monitor code
2026-04-15 10:22:38 -07:00
Max Leiter
eeac1dc4fd
Merge branch 'max/04-09-monitor' into max/next
2026-04-15 10:01:33 -07:00
Max Leiter
037a0bb0a6
batch monitor
2026-04-15 09:55:29 -07:00
Max Leiter
a21690781d
Revert "Merge #5045 : ircv3: monitor and extended-monitor"
...
Causes excess flood on networks.
2026-04-14 11:08:45 -07:00
Max Leiter
f62fcbc83b
Merge #5065 : ircv3: support +channel-context message tag
2026-04-14 10:22:01 -07:00
Max Leiter
0a2eb0b676
Merge #5064 : remove webpack, switch to vite/vitest
2026-04-14 10:21:42 -07:00
Max Leiter
1e0c022a4b
Merge #5062 : ircv3: add +reply support
2026-04-14 10:20:58 -07:00
Max Leiter
7a1e45e4ff
Merge #5061 : replace web-push with web-push-neo
2026-04-14 10:17:22 -07:00
Max Leiter
b58691ff36
Merge #5050 : ircv3: +typing support
2026-04-14 10:17:11 -07:00
Max Leiter
825f2fb4dc
Merge #5047 : ircv3: support standard-replies
2026-04-14 10:16:53 -07:00
Max Leiter
76eaa80bef
Merge #5045 : ircv3: monitor and extended-monitor
2026-04-14 10:16:48 -07:00
Max Leiter
9b3fd2808c
Merge #5043 : ircv3: add bot mode support
2026-04-14 10:16:27 -07:00
Max Leiter
0ae3979742
lint
2026-04-14 10:14:29 -07:00
Max Leiter
b5a6dcff22
lint
2026-04-14 10:07:26 -07:00
Max Leiter
48863391a3
Merge remote-tracking branch 'origin/master' into max/04-09-monitor
2026-04-14 10:07:03 -07:00
Max Leiter
edd7e59ff0
rm draft
2026-04-13 15:45:22 -07:00
Max Leiter
fd2a4686f1
cleanup
2026-04-13 15:43:11 -07:00
Max Leiter
7f05256071
simplify
2026-04-13 15:30:24 -07:00
Max Leiter
1d14a16429
Merge remote-tracking branch 'origin/master' into max/04-10-ircv3-reply
2026-04-13 12:32:58 -07:00
Max Leiter
70c9cfa61d
Merge remote-tracking branch 'origin/master' into max/04-10-typing
2026-04-13 12:10:34 -07:00