fix: raise Files group upload cap 20 MiB -> 2 GiB (api + web)
The Files tab dropzone still enforced the old 20 MiB cap client- and server-side while every other path had moved to 2 GiB. Also corrects the stale '100 MiB' message on the video upload rejection.
This commit is contained in:
parent
ef8d28bc26
commit
613aba236b
4 changed files with 11 additions and 10 deletions
|
|
@ -7,7 +7,7 @@ import { GroupFilesService, type FilePage } from "./group-files.service.js";
|
|||
import type { GroupFile } from "@tactical-media-broadcast-hub/core";
|
||||
import { verifyWhileStreaming } from "./ocis-webdav.js";
|
||||
|
||||
const MAX_FILE_UPLOAD_BYTES = 20 * 1024 * 1024;
|
||||
const MAX_FILE_UPLOAD_BYTES = 2 * 1024 * 1024 * 1024;
|
||||
|
||||
interface FileUpload {
|
||||
buffer: Buffer;
|
||||
|
|
@ -20,7 +20,7 @@ interface FileUpload {
|
|||
*
|
||||
* GET /files list/search, keyset (groupId, senderMxid,
|
||||
* mimeClass, origin, name, from, to, cursor, limit)
|
||||
* POST /files/groups/:groupId/upload direct web upload (≤20 MiB, multipart)
|
||||
* POST /files/groups/:groupId/upload direct web upload (≤2 GiB, multipart)
|
||||
* GET /files/:id one GroupFile
|
||||
* GET /files/:id/download stream payload (sha256 re-verified)
|
||||
* POST /files/:id/retention set retention (keep/until/legalHold)
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ export class OcisWebdavClient {
|
|||
async upload(groupId: string, safeName: string, body: Readable, contentType: string): Promise<OcisUploadResult> {
|
||||
await this.ensureGroupFolder(groupId);
|
||||
// reva rejects chunked PUTs, so the source drains into a bounded buffer
|
||||
// (the upload cap is 20 MiB) and goes out with an explicit content-length.
|
||||
// (the upload cap is 2 GiB) and goes out with an explicit content-length.
|
||||
const hash = createHash("sha256");
|
||||
const chunks: Buffer[] = [];
|
||||
let sizeBytes = 0;
|
||||
|
|
|
|||
|
|
@ -453,7 +453,7 @@ function validateUpload(storageKey: string, mimeType: string, sizeBytes: number)
|
|||
if (!Number.isSafeInteger(sizeBytes) || sizeBytes < 1) {
|
||||
throw new BadRequestException("sizeBytes must be a positive safe integer");
|
||||
}
|
||||
if (sizeBytes > MAX_VIDEO_UPLOAD_BYTES) throw new BadRequestException("video exceeds the 100 MiB upload limit");
|
||||
if (sizeBytes > MAX_VIDEO_UPLOAD_BYTES) throw new BadRequestException("video exceeds the 2 GiB upload limit");
|
||||
}
|
||||
|
||||
function requiredRow(row: unknown, description: string): Record<string, unknown> {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue