fix(server): disable checksum check for r2 storage when using aws-s3 sdk (#9735)

This commit is contained in:
liuyi
2025-01-16 19:47:50 +08:00
committed by GitHub
parent 908afe19ee
commit 3828144849
4 changed files with 14 additions and 6 deletions
@@ -8,7 +8,7 @@ const SELF_HOST_CONFIG_DIR = '/root/.affine/config';
function generateConfigFile() {
const content = fs.readFileSync('./dist/config/affine.js', 'utf-8');
return content.replace(
/(^\/\/#.*$)|(^\/\/\s+TODO.*$)|("use\sstrict";?)|(^.*eslint-disable.*$)/gm,
/(^\/\/#.*$)|(^\/\/\s+TODO.*$)|("use\sstrict";?)|(^.*lint-disable.*$)/gm,
''
);
}
@@ -1,4 +1,4 @@
/* eslint-disable @typescript-eslint/no-non-null-assertion */
/* oxlint-disable @typescript-eslint/no-non-null-assertion */
// Custom configurations for AFFiNE Cloud
// ====================================================================================
// Q: WHY THIS FILE EXISTS?
@@ -31,6 +31,8 @@ if (env.R2_OBJECT_STORAGE_ACCOUNT_ID) {
accessKeyId: env.R2_OBJECT_STORAGE_ACCESS_KEY_ID!,
secretAccessKey: env.R2_OBJECT_STORAGE_SECRET_ACCESS_KEY!,
},
requestChecksumCalculation: 'WHEN_REQUIRED',
responseChecksumValidation: 'WHEN_REQUIRED',
});
AFFiNE.storages.avatar.provider = 'cloudflare-r2';
AFFiNE.storages.avatar.bucket = 'account-avatar';
+8 -4
View File
@@ -1,4 +1,3 @@
/* eslint-disable @typescript-eslint/no-non-null-assertion */
//
// ###############################################################
// ## AFFiNE Configuration System ##
@@ -99,9 +98,14 @@ AFFiNE.server.port = 3010;
// /* AWS S3 Plugin */
// /* Enable if you choose to store workspace blobs or user avatars in AWS S3 Storage Service */
// AFFiNE.use('aws-s3', {
// credentials: {
// accessKeyId: '',
// secretAccessKey: '',
// credentials: {
// accessKeyId: '',
// secretAccessKey: '',
// },
// /* Whether enable checksum calculation for request */
// /* see https://github.com/aws/aws-sdk-js-v3/issues/6810 */
// requestChecksumCalculation: 'WHEN_REQUIRED',
// responseChecksumValidation: 'WHEN_REQUIRED',
// })
// /* Update the provider of storages */
// AFFiNE.storages.blob.provider = 'cloudflare-r2';
+2
View File
@@ -18,6 +18,8 @@ export class WebpackS3Plugin implements WebpackPluginInstance {
accessKeyId: process.env.R2_ACCESS_KEY_ID!,
secretAccessKey: process.env.R2_SECRET_ACCESS_KEY!,
},
requestChecksumCalculation: 'WHEN_REQUIRED',
responseChecksumValidation: 'WHEN_REQUIRED',
});
apply(compiler: Compiler) {