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')} - +