Compare commits

..

2 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
f950b6f60b Fix empty .txt file uploads by preventing stream consumption
Co-authored-by: danielalves96 <62755605+danielalves96@users.noreply.github.com>
2025-10-21 14:29:00 +00:00
copilot-swe-agent[bot]
c19dc6d95e Initial plan 2025-10-21 14:18:19 +00:00
6 changed files with 9 additions and 23 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "palmr-docs",
"version": "3.2.5-beta",
"version": "3.2.4-beta",
"description": "Docs for Palmr",
"private": true,
"author": "Daniel Luiz Alves <daniel@kyantech.com.br>",

View File

@@ -1,6 +1,6 @@
{
"name": "palmr-api",
"version": "3.2.5-beta",
"version": "3.2.4-beta",
"description": "API for Palmr",
"private": true,
"author": "Daniel Luiz Alves <daniel@kyantech.com.br>",

View File

@@ -6,12 +6,12 @@ import { FilesystemController } from "./controller";
export async function filesystemRoutes(app: FastifyInstance) {
const filesystemController = new FilesystemController();
app.addContentTypeParser("*", async (request: FastifyRequest, payload: any) => {
return payload;
app.addContentTypeParser("*", (request: FastifyRequest, payload: any, done: any) => {
done(null, null);
});
app.addContentTypeParser("application/json", async (request: FastifyRequest, payload: any) => {
return payload;
app.addContentTypeParser("application/json", (request: FastifyRequest, payload: any, done: any) => {
done(null, null);
});
app.put(

View File

@@ -80,21 +80,7 @@ export class S3StorageProvider implements StorageProvider {
Key: objectName,
});
// Disable automatic checksum calculation for large file uploads
// This prevents the SDK from adding x-amz-checksum-* headers that may cause
// 400 Bad Request errors with S3-compatible providers like Wasabi for files > 10GB
// The unhoistableHeaders option prevents specific headers from being included in the presigned URL
return await getSignedUrl(s3Client, command, {
expiresIn: expires,
unhoistableHeaders: new Set([
"x-amz-checksum-crc32",
"x-amz-checksum-crc32c",
"x-amz-checksum-sha1",
"x-amz-checksum-sha256",
"x-amz-checksum-crc64nvme",
"x-amz-sdk-checksum-algorithm",
]),
});
return await getSignedUrl(s3Client, command, { expiresIn: expires });
}
async getPresignedGetUrl(objectName: string, expires: number, fileName?: string): Promise<string> {

View File

@@ -1,6 +1,6 @@
{
"name": "palmr-web",
"version": "3.2.5-beta",
"version": "3.2.4-beta",
"description": "Frontend for Palmr",
"private": true,
"author": "Daniel Luiz Alves <daniel@kyantech.com.br>",

View File

@@ -1,6 +1,6 @@
{
"name": "palmr-monorepo",
"version": "3.2.5-beta",
"version": "3.2.4-beta",
"description": "Palmr monorepo with Husky configuration",
"private": true,
"packageManager": "pnpm@10.6.0",