fix: performance related fixes

This commit is contained in:
Carl-Gerhard Lindesvärd
2025-10-22 12:29:56 +02:00
parent 8bb0c87ec9
commit 1285ad85a2
60 changed files with 4264 additions and 2959 deletions

148
pnpm-lock.yaml generated
View File

@@ -115,20 +115,20 @@ importers:
specifier: ^1.3.12
version: 1.3.12(zod@3.24.2)
'@fastify/compress':
specifier: ^8.0.1
version: 8.0.1
specifier: ^8.1.0
version: 8.1.0
'@fastify/cookie':
specifier: ^11.0.2
version: 11.0.2
'@fastify/cors':
specifier: ^11.0.0
version: 11.0.0
specifier: ^11.1.0
version: 11.1.0
'@fastify/rate-limit':
specifier: ^10.2.2
version: 10.2.2
specifier: ^10.3.0
version: 10.3.0
'@fastify/websocket':
specifier: ^11.0.2
version: 11.0.2
specifier: ^11.2.0
version: 11.2.0
'@node-rs/argon2':
specifier: ^2.0.2
version: 2.0.2
@@ -181,17 +181,17 @@ importers:
specifier: ^1.0.3
version: 1.0.3
fastify:
specifier: ^5.2.1
version: 5.2.1
specifier: ^5.6.1
version: 5.6.1
fastify-metrics:
specifier: ^12.1.0
version: 12.1.0(fastify@5.2.1)
version: 12.1.0(fastify@5.6.1)
fastify-raw-body:
specifier: ^5.0.0
version: 5.0.0
groupmq:
specifier: 1.0.0-next.19
version: 1.0.0-next.19(ioredis@5.8.2)
specifier: 1.1.0-next.5
version: 1.1.0-next.5(ioredis@5.8.2)
jsonwebtoken:
specifier: ^9.0.2
version: 9.0.2
@@ -377,9 +377,6 @@ importers:
'@ai-sdk/react':
specifier: ^1.2.5
version: 1.2.5(react@19.1.1)(zod@3.24.2)
'@clickhouse/client':
specifier: ^1.2.0
version: 1.2.0
'@dnd-kit/core':
specifier: ^6.3.1
version: 6.3.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
@@ -877,8 +874,8 @@ importers:
specifier: ^4.18.2
version: 4.18.2
groupmq:
specifier: 1.0.0-next.19
version: 1.0.0-next.19(ioredis@5.8.2)
specifier: 1.1.0-next.5
version: 1.1.0-next.5(ioredis@5.8.2)
prom-client:
specifier: ^15.1.3
version: 15.1.3
@@ -971,6 +968,9 @@ importers:
date-fns:
specifier: ^3.3.1
version: 3.3.1
lru-cache:
specifier: ^11.2.2
version: 11.2.2
luxon:
specifier: ^3.6.1
version: 3.6.1
@@ -1154,6 +1154,9 @@ importers:
'@maxmind/geoip2-node':
specifier: ^6.1.0
version: 6.1.0
lru-cache:
specifier: ^11.2.2
version: 11.2.2
devDependencies:
'@openpanel/tsconfig':
specifier: workspace:*
@@ -1335,8 +1338,8 @@ importers:
specifier: ^5.8.7
version: 5.8.7
groupmq:
specifier: 1.0.0-next.19
version: 1.0.0-next.19(ioredis@5.8.2)
specifier: 1.1.0-next.5
version: 1.1.0-next.5(ioredis@5.8.2)
devDependencies:
'@openpanel/sdk':
specifier: workspace:*
@@ -1359,6 +1362,9 @@ importers:
ioredis:
specifier: 5.8.2
version: 5.8.2
lru-cache:
specifier: ^11.2.2
version: 11.2.2
devDependencies:
'@openpanel/db':
specifier: workspace:*
@@ -2753,17 +2759,10 @@ packages:
'@clickhouse/client-common@1.12.1':
resolution: {integrity: sha512-ccw1N6hB4+MyaAHIaWBwGZ6O2GgMlO99FlMj0B0UEGfjxM9v5dYVYql6FpP19rMwrVAroYs/IgX2vyZEBvzQLg==}
'@clickhouse/client-common@1.2.0':
resolution: {integrity: sha512-VfA/C/tVJ2eNe72CaQ7eXmai+yqFEvZjQZiNtvJoOMLP+Vtb6DzqH9nfkgsiHHMhUhhclvt2mFh6+euk1Ea5wA==}
'@clickhouse/client@1.12.1':
resolution: {integrity: sha512-7ORY85rphRazqHzImNXMrh4vsaPrpetFoTWpZYueCO2bbO6PXYDXp/GQ4DgxnGIqbWB/Di1Ai+Xuwq2o7DJ36A==}
engines: {node: '>=16'}
'@clickhouse/client@1.2.0':
resolution: {integrity: sha512-zMp2EhMfp1IrFKr/NjDwNiLsf7nq68nW8lGKszwFe7Iglc6Z5PY9ZA9Hd0XqAk75Q1NmFrkGCP1r3JCM1Nm1Bw==}
engines: {node: '>=16'}
'@cloudflare/kv-asset-handler@0.4.0':
resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==}
engines: {node: '>=18.0.0'}
@@ -4164,14 +4163,14 @@ packages:
'@fastify/ajv-compiler@4.0.2':
resolution: {integrity: sha512-Rkiu/8wIjpsf46Rr+Fitd3HRP+VsxUFDDeag0hs9L0ksfnwx2g7SPQQTFL0E8Qv+rfXzQOxBJnjUB9ITUDjfWQ==}
'@fastify/compress@8.0.1':
resolution: {integrity: sha512-yWNfKhvL4orfN45LKCHCo8Fcsbj1kdNgwyShw2xpdHfzPf4A3MESmgSfUm3TCKQwgqDdrPnLfy1E+3I/DVP+BQ==}
'@fastify/compress@8.1.0':
resolution: {integrity: sha512-wX3I5u/SYQXxbqjG7CysvzeaCe4Sv8y13MnvnaGTpqfKkJbTLpwvdIDgqrwp/+UGvXOW7OLDLoTAQCDMJJRjDQ==}
'@fastify/cookie@11.0.2':
resolution: {integrity: sha512-GWdwdGlgJxyvNv+QcKiGNevSspMQXncjMZ1J8IvuDQk0jvkzgWWZFNC2En3s+nHndZBGV8IbLwOI/sxCZw/mzA==}
'@fastify/cors@11.0.0':
resolution: {integrity: sha512-41Bx0LVGr2a6DnnhDN/SgfDlTRNZtEs8niPxyoymV6Hw09AIdz/9Rn/0Fpu+pBOs6kviwS44JY2mB8NcU2qSAA==}
'@fastify/cors@11.1.0':
resolution: {integrity: sha512-sUw8ed8wP2SouWZTIbA7V2OQtMNpLj2W6qJOYhNdcmINTu6gsxVYXjQiM9mdi8UUDlcoDDJ/W2syPo1WB2QjYA==}
'@fastify/error@4.0.0':
resolution: {integrity: sha512-OO/SA8As24JtT1usTUTKgGH7uLvhfwZPwlptRi2Dp5P4KKmJI3gvsZ8MIHnNwDs4sLf/aai5LzTyl66xr7qMxA==}
@@ -4188,11 +4187,11 @@ packages:
'@fastify/proxy-addr@5.0.0':
resolution: {integrity: sha512-37qVVA1qZ5sgH7KpHkkC4z9SK6StIsIcOmpjvMPXNb3vx2GQxhZocogVYbr2PbbeLCQxYIPDok307xEvRZOzGA==}
'@fastify/rate-limit@10.2.2':
resolution: {integrity: sha512-45vXZImiYthKlMohF4XoHXYiBXCyRYY+zmtjLZuQrGraW0Zj9hYPYNOIa47012+5A65M0KJQxIVbzYCNP90hcg==}
'@fastify/rate-limit@10.3.0':
resolution: {integrity: sha512-eIGkG9XKQs0nyynatApA3EVrojHOuq4l6fhB4eeCk4PIOeadvOJz9/4w3vGI44Go17uaXOWEcPkaD8kuKm7g6Q==}
'@fastify/websocket@11.0.2':
resolution: {integrity: sha512-1oyJkNSZNJGjo/A5fXvlpEcm1kTBD91nRAN9lA7RNVsVNsyC5DuhOXdNL9/4UawVe7SKvzPT/QVI4RdtE9ylnA==}
'@fastify/websocket@11.2.0':
resolution: {integrity: sha512-3HrDPbAG1CzUCqnslgJxppvzaAZffieOVbLp1DAy1huCSynUWPifSvfdEDUR8HlJLp3sp1A36uOM2tJogADS8w==}
'@floating-ui/core@1.6.0':
resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==}
@@ -11026,8 +11025,8 @@ packages:
resolution: {integrity: sha512-2qfoaQ3BQDhZ1gtbkKZd6n0kKxJISJGM6u/skD9ljdWItAscjXrtZ1lnjr7PavmXX9j4EyCPmBDiIsLn07d5vA==}
engines: {node: '>= 10'}
fastify@5.2.1:
resolution: {integrity: sha512-rslrNBF67eg8/Gyn7P2URV8/6pz8kSAscFL4EThZJ8JBMaXacVdVE4hmUcnPNKERl5o/xTiBSLfdowBRhVF1WA==}
fastify@5.6.1:
resolution: {integrity: sha512-WjjlOciBF0K8pDUPZoGPhqhKrQJ02I8DKaDIfO51EL0kbSMwQFl85cRwhOvmSDWoukNOdTo27gLN549pLCcH7Q==}
fastq@1.17.1:
resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
@@ -11490,8 +11489,8 @@ packages:
resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
engines: {node: '>=6.0'}
groupmq@1.0.0-next.19:
resolution: {integrity: sha512-2iF80iNtvQ/yl8b46JRfNQIkrR+k4VaVtlg+lliPn+fn5IRMEeFaS1cFbGPxYjMtkPvMsi0G526pj1OAYefsFg==}
groupmq@1.1.0-next.5:
resolution: {integrity: sha512-bUsphvHY3tznr9+izuFpTdeLPUYY4tMl4cbg3zWYDa8HeyOggHETzeyN3Ox7ox5/asI8VYyzpU+PV+w7/UIcXA==}
engines: {node: '>=18'}
peerDependencies:
ioredis: '>=5'
@@ -12606,13 +12605,13 @@ packages:
lowlight@1.20.0:
resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==}
lru-cache@10.2.0:
resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
engines: {node: 14 || >=16.14}
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
lru-cache@11.2.2:
resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==}
engines: {node: 20 || >=22}
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
@@ -13099,9 +13098,6 @@ packages:
resolution: {integrity: sha512-V6DDh3v8tfZFWbeH6fsL5uBIlWL7SvRgGDaAZWFC5kjQ2xP5dl/mLpWwJQ1Ho6ZbEKVp/351QF1JXYTAmeZ/zA==}
engines: {node: '>=10', npm: '>=6'}
mnemonist@0.40.0:
resolution: {integrity: sha512-kdd8AFNig2AD5Rkih7EPCXhu/iMvwevQFX/uEiGhZyPZi7fHqOoF4V4kHLpCfysxXMgQ4B52kdPMCwARshKvEg==}
mock-require-lazy@1.0.17:
resolution: {integrity: sha512-P8nKtCgmnX9flup2Ywv6eoHIH7qjnpF0nQ8tRIG2qqy7UyeqLH8/VtHhTSP00hgTM/VkHDUS23mFPLacEfnmSQ==}
engines: {node: '>=0.8'}
@@ -13447,9 +13443,6 @@ packages:
resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
engines: {node: '>= 0.4'}
obliterator@2.0.4:
resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==}
ofetch@1.4.1:
resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==}
@@ -13962,6 +13955,9 @@ packages:
process-warning@4.0.1:
resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==}
process-warning@5.0.0:
resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==}
process@0.11.10:
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
engines: {node: '>= 0.6.0'}
@@ -14886,8 +14882,8 @@ packages:
secure-json-parse@2.7.0:
resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
secure-json-parse@3.0.2:
resolution: {integrity: sha512-H6nS2o8bWfpFEV6U38sOSjS7bTbdgbCGU9wEM6W14P5H0QOsz94KCusifV44GpHDTu2nqZbuDNhTzu+mjDSw1w==}
secure-json-parse@4.1.0:
resolution: {integrity: sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==}
seedrandom@3.0.5:
resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==}
@@ -18228,16 +18224,10 @@ snapshots:
'@clickhouse/client-common@1.12.1': {}
'@clickhouse/client-common@1.2.0': {}
'@clickhouse/client@1.12.1':
dependencies:
'@clickhouse/client-common': 1.12.1
'@clickhouse/client@1.2.0':
dependencies:
'@clickhouse/client-common': 1.2.0
'@cloudflare/kv-asset-handler@0.4.0':
dependencies:
mime: 3.0.0
@@ -19276,11 +19266,11 @@ snapshots:
ajv-formats: 3.0.1(ajv@8.12.0)
fast-uri: 3.0.6
'@fastify/compress@8.0.1':
'@fastify/compress@8.1.0':
dependencies:
'@fastify/accept-negotiator': 2.0.1
fastify-plugin: 5.0.1
mime-db: 1.52.0
mime-db: 1.54.0
minipass: 7.1.2
peek-stream: 1.1.3
pump: 3.0.0
@@ -19292,10 +19282,10 @@ snapshots:
cookie: 1.0.2
fastify-plugin: 5.0.1
'@fastify/cors@11.0.0':
'@fastify/cors@11.1.0':
dependencies:
fastify-plugin: 5.0.1
mnemonist: 0.40.0
toad-cache: 3.7.0
'@fastify/error@4.0.0': {}
@@ -19314,17 +19304,17 @@ snapshots:
'@fastify/forwarded': 3.0.0
ipaddr.js: 2.2.0
'@fastify/rate-limit@10.2.2':
'@fastify/rate-limit@10.3.0':
dependencies:
'@lukeed/ms': 2.0.2
fastify-plugin: 5.0.1
toad-cache: 3.7.0
'@fastify/websocket@11.0.2':
'@fastify/websocket@11.2.0':
dependencies:
duplexify: 4.1.3
fastify-plugin: 5.0.1
ws: 8.17.1
ws: 8.18.3
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -27469,9 +27459,9 @@ snapshots:
dependencies:
strnum: 1.0.5
fastify-metrics@12.1.0(fastify@5.2.1):
fastify-metrics@12.1.0(fastify@5.6.1):
dependencies:
fastify: 5.2.1
fastify: 5.6.1
fastify-plugin: 5.0.1
prom-client: 15.1.3
@@ -27483,7 +27473,7 @@ snapshots:
raw-body: 3.0.0
secure-json-parse: 2.7.0
fastify@5.2.1:
fastify@5.6.1:
dependencies:
'@fastify/ajv-compiler': 4.0.2
'@fastify/error': 4.0.0
@@ -27495,10 +27485,10 @@ snapshots:
find-my-way: 9.2.0
light-my-request: 6.6.0
pino: 9.6.0
process-warning: 4.0.1
process-warning: 5.0.0
rfdc: 1.3.1
secure-json-parse: 3.0.2
semver: 7.6.3
secure-json-parse: 4.1.0
semver: 7.7.2
toad-cache: 3.7.0
fastq@1.17.1:
@@ -28071,7 +28061,7 @@ snapshots:
section-matter: 1.0.0
strip-bom-string: 1.0.0
groupmq@1.0.0-next.19(ioredis@5.8.2):
groupmq@1.1.0-next.5(ioredis@5.8.2):
dependencies:
cron-parser: 4.9.0
ioredis: 5.8.2
@@ -29305,10 +29295,10 @@ snapshots:
fault: 1.0.4
highlight.js: 10.7.3
lru-cache@10.2.0: {}
lru-cache@10.4.3: {}
lru-cache@11.2.2: {}
lru-cache@5.1.1:
dependencies:
yallist: 3.1.1
@@ -30176,10 +30166,6 @@ snapshots:
mmdb-lib@2.2.0: {}
mnemonist@0.40.0:
dependencies:
obliterator: 2.0.4
mock-require-lazy@1.0.17:
dependencies:
get-caller-file: 2.0.5
@@ -30633,8 +30619,6 @@ snapshots:
has-symbols: 1.0.3
object-keys: 1.1.1
obliterator@2.0.4: {}
ofetch@1.4.1:
dependencies:
destr: 2.0.5
@@ -30900,7 +30884,7 @@ snapshots:
path-scurry@1.11.1:
dependencies:
lru-cache: 10.2.0
lru-cache: 10.4.3
minipass: 7.1.2
path-to-regexp@0.1.12: {}
@@ -31152,6 +31136,8 @@ snapshots:
process-warning@4.0.1: {}
process-warning@5.0.0: {}
process@0.11.10: {}
progress-stream@2.0.0:
@@ -32400,7 +32386,7 @@ snapshots:
secure-json-parse@2.7.0: {}
secure-json-parse@3.0.2: {}
secure-json-parse@4.1.0: {}
seedrandom@3.0.5: {}