Merge branch 'main' into fix/ocr-review-date-validation

This commit is contained in:
Marc-André Bombeck authored and GitHub committed 2026-09-30 22:35:42 +02:00
commit eb7c3fafe4
3 files changed
+74 -70

No files matched your search

+2 -2
View File
@@ -80,7 +80,7 @@
"jspdf-autotable": "^5.0.8",
"lucide-react": "^1.44.0",
"mmdb-lib": "^3.0.2",
"next": "16.3.4",
"next": "16.3.6",
"next-themes": "^0.4.6",
"nodemailer": "10.0.9",
"otpauth": "^9.5.1",
@@ -124,7 +124,7 @@
"@vitejs/plugin-react": "^6.1.1",
"@vitest/coverage-v8": "^4.1.5",
"eslint": "^9",
"eslint-config-next": "16.3.5",
"eslint-config-next": "16.3.6",
"knip": "^6.32.3",
"lefthook": "^2.1.12",
"pdf-parse": "^2.4.5",
+65 -65
View File
@@ -9,18 +9,18 @@ overrides:
hono@<4.13.5: ^4.13.5
baseline-browser-mapping@<2.11.0: ^2.11.0
sharp@<0.35.4: ^0.35.4
dompurify@<3.4.13: ^3.4.13
dompurify@<3.4.16: ^3.4.16
postcss@<8.5.23: ^8.5.23
nanoid@<3.3.18: ^3.3.18
'@hono/node-server@<1.19.15': ^1.19.15
picomatch@<4.0.4: ^4.0.4
body-parser@<2.3.0: ^2.3.0
qs@<6.16.0: ^6.16.0
fast-uri@<3.1.6: ^3.1.6
fast-uri@<3.1.8: ^3.1.8
flatted@<3.4.2: ^3.4.2
mysql2@<3.22.0: ^3.22.0
minimatch@<3.1.4: ^3.1.4
ip-address@<10.3.1: ^10.3.1
ip-address@<10.7.1: ^10.7.1
sharp@<0.35.0: ^0.35.3
pdfjs-dist@>=5.6.83 <6.2.108: 6.2.108
deepmerge-ts@<8.0.0: ^8.0.0
@@ -114,8 +114,8 @@ importers:
specifier: ^3.0.2
version: 3.0.2
next:
specifier: 16.3.4
version: 16.3.4(@babel/core@7.29.7(supports-color@7.2.0))(@playwright/test@1.63.0)(@types/node@26.6.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)
specifier: 16.3.6
version: 16.3.6(@babel/core@7.29.7(supports-color@7.2.0))(@playwright/test@1.63.0)(@types/node@26.6.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)
next-themes:
specifier: ^0.4.6
version: 0.4.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0)
@@ -241,8 +241,8 @@ importers:
specifier: ^9
version: 9.39.3(jiti@2.7.0)(supports-color@7.2.0)
eslint-config-next:
specifier: 16.3.5
version: 16.3.5(@typescript-eslint/parser@8.70.0(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)
specifier: 16.3.6
version: 16.3.6(@typescript-eslint/parser@8.70.0(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)
knip:
specifier: ^6.32.3
version: 6.32.3
@@ -1201,60 +1201,60 @@ packages:
'@next/bundle-analyzer@16.3.3':
resolution: {integrity: sha512-pJFJrjUnxac2RBEgRIhXqoRkaSxMGQEGvvLhPKA2h1hXAzq60DzRj8Vp8+um2cMuHRuLcwRFYNlcuS74/hZ7AQ==}
'@next/env@16.3.4':
resolution: {integrity: sha512-cjWZnUUa6jZq2kFaNe/ZyJdZonOZ/QoN0Zka2nz/FLOrfx14pQuM9c5RaSVkWMqgdt4ksgPAMWPyHSs/CyV48Q==}
'@next/env@16.3.6':
resolution: {integrity: sha512-x9Vblze1EbtltQYnNH38xCPWU3TVfBd1eXqA3+w9+BTpedkkdNpAaltXlGQ/nsc1+E0mVTNrtcbX3GoO09zeLQ==}
'@next/eslint-plugin-next@16.3.5':
resolution: {integrity: sha512-PGfSeItHJ12DH8t+6sEbuMe59NE5rAhCfgk06QKTH2ne9VUL1JlaXdYXY3B8RaiF2SO50rDYvd39TulP6A6xZQ==}
'@next/eslint-plugin-next@16.3.6':
resolution: {integrity: sha512-jowwDX+7DOlDIjJLgTMxudw+k37QnWu1JkZLkSi9MaJBfDYcfhAPMKBhXL0idYzFN/AGg//axnOR4cLkHX/Rng==}
'@next/swc-darwin-arm64@16.3.4':
resolution: {integrity: sha512-iBr3I5LZNk5/bgl5//iTgD2tcym14MX0Xo7fD//u9dYAEgGzza1y9oywluPtf74YnOswVdH1908aK9xVz7zQTw==}
'@next/swc-darwin-arm64@16.3.6':
resolution: {integrity: sha512-E/7GEqaUkt8mk/T8v9lAnrhzR06kdq1ZBkC12F8tAMkdIadwNp3H1KqHynDHrpcTlGCUdq/qu6vUL2aYVyYBdw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
'@next/swc-darwin-x64@16.3.4':
resolution: {integrity: sha512-2dpiSyl2Jw/NrBPaU2MAKGSa+2MR82pJIn4Sm5Rjr+gxAeuh0z158Su3Z2O8zn7UNNq+ej4bToed6RcRN/Lydg==}
'@next/swc-darwin-x64@16.3.6':
resolution: {integrity: sha512-yBE893/nDWTlaiBD1p+qgt7NUen4U5R6FXyH0s67Npq1S3E0cVSef1WIXC2xBRgQvwAvJq6DnS6Y6PrY0cy4Ew==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
'@next/swc-linux-arm64-gnu@16.3.4':
resolution: {integrity: sha512-+t+U8HZT+fApePCS5h89CSH3datz29MkzyfCn+6fpsZBG/oiEOhINcb9rtkv6sdpToLGFn2e6146NzaKCXkqrA==}
'@next/swc-linux-arm64-gnu@16.3.6':
resolution: {integrity: sha512-KJDpjBqBPYlvkivmyrp+Qys6k/7ksbqGQvRVc6ZEGfR+cjQxx+nUkJaWmNZJsmoOrqYNbaXByF8wa0lBwDhB3Q==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@next/swc-linux-arm64-musl@16.3.4':
resolution: {integrity: sha512-mx03GNs1ocQA5JQ4FxDMmIsNkdrZh8cuezKCrId28e5/gIPU/l7Kcy2+vmCCzdjnnmXJy+iOAu+7K0QppO6Urg==}
'@next/swc-linux-arm64-musl@16.3.6':
resolution: {integrity: sha512-mqNg2K+hvWskSRb/QM+Ix412DvBsuSF0XV+frTSw5vmoucNnIlynFwKYew8D01bfATErMOM7Bujrf0BA5DRKFA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [musl]
'@next/swc-linux-x64-gnu@16.3.4':
resolution: {integrity: sha512-YIhGY6fSMfha52bnVxnzc9zaVBzJg+cqQTOD8tXIBSx4fuv0pVMxQTE0PaS59YhnMOiYiG09IMwxJAf/CFm/Dw==}
'@next/swc-linux-x64-gnu@16.3.6':
resolution: {integrity: sha512-nFncBNGAYouRHjRVaITs9beZRfhX4ssVwpnvPIAbkZVH6LtGoAVlH4bJ8Cnf9SOo9bsXgPFer/GdHtEE3JNOkw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [glibc]
'@next/swc-linux-x64-musl@16.3.4':
resolution: {integrity: sha512-+eaaX6axpDb0yF1GCpiERe6njplvdC+nks/fKfcHu3XPGRrald8P3/X7yv7QLdjA51knnxwl9pxdIJsg+w1L+Q==}
'@next/swc-linux-x64-musl@16.3.6':
resolution: {integrity: sha512-5Mf3cHDGR/Iz0ng2Bj3zUR3p5QS9YK3Hn2QiAfavFmyF48zwThAjpFoiTKNIcOHLYS4zEk+gzyJ/9deQ2ZB8yQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [musl]
'@next/swc-win32-arm64-msvc@16.3.4':
resolution: {integrity: sha512-0jcXW7Xs/uzICrmgV3MhDYDeRy++1CqnpDIerlPIqYO4bhzB4WNbX/aRnQclustsAyTkFKB0z6rbcjmNg5tR8A==}
'@next/swc-win32-arm64-msvc@16.3.6':
resolution: {integrity: sha512-0jkJy0C2kbrJWTk4YLa3xk80pVBpx8FCHJym7CnUfDAXe/FWv5qT7SQJbR0KuemyxaEDlEx5WT4VQJoTW+/9Qw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
'@next/swc-win32-x64-msvc@16.3.4':
resolution: {integrity: sha512-vvBzwu1pYQCp92maZCFCIw/XgOTMR5tur9GjakwIo2cmwRTMKajRZZDS9+e4KsUZWKu1E007WUeAFXRRjZeuzw==}
'@next/swc-win32-x64-msvc@16.3.6':
resolution: {integrity: sha512-/YXjI1e5OXcZ7YpxRwgP/1jAV/SBKTzeVKqN2mk7mLpcICsyn3Gl5+dIfDTJp70M0ccMhyMMRso4v6mPDCGepg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -3977,8 +3977,8 @@ packages:
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
engines: {node: '>=0.10.0'}
dompurify@3.4.14:
resolution: {integrity: sha512-dVoH9z+MY+C9IilgGCk3YfFqjLi3fChm2OiKJMzh6axrJ5qwxqWaZamgmHrpv22CN/KdbZJuGEGgfQoL00LTdg==}
dompurify@3.4.16:
resolution: {integrity: sha512-sqo+pNp3qRhCIpbgRi1y8Tgk27Bo2Ry7w0dC1NBeNTdZChWjz9Xb/KOoZbRP/R6pQZ80Qw8YhXw13hWWBbMRnQ==}
dot-prop@6.0.1:
resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
@@ -4105,8 +4105,8 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
eslint-config-next@16.3.5:
resolution: {integrity: sha512-wPjq9MLQuWykHs8tsm2gH6OJThk6N27L8Te2JatlaGZ7jT1gtgGmJKukygL28xOlWsg5J1a1bGy/PvLyQC8OYA==}
eslint-config-next@16.3.6:
resolution: {integrity: sha512-1Upt3U7BDwU+ilpe2byZjAfts9oNq4d4fv/zXEvs8/4yS+cwOQW/WCxUNy8gCDquX67SzeehDvKblVC6ZBMocQ==}
peerDependencies:
eslint: '>=9.0.0'
typescript: '>=3.3.1'
@@ -4328,8 +4328,8 @@ packages:
fast-string-width@3.0.2:
resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==}
fast-uri@3.1.6:
resolution: {integrity: sha512-7Ical1vFEMr0onbVzEDIreM22I4khW+fzyQPwvAFWBp1iwdshSZRsL4jjRvPG9JP1uiqMHRto+YU6R2/CzDz5Q==}
fast-uri@3.1.8:
resolution: {integrity: sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==}
fast-wrap-ansi@0.2.2:
resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==}
@@ -4660,8 +4660,8 @@ packages:
iobuffer@5.4.0:
resolution: {integrity: sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA==}
ip-address@10.5.0:
resolution: {integrity: sha512-R5SnVLJmgYYvf2F2ZgwSBnelz5G4q5AxIC277GDfUaNbrZKNANcBC7RHqYYePlszf4kBolVkJauG0ZjHHFh55g==}
ip-address@10.7.2:
resolution: {integrity: sha512-7H/2gFSIitxc0hG3nOI1glS8QLo/EHBFFLk8vEUjXY/xu0AdL8jZ9U1IzO2PUm0d2D/ofQcAifb0g6OBkt8U7w==}
engines: {node: '>= 12'}
ipaddr.js@1.9.1:
@@ -5351,8 +5351,8 @@ packages:
react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
next@16.3.4:
resolution: {integrity: sha512-/Ztf6CeRH+ejEXUrYtqI4gkS66eFIHuSwqi60RgcpWKodxFZx2/dqVCMKBwILfAHXQ+F1b1vAudgj3mnxqtoIA==}
next@16.3.6:
resolution: {integrity: sha512-L+otWM/aQbYTx98aZhgEoMb4bZAXx1YVW4UMA/vuCyCoWG5HJyZUili8QAkqzrcC+5///tsz3s0M+SlyB5bLMw==}
engines: {node: '>=20.9.0'}
hasBin: true
peerDependencies:
@@ -7989,37 +7989,37 @@ snapshots:
- bufferutil
- utf-8-validate
'@next/env@16.3.4': {}
'@next/env@16.3.6': {}
'@next/eslint-plugin-next@16.3.5(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))':
'@next/eslint-plugin-next@16.3.6(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))':
dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))
fast-glob: 3.3.1
transitivePeerDependencies:
- eslint
'@next/swc-darwin-arm64@16.3.4':
'@next/swc-darwin-arm64@16.3.6':
optional: true
'@next/swc-darwin-x64@16.3.4':
'@next/swc-darwin-x64@16.3.6':
optional: true
'@next/swc-linux-arm64-gnu@16.3.4':
'@next/swc-linux-arm64-gnu@16.3.6':
optional: true
'@next/swc-linux-arm64-musl@16.3.4':
'@next/swc-linux-arm64-musl@16.3.6':
optional: true
'@next/swc-linux-x64-gnu@16.3.4':
'@next/swc-linux-x64-gnu@16.3.6':
optional: true
'@next/swc-linux-x64-musl@16.3.4':
'@next/swc-linux-x64-musl@16.3.6':
optional: true
'@next/swc-win32-arm64-msvc@16.3.4':
'@next/swc-win32-arm64-msvc@16.3.6':
optional: true
'@next/swc-win32-x64-msvc@16.3.4':
'@next/swc-win32-x64-msvc@16.3.6':
optional: true
'@noble/hashes@2.2.0': {}
@@ -10052,7 +10052,7 @@ snapshots:
ajv@8.20.0:
dependencies:
fast-deep-equal: 3.1.3
fast-uri: 3.1.6
fast-uri: 3.1.8
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
@@ -10727,7 +10727,7 @@ snapshots:
dependencies:
esutils: 2.0.3
dompurify@3.4.14:
dompurify@3.4.16:
optionalDependencies:
'@types/trusted-types': 2.0.7
optional: true
@@ -10916,9 +10916,9 @@ snapshots:
escape-string-regexp@4.0.0: {}
eslint-config-next@16.3.5(@typescript-eslint/parser@8.70.0(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3):
eslint-config-next@16.3.6(@typescript-eslint/parser@8.70.0(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3):
dependencies:
'@next/eslint-plugin-next': 16.3.5(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))
'@next/eslint-plugin-next': 16.3.6(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))
eslint: 9.39.3(jiti@2.7.0)(supports-color@7.2.0)
eslint-import-resolver-node: 0.3.10(supports-color@7.2.0)
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.3(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)
@@ -11180,7 +11180,7 @@ snapshots:
dependencies:
debug: 4.4.3(supports-color@7.2.0)
express: 5.2.1(supports-color@7.2.0)
ip-address: 10.5.0
ip-address: 10.7.2
transitivePeerDependencies:
- supports-color
@@ -11269,7 +11269,7 @@ snapshots:
fast-string-truncated-width: 3.0.3
optional: true
fast-uri@3.1.6: {}
fast-uri@3.1.8: {}
fast-wrap-ansi@0.2.2:
dependencies:
@@ -11592,7 +11592,7 @@ snapshots:
iobuffer@5.4.0: {}
ip-address@10.5.0: {}
ip-address@10.7.2: {}
ipaddr.js@1.9.1: {}
@@ -11864,7 +11864,7 @@ snapshots:
optionalDependencies:
canvg: 3.0.11
core-js: 3.49.0
dompurify: 3.4.14
dompurify: 3.4.16
html2canvas: 1.4.1
jsx-ast-utils@3.3.5:
@@ -12209,9 +12209,9 @@ snapshots:
react: 19.3.0
react-dom: 19.3.0(react@19.3.0)
next@16.3.4(@babel/core@7.29.7(supports-color@7.2.0))(@playwright/test@1.63.0)(@types/node@26.6.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0):
next@16.3.6(@babel/core@7.29.7(supports-color@7.2.0))(@playwright/test@1.63.0)(@types/node@26.6.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0):
dependencies:
'@next/env': 16.3.4
'@next/env': 16.3.6
'@swc/helpers': 0.5.23
baseline-browser-mapping: 2.11.11
caniuse-lite: 1.0.30001806
@@ -12220,14 +12220,14 @@ snapshots:
react-dom: 19.3.0(react@19.3.0)
styled-jsx: 5.1.6(@babel/core@7.29.7(supports-color@7.2.0))(react@19.3.0)
optionalDependencies:
'@next/swc-darwin-arm64': 16.3.4
'@next/swc-darwin-x64': 16.3.4
'@next/swc-linux-arm64-gnu': 16.3.4
'@next/swc-linux-arm64-musl': 16.3.4
'@next/swc-linux-x64-gnu': 16.3.4
'@next/swc-linux-x64-musl': 16.3.4
'@next/swc-win32-arm64-msvc': 16.3.4
'@next/swc-win32-x64-msvc': 16.3.4
'@next/swc-darwin-arm64': 16.3.6
'@next/swc-darwin-x64': 16.3.6
'@next/swc-linux-arm64-gnu': 16.3.6
'@next/swc-linux-arm64-musl': 16.3.6
'@next/swc-linux-x64-gnu': 16.3.6
'@next/swc-linux-x64-musl': 16.3.6
'@next/swc-win32-arm64-msvc': 16.3.6
'@next/swc-win32-x64-msvc': 16.3.6
'@playwright/test': 1.63.0
sharp: 0.35.4(@types/node@26.6.2)
transitivePeerDependencies:
+7 -3
View File
@@ -11,7 +11,8 @@ overrides:
# GHSA-55q2-fjhq-7xh7: a crafted document gets past the sanitiser and its
# markup survives into the output. The copy here is jspdf's optional HTML
# renderer, which the doctor-report PDF path reaches.
"dompurify@<3.4.13": "^3.4.13"
# A later advisory against 3.4.13 to 3.4.15 raised the floor to 3.4.16.
"dompurify@<3.4.16": "^3.4.16"
# CVE-2026-69153. Next declares an exact `postcss@8.4.31`, so nothing except
# this bound moves it. The build has run on the 8.5 line since the first
# bump; the fix landed in 8.5.23.
@@ -33,7 +34,9 @@ overrides:
# forgery through percent-encoded schemes, skipped IDN canonicalisation and
# malformed authorities. It arrives under ajv, including the connector SDK's
# copy, so it sits on a path this app exposes.
"fast-uri@<3.1.6": "^3.1.6"
# Authority injection through an unvalidated port in serialize, and a
# follow-up fixed in 3.1.8, raised the floor from 3.1.6.
"fast-uri@<3.1.8": "^3.1.8"
"flatted@<3.4.2": "^3.4.2"
# GHSA-3f6p-5ww8-9rcr: auth-plugin downgrade leaking plaintext credentials.
# Reached only through prisma's MySQL driver, which this app never opens;
@@ -47,7 +50,8 @@ overrides:
# 10.0.0.1 rather than being rejected. That is the exact alt-notation class
# `isPublicUrl` exists to catch, and this copy arrives under the MCP SDK's
# rate limiter where nothing of ours screens it.
"ip-address@<10.3.1": "^10.3.1"
# Later advisories up to 10.7.0 raised the floor from 10.3.1 to 10.7.1.
"ip-address@<10.7.1": "^10.7.1"
"sharp@<0.35.0": "^0.35.3"
# A crafted PDF could run arbitrary JavaScript through the renderer. Our own
# copy is pinned past it in `devDependencies`, but a second copy arrives