Commit graph

7855 commits

Author SHA1 Message Date
Reto Brunner
2962b07c1f update dependency webpack to v5.94.0 2024-09-29 13:52:53 +02:00
Reto Brunner
e7aff2862a update dependency cheerio to v1.0.0 2024-09-29 13:49:00 +02:00
Reto Brunner
ca2c231eec update dependency node-forge to v1.3.1 2024-09-29 13:46:20 +02:00
Reto Brunner
a196b1ad95 update dependency express to v4.20.0 2024-09-29 13:45:01 +02:00
renovate[bot]
05a87130ee
fix(deps): update dependency express to v4.20.0 [security] 2024-09-21 10:53:24 +00:00
arminius-smh
ac485c483b
server: fix loading themes from scoped packages
Scoped packages have slashes in them, that led to them being loaded at
the wrong path. Encoding the name fixes this.
2024-09-04 12:25:48 +02:00
arminius-smh
0a4adc4592
server: fix scoped package install
Installing a scoped npm package with thelounge install lead to an error,
because the original split that was used to split the version from the
package, split at the first @ from scoped packages.
2024-09-04 12:25:48 +02:00
renovate[bot]
8ed898846c
chore(deps): update dependency webpack to v5.94.0 [security] 2024-09-04 02:03:07 +00:00
renovate[bot]
374c6a9b04
fix(deps): update dependency node-forge to v1.3.1 2024-09-01 00:52:03 +00:00
renovate[bot]
6b30b07fc5
fix(deps): update dependency cheerio to v1.0.0 2024-09-01 00:51:51 +00:00
Reto Brunner
a61bc14456 remove dns resolution order override
This is the default for node 18.
2024-07-24 19:42:01 +02:00
Reto Brunner
e2ddabe032 update browserlist 2024-07-11 08:55:13 +02:00
Reto Brunner
6b9c2f5f58 update dependency sortablejs to v1.15.2 2024-07-11 08:36:34 +02:00
Reto Brunner
74cfff0034 update dependency got to v11.8.6 2024-07-11 08:32:38 +02:00
Reto Brunner
40a4434c8c update dependency vue-eslint-parser to v9.4.3 2024-07-11 08:32:03 +02:00
Reto Brunner
322d293f88 update dependency socket.io to v4.6.2 2024-07-11 08:31:06 +02:00
Reto Brunner
210d830fd0 update dependency postcss to v8.4.39 2024-07-11 08:29:38 +02:00
Reto Brunner
4990a6d9c6 update dependency @vue/test-utils to v2.4.6 2024-07-11 08:27:29 +02:00
Reto Brunner
f59ebc7d86 update dependency @types/ws to v8.5.10 2024-07-11 08:24:20 +02:00
renovate[bot]
1ccce14d01
fix(deps): update dependency got to v11.8.6 2024-07-01 02:25:52 +00:00
renovate[bot]
a051a70b02
chore(deps): update dependency vue-eslint-parser to v9.4.3 2024-07-01 02:25:42 +00:00
renovate[bot]
81c8db8374
chore(deps): update dependency postcss to v8.4.39 2024-06-30 19:09:15 +00:00
renovate[bot]
a900943345
fix(deps): update dependency socket.io to v4.6.2 [security] 2024-06-19 19:51:34 +00:00
renovate[bot]
f3bdec0078
chore(deps): update dependency sortablejs to v1.15.2 2024-06-01 02:14:44 +00:00
Reto Brunner
0d9c184f19 server: fix time handling
The framework may emit messages which do not have a time stamp.
We tried to unconditionally convert the time field, fix that.

The Msg constructor replaces falsey time fields with the current
date so we can also remove the duplication from that codepath.
2024-05-16 22:15:39 +02:00
Max Leiter
4de413070d
Merge pull request #4873 from thelounge/types
client: remove setAppBadge and clearAppBadge
2024-05-12 23:08:52 -07:00
Reto Brunner
0955d9df06 Identd: fix various issues
There's a bunch of sub optimal behavior from our ident server.
For one, it allows user enumeration which we don't really want and it doesn't clean up connections that don't send any data.

Fix that
2024-05-12 11:51:18 +02:00
Reto Brunner
cb4aaf6a97 client: remove setAppBadge and clearAppBadge
They already ship with typescript's lib.dom.d.ts
2024-05-10 13:21:18 +02:00
Reto Brunner
45c2fc87ee client: properly type Socket in window 2024-05-10 12:27:41 +02:00
Reto Brunner
29fcc2da05 ident: close connections if they don't send data 2024-05-09 19:01:10 +02:00
Reto Brunner
12679081c8 ident: fix write after connection end
We only respond once to data, then half-close the connection.
Hence, we should only listen to a single data event as well,
else if the remote doesn't stop sending data we keep trying to
write to the closed write end of the pipe.
2024-05-09 19:01:10 +02:00
Reto Brunner
0e48014d5a ident: only respond if the ip,port tuples match
Per RFC 1413, The uniquely identifying tuple includes not only the ports,
but also both addresses.

If multiple connections happen to use the same local port number
(which is possible if the addresses differ), the username of the first
is returned for all, resulting in the wrong ident for all but the
first.

By not checking the connection address, the information becomes
public. Because there is only relatively small number of local ports,
and the remote ports are likely to be either 6667 or 6697, it becomes
trivial to enumerate all the users.

Co-Authored-By: Juerd Waalboer <juerd@tnx.nl>
2024-05-09 19:01:10 +02:00
Reto Brunner
4819406af5 ident: order imports 2024-05-09 17:24:53 +02:00
renovate[bot]
9e6eef3020
chore(deps): update dependency @vue/test-utils to v2.4.6 2024-05-08 02:08:59 +00:00
renovate[bot]
33e08390f9
chore(deps): update dependency @types/ws to v8.5.10 2024-05-05 04:50:37 +00:00
Max Leiter
74563effa7
Merge pull request #4869 from thelounge/tsUpdate
Ts update
2024-05-04 21:49:58 -07:00
Max Leiter
cbab10f416
Merge pull request #4870 from thelounge/dts
remove unused .d.ts file
2024-05-04 21:46:54 -07:00
Reto Brunner
4dfeb899b4 remove unused .d.ts file 2024-05-04 13:45:40 +02:00
Reto Brunner
3259ac596d client: fix all new linter errros 2024-05-04 12:29:57 +02:00
Reto Brunner
3fbbc39cd6 client/commands: statically import commands
Dynamic imports won't work very well with modules and we don't
really need them, it's just there to save us an import statement.

Let's flip this to a static version.
2024-05-04 12:29:57 +02:00
Reto Brunner
9ae9482223 bump all eslint related deps 2024-05-02 08:21:34 +02:00
Reto Brunner
a3953405ed bump eslint to latest 8.* 2024-04-27 13:19:39 +02:00
Reto Brunner
9086bc648d bump typescript to v5 2024-04-27 13:06:30 +02:00
Reto Brunner
da2572fe25 Merge remote-tracking branch 'origin/renovate/read-0.x' 2024-04-27 12:50:11 +02:00
Reto Brunner
d9977df315 Merge remote-tracking branch 'origin/renovate/sqlite3-3.x' 2024-04-27 12:48:20 +02:00
Reto Brunner
cc0aa5e8e5 Merge remote-tracking branch 'origin/renovate/npm-webpack-dev-middleware-vulnerability' 2024-04-27 12:47:01 +02:00
Reto Brunner
02df78b0f2 Merge remote-tracking branch 'origin/renovate/npm-express-vulnerability' 2024-04-27 12:46:42 +02:00
Reto Brunner
18b0e06855 Merge remote-tracking branch 'origin/renovate/express-4.x' 2024-04-27 12:46:27 +02:00
Reto Brunner
d5db9c653b Merge remote-tracking branch 'origin/renovate/ua-parser-js-0.x' 2024-04-27 12:46:09 +02:00
Reto Brunner
f7926267d9 untangle client and server
Our project was quite confused as to the boundaries between client and
server code.
This false sharing meant that it was quite hard to tell what was actually
sent to the client and what was uniquely scoped to either side.

Further, this meant that our compilation and build pipelines were very
confused and pulled in files they should not have.

This commit series tries to untangle the two. This also entails fixing
quite some typing issues.
It's hard to make this in sane, small, commits that still build at each
step (it's impossible, as fixing one type error / any type immediately lead
to further errors in a game of whack a mole).
So you'll get my actual progress in small commits that can each be reviewed,
however the earlier ones are in fact sometimes wrong and get cleaned up later
once the picture is a bit clearer.
2024-04-26 09:39:15 +02:00