mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-18 05:25:40 +09:00
fix(media): stream large files and honour size settings (#3387)
This commit is contained in:
1 parent
6acd7f3d22
commit
45b78a13c2
97 files changed
+2547
-409
No files matched your search
+6
-6
@@ -6,10 +6,10 @@ import {
|
||||
ANIMATED_AVATAR_FORMATS,
|
||||
ANIMATED_IMAGE_FORMATS,
|
||||
AVATAR_RECOMMENDED_SIZE_LABEL,
|
||||
IMAGE_MAX_SIZE_BYTES,
|
||||
STATIC_IMAGE_FORMATS,
|
||||
} from '@app/features/app/config/I18nDisplayConstants';
|
||||
import RuntimeConfig from '@app/features/app/state/RuntimeConfig';
|
||||
import {GlobalLimits} from '@app/features/app/utils/GlobalLimits';
|
||||
import {LimitResolver} from '@app/features/app/utils/LimitResolverAdapter';
|
||||
import {isLimitToggleEnabled} from '@app/features/app/utils/LimitUtils';
|
||||
import type {Gif} from '@app/features/expressions/commands/GifCommands';
|
||||
@@ -163,11 +163,11 @@ export const AvatarUploader = observer(
|
||||
);
|
||||
const processAvatarFile = useCallback(
|
||||
async (file: File) => {
|
||||
if (file.size > 10 * 1024 * 1024) {
|
||||
if (file.size > GlobalLimits.getAvatarMaxSize()) {
|
||||
showUserErrorModal(
|
||||
i18n._(COULDN_T_UPLOAD_AVATAR_DESCRIPTOR),
|
||||
i18n._(AVATAR_FILE_IS_TOO_LARGE_PLEASE_CHOOSE_A_DESCRIPTOR, {
|
||||
imageMaxSizeLabel: formatFileSize(i18n.locale, IMAGE_MAX_SIZE_BYTES),
|
||||
imageMaxSizeLabel: formatFileSize(i18n.locale, GlobalLimits.getAvatarMaxSize()),
|
||||
}),
|
||||
);
|
||||
return;
|
||||
@@ -308,13 +308,13 @@ export const AvatarUploader = observer(
|
||||
const uploadHint = canUploadAnimatedAvatar
|
||||
? formatImageUploadRecommendedHint(i18n, {
|
||||
formats: ANIMATED_IMAGE_FORMATS,
|
||||
maxSize: formatFileSize(i18n.locale, IMAGE_MAX_SIZE_BYTES),
|
||||
maxSize: formatFileSize(i18n.locale, GlobalLimits.getAvatarMaxSize()),
|
||||
recommendedSize: AVATAR_RECOMMENDED_SIZE_LABEL,
|
||||
})
|
||||
: shouldShowPremiumFeatures()
|
||||
? formatImageUploadRecommendedHintWithNote(i18n, {
|
||||
formats: STATIC_IMAGE_FORMATS,
|
||||
maxSize: formatFileSize(i18n.locale, IMAGE_MAX_SIZE_BYTES),
|
||||
maxSize: formatFileSize(i18n.locale, GlobalLimits.getAvatarMaxSize()),
|
||||
recommendedSize: AVATAR_RECOMMENDED_SIZE_LABEL,
|
||||
note: i18n._(ANIMATED_AVATARS_REQUIRE_PREMIUM_NOTE_DESCRIPTOR, {
|
||||
animatedAvatarFormats: ANIMATED_AVATAR_FORMATS,
|
||||
@@ -323,7 +323,7 @@ export const AvatarUploader = observer(
|
||||
})
|
||||
: formatImageUploadRecommendedHint(i18n, {
|
||||
formats: STATIC_IMAGE_FORMATS,
|
||||
maxSize: formatFileSize(i18n.locale, IMAGE_MAX_SIZE_BYTES),
|
||||
maxSize: formatFileSize(i18n.locale, GlobalLimits.getAvatarMaxSize()),
|
||||
recommendedSize: AVATAR_RECOMMENDED_SIZE_LABEL,
|
||||
});
|
||||
openAssetSourceModal({
|
||||
|
||||
+4
-4
@@ -5,8 +5,8 @@ import {
|
||||
ANIMATED_IMAGE_FORMATS,
|
||||
BANNER_ASPECT_RATIO_LABEL,
|
||||
BANNER_MINIMUM_SIZE_LABEL,
|
||||
IMAGE_MAX_SIZE_BYTES,
|
||||
} from '@app/features/app/config/I18nDisplayConstants';
|
||||
import {GlobalLimits} from '@app/features/app/utils/GlobalLimits';
|
||||
import {LimitResolver} from '@app/features/app/utils/LimitResolverAdapter';
|
||||
import {isLimitToggleEnabled} from '@app/features/app/utils/LimitUtils';
|
||||
import type {Gif} from '@app/features/expressions/commands/GifCommands';
|
||||
@@ -183,11 +183,11 @@ export const BannerUploader = observer(
|
||||
}, [i18n]);
|
||||
const processBannerFile = useCallback(
|
||||
async (file: File) => {
|
||||
if (file.size > 10 * 1024 * 1024) {
|
||||
if (file.size > GlobalLimits.getAvatarMaxSize()) {
|
||||
showUserErrorModal(
|
||||
i18n._(COULDN_T_UPLOAD_BANNER_DESCRIPTOR),
|
||||
i18n._(BANNER_FILE_IS_TOO_LARGE_PLEASE_CHOOSE_A_DESCRIPTOR, {
|
||||
imageMaxSizeLabel: formatFileSize(i18n.locale, IMAGE_MAX_SIZE_BYTES),
|
||||
imageMaxSizeLabel: formatFileSize(i18n.locale, GlobalLimits.getAvatarMaxSize()),
|
||||
}),
|
||||
);
|
||||
return;
|
||||
@@ -264,7 +264,7 @@ export const BannerUploader = observer(
|
||||
title: i18n._(CHANGE_BANNER_DESCRIPTOR),
|
||||
uploadHint: formatImageUploadMinimumHint(i18n, {
|
||||
formats: ANIMATED_IMAGE_FORMATS,
|
||||
maxSize: formatFileSize(i18n.locale, IMAGE_MAX_SIZE_BYTES),
|
||||
maxSize: formatFileSize(i18n.locale, GlobalLimits.getAvatarMaxSize()),
|
||||
minimumSize: BANNER_MINIMUM_SIZE_LABEL,
|
||||
aspectRatio: BANNER_ASPECT_RATIO_LABEL,
|
||||
}),
|
||||
|
||||
Reference in new issue
Block a user