From bc50dd54a2b2a4c122cad68b50de249e77a915e6 Mon Sep 17 00:00:00 2001 From: Kevin Aleman Date: Mon, 29 Apr 2024 11:33:09 -0600 Subject: [PATCH] fix: `UserDataFiles` store uploads not proxied through server because of missing setting (#32182) --- .changeset/lazy-gorilas-shop.md | 6 ++++++ apps/meteor/server/settings/file-upload.ts | 21 +++++++++++++++++++++ packages/i18n/src/locales/en.i18n.json | 6 ++++++ 3 files changed, 33 insertions(+) create mode 100644 .changeset/lazy-gorilas-shop.md diff --git a/.changeset/lazy-gorilas-shop.md b/.changeset/lazy-gorilas-shop.md new file mode 100644 index 000000000000..c71610f703fc --- /dev/null +++ b/.changeset/lazy-gorilas-shop.md @@ -0,0 +1,6 @@ +--- +"@rocket.chat/meteor": patch +"@rocket.chat/i18n": patch +--- + +Fixed an issue with object storage settings that was not allowing admins to decide if files generated via "Export conversation" feature were being proxied through server or not. diff --git a/apps/meteor/server/settings/file-upload.ts b/apps/meteor/server/settings/file-upload.ts index 4be9dfd117a7..76e788cda0e2 100644 --- a/apps/meteor/server/settings/file-upload.ts +++ b/apps/meteor/server/settings/file-upload.ts @@ -187,6 +187,13 @@ export const createFileUploadSettings = () => value: 'AmazonS3', }, }); + await this.add('FileUpload_S3_Proxy_UserDataFiles', false, { + type: 'boolean', + enableQuery: { + _id: 'FileUpload_Storage_Type', + value: 'AmazonS3', + }, + }); }); await this.section('Google Cloud Storage', async function () { @@ -244,6 +251,13 @@ export const createFileUploadSettings = () => value: 'GoogleCloudStorage', }, }); + await this.add('FileUpload_GoogleStorage_Proxy_UserDataFiles', false, { + type: 'boolean', + enableQuery: { + _id: 'FileUpload_Storage_Type', + value: 'GoogleCloudStorage', + }, + }); }); await this.section('File System', async function () { @@ -302,6 +316,13 @@ export const createFileUploadSettings = () => value: 'Webdav', }, }); + await this.add('FileUpload_Webdav_Proxy_UserDataFiles', false, { + type: 'boolean', + enableQuery: { + _id: 'FileUpload_Storage_Type', + value: 'Webdav', + }, + }); }); await this.add('FileUpload_Enabled_Direct', true, { diff --git a/packages/i18n/src/locales/en.i18n.json b/packages/i18n/src/locales/en.i18n.json index 24fb91023e1a..5ac14f5a3b6b 100644 --- a/packages/i18n/src/locales/en.i18n.json +++ b/packages/i18n/src/locales/en.i18n.json @@ -2360,6 +2360,8 @@ "FileUpload_GoogleStorage_Proxy_Uploads": "Proxy Uploads", "FileUpload_GoogleStorage_Proxy_Uploads_Description": "Proxy upload file transmissions through your server instead of direct access to the asset's URL", "FileUpload_GoogleStorage_Secret": "Google Storage Secret", + "FileUpload_GoogleStorage_Proxy_UserDataFiles": "Proxy User Data Files", + "FileUpload_GoogleStorage_Proxy_UserDataFiles_Description": "Proxy user data file transmissions through your server instead of direct access to the asset's URL", "FileUpload_GoogleStorage_Secret_Description": "Please follow [these instructions](https://github.com/CulturalMe/meteor-slingshot#google-cloud) and paste the result here.", "FileUpload_json_web_token_secret_for_files": "File Upload Json Web Token Secret", "FileUpload_json_web_token_secret_for_files_description": "File Upload Json Web Token Secret (Used to be able to access uploaded files without authentication)", @@ -2390,6 +2392,8 @@ "FileUpload_S3_Proxy_Avatars_Description": "Proxy avatar file transmissions through your server instead of direct access to the asset's URL", "FileUpload_S3_Proxy_Uploads": "Proxy Uploads", "FileUpload_S3_Proxy_Uploads_Description": "Proxy upload file transmissions through your server instead of direct access to the asset's URL", + "FileUpload_S3_Proxy_UserDataFiles": "Proxy User Data Files", + "FileUpload_S3_Proxy_UserDataFiles_Description": "Proxy user data file transmissions through your server instead of direct access to the asset's URL", "Hold_Call_EE_only": "Hold Call (Enterprise Edition only)", "FileUpload_S3_Region": "Region", "FileUpload_S3_SignatureVersion": "Signature Version", @@ -2401,6 +2405,8 @@ "FileUpload_Webdav_Proxy_Avatars_Description": "Proxy avatar file transmissions through your server instead of direct access to the asset's URL", "FileUpload_Webdav_Proxy_Uploads": "Proxy Uploads", "FileUpload_Webdav_Proxy_Uploads_Description": "Proxy upload file transmissions through your server instead of direct access to the asset's URL", + "FileUpload_Webdav_Proxy_UserDataFiles": "Proxy User Data Files", + "FileUpload_Webdav_Proxy_UserDataFiles_Description": "Proxy user data file transmissions through your server instead of direct access to the asset's URL", "FileUpload_Webdav_Server_URL": "WebDAV Server Access URL", "FileUpload_Webdav_Upload_Folder_Path": "Upload Folder Path", "FileUpload_Webdav_Upload_Folder_Path_Description": "WebDAV folder path which the files should be uploaded to",