Patch CVEs in frontend dependencies

This commit is contained in:
Anthony Stirling
2026-06-25 10:33:44 +01:00
parent 501a7199e0
commit a2aa43d71c
8 changed files with 463 additions and 1184 deletions
@@ -269,14 +269,12 @@ export function FileSelectorPicker({
skipAuthRedirect: true,
} as any,
);
const ct =
res.headers?.["content-type"] ||
const ct = (res.headers?.["content-type"] ||
res.headers?.["Content-Type"] ||
"";
const disp =
res.headers?.["content-disposition"] ||
"") as string;
const disp = (res.headers?.["content-disposition"] ||
res.headers?.["Content-Disposition"] ||
"";
"") as string;
const files = await extractLatestFilesFromBundle(
res.data as Blob,
parseContentDispositionFilename(disp) || "shared-file",
@@ -293,14 +291,12 @@ export function FileSelectorPicker({
skipAuthRedirect: true,
} as any,
);
const ct =
res.headers?.["content-type"] ||
const ct = (res.headers?.["content-type"] ||
res.headers?.["Content-Type"] ||
"";
const disp =
res.headers?.["content-disposition"] ||
"") as string;
const disp = (res.headers?.["content-disposition"] ||
res.headers?.["Content-Disposition"] ||
"";
"") as string;
const files = await extractLatestFilesFromBundle(
res.data as Blob,
parseContentDispositionFilename(disp) || stub.name,
@@ -1002,16 +1002,14 @@ export const FileManagerProvider: React.FC<FileManagerProviderProps> = ({
skipAuthRedirect: true,
} as any,
);
const contentType =
(response.headers &&
(response.headers["content-type"] ||
response.headers["Content-Type"])) ||
"";
const disposition =
(response.headers &&
(response.headers["content-disposition"] ||
response.headers["Content-Disposition"])) ||
"";
const contentType = ((response.headers &&
(response.headers["content-type"] ||
response.headers["Content-Type"])) ||
"") as string;
const disposition = ((response.headers &&
(response.headers["content-disposition"] ||
response.headers["Content-Disposition"])) ||
"") as string;
const filename =
parseContentDispositionFilename(disposition) ||
file.name ||
@@ -184,16 +184,14 @@ export const FilesModalProvider: React.FC<{ children: React.ReactNode }> = ({
skipAuthRedirect: true,
} as any,
);
const contentType =
(response.headers &&
(response.headers["content-type"] ||
response.headers["Content-Type"])) ||
"";
const disposition =
(response.headers &&
(response.headers["content-disposition"] ||
response.headers["Content-Disposition"])) ||
"";
const contentType = ((response.headers &&
(response.headers["content-type"] ||
response.headers["Content-Type"])) ||
"") as string;
const disposition = ((response.headers &&
(response.headers["content-disposition"] ||
response.headers["Content-Disposition"])) ||
"") as string;
const filename =
parseContentDispositionFilename(disposition) || "server-file";
const blob = response.data as Blob;
@@ -210,16 +208,14 @@ export const FilesModalProvider: React.FC<{ children: React.ReactNode }> = ({
skipAuthRedirect: true,
} as any,
);
const contentType =
(response.headers &&
(response.headers["content-type"] ||
response.headers["Content-Type"])) ||
"";
const disposition =
(response.headers &&
(response.headers["content-disposition"] ||
response.headers["Content-Disposition"])) ||
"";
const contentType = ((response.headers &&
(response.headers["content-type"] ||
response.headers["Content-Type"])) ||
"") as string;
const disposition = ((response.headers &&
(response.headers["content-disposition"] ||
response.headers["Content-Disposition"])) ||
"") as string;
const filename =
parseContentDispositionFilename(disposition) || "shared-file";
const blob = response.data as Blob;
@@ -166,7 +166,7 @@ class SignatureStorageService {
// Convert to data URL (base64) for both display and use
const blob = new Blob([imageResponse.data], {
type: imageResponse.headers["content-type"] || "image/png",
type: (imageResponse.headers["content-type"] as string) || "image/png",
});
const dataUrl = await new Promise<string>((resolve, reject) => {
@@ -78,16 +78,14 @@ export default function ShareLinkLoader({ token }: ShareLinkLoaderProps) {
);
if (signal.aborted) return;
const contentType =
(response.headers &&
(response.headers["content-type"] ||
response.headers["Content-Type"])) ||
"";
const disposition =
(response.headers &&
(response.headers["content-disposition"] ||
response.headers["Content-Disposition"])) ||
"";
const contentType = ((response.headers &&
(response.headers["content-type"] ||
response.headers["Content-Type"])) ||
"") as string;
const disposition = ((response.headers &&
(response.headers["content-disposition"] ||
response.headers["Content-Disposition"])) ||
"") as string;
const filename =
parseContentDispositionFilename(disposition) || "shared-file";
const blob = response.data as Blob;
@@ -44,15 +44,13 @@ export async function downloadShareLink(token: string): Promise<{
suppressErrorToast: true,
skipAuthRedirect: true,
});
const contentType =
(response.headers &&
(response.headers["content-type"] || response.headers["Content-Type"])) ||
"";
const disposition =
(response.headers &&
(response.headers["content-disposition"] ||
response.headers["Content-Disposition"])) ||
"";
const contentType = ((response.headers &&
(response.headers["content-type"] || response.headers["Content-Type"])) ||
"") as string;
const disposition = ((response.headers &&
(response.headers["content-disposition"] ||
response.headers["Content-Disposition"])) ||
"") as string;
const filename =
parseContentDispositionFilename(disposition) || "shared-file";
const blob = response.data as Blob;
+406 -1118
View File
File diff suppressed because it is too large Load Diff
+9 -4
View File
@@ -65,7 +65,7 @@
"pdfjs-dist": "^5.4.149",
"peerjs": "^1.5.5",
"pixelmatch": "^7.1.0",
"posthog-js": "^1.268.0",
"posthog-js": "^1.393.4",
"qrcode.react": "^4.2.0",
"react": "^19.1.1",
"react-dom": "^19.1.1",
@@ -130,7 +130,7 @@
"@typescript-eslint/eslint-plugin": "^8.61.1",
"@typescript-eslint/parser": "^8.61.1",
"@vitejs/plugin-react-swc": "^4.1.0",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/coverage-v8": "^3.2.6",
"dotenv": "^16.4.7",
"dpdm": "^3.14.0",
"eslint": "^10.0.2",
@@ -154,7 +154,7 @@
"vite-plugin-compression2": "^2.5.3",
"vite-plugin-static-copy": "^3.1.4",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^3.2.4"
"vitest": "^3.2.6"
},
"depcheck": {
"ignoreMatches": [
@@ -168,7 +168,12 @@
"devalue": "^5.8.1",
"tsconfck": {
"typescript": "$typescript"
}
},
"form-data": "^4.0.6",
"protobufjs": "^7.6.3",
"esbuild": "^0.28.1",
"brace-expansion": "^5.0.6",
"@babel/core": "^7.29.6"
},
"msw": {
"workerDirectory": [