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
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
Max Leiter
69f0ec00a6
Merge remote-tracking branch 'origin/master' into max/04-10-web-push-neo
2026-04-12 13:13:24 -07:00
Max Leiter
96df30b350
Merge remote-tracking branch 'origin/master' into max/04-10-bye-webpack
2026-04-12 09:53:31 -07:00
Max Leiter
d33e1d4184
Remove sqlite3 dependency; use built-in node:sqlite ( #5055 )
...
https://www.npmjs.com/package/sqlite3 is deprecated and Node 22 (#5041 )
lets us use the builtin `node:sqlite` package (although it is
experimental)
most changes are a result of the native module being synchronous
relies on #5041 (now merged)
Closes https://github.com/thelounge/thelounge/issues/5033
2026-04-12 13:30:56 +00:00
Max Leiter
101240e6db
Merge remote-tracking branch 'origin/master' into max/04-10-web-push-neo
2026-04-12 06:29:21 -07:00
Max Leiter
482a05f291
lint
2026-04-11 19:07:58 -07:00
Max Leiter
a46ad5f232
Merge remote-tracking branch 'origin/master' into max/04-10-bye-webpack
2026-04-11 14:32:24 -07:00
Max Leiter
769c9614b3
chore: bump some dev deps (mainly webpack) ( #5042 )
...
Closes some renovate PRs like
https://github.com/thelounge/thelounge/pull/5024 and should improve dev
perf.
It might be better to merge this instead:
https://github.com/thelounge/thelounge/pull/5001
---------
Co-authored-by: Tiago de Paula <tiagodepalves@gmail.com >
2026-04-11 14:28:18 -07:00
Max Leiter
6267ca3641
rm tpl, use vite
2026-04-11 13:55:41 -07:00
Max Leiter
5f622627a1
rm tpl, use vite
2026-04-11 13:48:24 -07:00
Max Leiter
fbc5d76061
Merge branch 'master' into max/04-11-channel-context
2026-04-11 15:17:43 -05:00
Max Leiter
c969f5a044
ircv3: support +channel-context client tag
2026-04-11 08:28:58 -07:00
Max Leiter
eb75c4b77c
chore: refactor Mentions, add isIgnoredUser util ( #5051 )
...
- Mentions were doing a bunch of mutations; not just uses derived state
- no need for a separate `ClientMention`
- added `extractInputHistory` for shared logic
- tests made by claude
2026-04-11 07:59:14 -07:00
Max Leiter
1c323239b3
Potential fix for pull request finding 'Useless assignment to local variable'
...
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
2026-04-11 07:47:52 -07:00
Max Leiter
7559e0f845
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-11 07:25:24 -07:00
Reto Brunner
5d35ffc35d
Merge branch 'fix/4993-ds-store-storage'
2026-04-11 10:11:24 +02:00
Max Leiter
3484f19a13
remove webpack, mocha; switch to vite/vitest
2026-04-10 23:32:18 -07:00
Max Leiter
7c1e45a584
lint
2026-04-10 23:16:16 -07:00
Max Leiter
a7c7b2edb5
treat replies like highlights
2026-04-10 23:15:48 -07:00
Max Leiter
c152b9d008
ircv3: add +reply support
2026-04-10 23:13:26 -07:00
Max Leiter
f79c6a90b7
fix
2026-04-10 22:39:14 -07:00