From e2b83fb7e79f9a7eec38a027bf64d07395bb4cba Mon Sep 17 00:00:00 2001 From: Matheus Barbosa Silva <36537004+matheusbsilva137@users.noreply.github.com> Date: Thu, 24 Mar 2022 16:07:38 -0300 Subject: [PATCH] [FIX] LDAP avatars being rotated according to metadata even if the setting to rotate uploads is off (#24320) Co-authored-by: Pierre Lehnen --- app/file-upload/server/lib/FileUpload.js | 4 +++- app/file-upload/server/startup/settings.ts | 1 + .../avatar/UserAvatarEditor/UserAvatarEditor.js | 14 +++++++++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/file-upload/server/lib/FileUpload.js b/app/file-upload/server/lib/FileUpload.js index e23537bbdb7..5bba041a6f2 100644 --- a/app/file-upload/server/lib/FileUpload.js +++ b/app/file-upload/server/lib/FileUpload.js @@ -229,7 +229,9 @@ export const FileUpload = { const future = new Future(); const s = sharp(tempFilePath); - s.rotate(); + if (settings.get('FileUpload_RotateImages') === true) { + s.rotate(); + } s.metadata( Meteor.bindEnvironment((err, metadata) => { diff --git a/app/file-upload/server/startup/settings.ts b/app/file-upload/server/startup/settings.ts index 9c0ee808de8..f55887f2599 100644 --- a/app/file-upload/server/startup/settings.ts +++ b/app/file-upload/server/startup/settings.ts @@ -32,6 +32,7 @@ settingsRegistry.addGroup('FileUpload', function () { this.add('FileUpload_RotateImages', true, { type: 'boolean', + public: true, }); this.add('FileUpload_Enable_json_web_token_for_files', true, { diff --git a/client/components/avatar/UserAvatarEditor/UserAvatarEditor.js b/client/components/avatar/UserAvatarEditor/UserAvatarEditor.js index 76b30f7df61..106d36ece21 100644 --- a/client/components/avatar/UserAvatarEditor/UserAvatarEditor.js +++ b/client/components/avatar/UserAvatarEditor/UserAvatarEditor.js @@ -1,6 +1,7 @@ import { Box, Button, Icon, TextInput, Margins, Avatar } from '@rocket.chat/fuselage'; import React, { useState, useCallback } from 'react'; +import { useSetting } from '../../../contexts/SettingsContext'; import { useToastMessageDispatch } from '../../../contexts/ToastMessagesContext'; import { useTranslation } from '../../../contexts/TranslationContext'; import { useFileInput } from '../../../hooks/useFileInput'; @@ -9,6 +10,7 @@ import UserAvatarSuggestions from './UserAvatarSuggestions'; function UserAvatarEditor({ currentUsername, username, setAvatarObj, suggestions, disabled, etag }) { const t = useTranslation(); + const rotateImages = useSetting('FileUpload_RotateImages'); const [avatarFromUrl, setAvatarFromUrl] = useState(''); const [newAvatarSource, setNewAvatarSource] = useState(); const [urlEmpty, setUrlEmpty] = useState(true); @@ -58,7 +60,17 @@ function UserAvatarEditor({ currentUsername, username, setAvatarObj, suggestions {t('Profile_picture')} - +