From 01f0a6ca4fbb4d53c01f8be353a9ebfeb98f1739 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 21 Dec 2023 09:32:25 +0100 Subject: [PATCH] Fix profile setup showing default avatar in web UI (#28453) --- app/javascript/mastodon/features/onboarding/profile.jsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/javascript/mastodon/features/onboarding/profile.jsx b/app/javascript/mastodon/features/onboarding/profile.jsx index 09e6b2c6c69..daaef6065c6 100644 --- a/app/javascript/mastodon/features/onboarding/profile.jsx +++ b/app/javascript/mastodon/features/onboarding/profile.jsx @@ -26,6 +26,8 @@ const messages = defineMessages({ uploadAvatar: { id: 'onboarding.profile.upload_avatar', defaultMessage: 'Upload profile picture' }, }); +const nullIfMissing = path => path.endsWith('missing.png') ? null : path; + export const Profile = () => { const account = useAppSelector(state => state.getIn(['accounts', me])); const [displayName, setDisplayName] = useState(account.get('display_name')); @@ -61,8 +63,8 @@ export const Profile = () => { setHeader(e.target?.files?.[0]); }, [setHeader]); - const avatarPreview = useMemo(() => avatar ? URL.createObjectURL(avatar) : account.get('avatar'), [avatar, account]); - const headerPreview = useMemo(() => header ? URL.createObjectURL(header) : account.get('header'), [header, account]); + const avatarPreview = useMemo(() => avatar ? URL.createObjectURL(avatar) : nullIfMissing(account.get('avatar')), [avatar, account]); + const headerPreview = useMemo(() => header ? URL.createObjectURL(header) : nullIfMissing(account.get('header')), [header, account]); const handleSubmit = useCallback(() => { setIsSaving(true);