From 69712baa02726dde1c0bd3349cbd163a7683a64e Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Mon, 7 Feb 2022 11:50:05 -0600 Subject: [PATCH] Normalizer: normalize required account & status fields --- app/soapbox/actions/importer/normalizer.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/soapbox/actions/importer/normalizer.js b/app/soapbox/actions/importer/normalizer.js index 66524b556..0f3f2da6e 100644 --- a/app/soapbox/actions/importer/normalizer.js +++ b/app/soapbox/actions/importer/normalizer.js @@ -15,6 +15,11 @@ const makeEmojiMap = record => record.emojis.reduce((obj, emoji) => { export function normalizeAccount(account) { account = { ...account }; + // Some backends can return null, or omit these required fields + if (!account.emojis) account.emojis = []; + if (!account.display_name) account.display_name = ''; + if (!account.note) account.note = ''; + const emojiMap = makeEmojiMap(account); const displayName = account.display_name.trim().length === 0 ? account.username : account.display_name; @@ -41,6 +46,10 @@ export function normalizeAccount(account) { export function normalizeStatus(status, normalOldStatus, expandSpoilers) { const normalStatus = { ...status }; + // Some backends can return null, or omit these required fields + if (!normalStatus.emojis) normalStatus.emojis = []; + if (!normalStatus.spoiler_text) normalStatus.spoiler_text = ''; + // Copy the pleroma object too, so we can modify our copy if (status.pleroma) { normalStatus.pleroma = { ...status.pleroma };