diff --git a/app/images/avatar-missing.png b/app/images/avatar-missing.png
index b3e6b5709..6de33a5a4 100644
Binary files a/app/images/avatar-missing.png and b/app/images/avatar-missing.png differ
diff --git a/app/images/avatar-missing.svg b/app/images/avatar-missing.svg
index 7eb156089..d5833c90c 100644
--- a/app/images/avatar-missing.svg
+++ b/app/images/avatar-missing.svg
@@ -1,116 +1,30 @@
+ xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml
diff --git a/app/images/header-missing.png b/app/images/header-missing.png
new file mode 100644
index 000000000..26b59e75a
Binary files /dev/null and b/app/images/header-missing.png differ
diff --git a/app/soapbox/normalizers/__tests__/account-test.js b/app/soapbox/normalizers/__tests__/account-test.js
index c52f86bd2..cbe45419f 100644
--- a/app/soapbox/normalizers/__tests__/account-test.js
+++ b/app/soapbox/normalizers/__tests__/account-test.js
@@ -3,6 +3,7 @@ import { Record as ImmutableRecord, fromJS } from 'immutable';
import { normalizeAccount } from '../account';
const AVATAR_MISSING = require('images/avatar-missing.png');
+const HEADER_MISSING = require('images/header-missing.png');
describe('normalizeAccount()', () => {
it('adds base fields', () => {
@@ -13,6 +14,7 @@ describe('normalizeAccount()', () => {
expect(result.acct).toEqual('');
expect(result.note).toEqual('');
expect(result.avatar).toEqual(AVATAR_MISSING);
+ expect(result.header_static).toEqual(HEADER_MISSING);
});
it('normalizes a mention', () => {
@@ -149,4 +151,14 @@ describe('normalizeAccount()', () => {
expect(field.value_emojified).toBe('https://soapbox.pub
');
expect(field.value_plain).toBe('https://soapbox.pub :soapbox:');
});
+
+ it('adds default avatar and banner to GoToSocial account', () => {
+ const account = require('soapbox/__fixtures__/gotosocial-account.json');
+ const result = normalizeAccount(account);
+
+ expect(result.avatar).toEqual(AVATAR_MISSING);
+ expect(result.avatar_static).toEqual(AVATAR_MISSING);
+ expect(result.header).toEqual(HEADER_MISSING);
+ expect(result.header_static).toEqual(HEADER_MISSING);
+ });
});
diff --git a/app/soapbox/normalizers/account.ts b/app/soapbox/normalizers/account.ts
index f85bcb924..a96c9ad2d 100644
--- a/app/soapbox/normalizers/account.ts
+++ b/app/soapbox/normalizers/account.ts
@@ -97,6 +97,18 @@ const normalizeAvatar = (account: ImmutableMap) => {
});
};
+// Add header, if missing
+const normalizeHeader = (account: ImmutableMap) => {
+ const header = account.get('header');
+ const headerStatic = account.get('header_static');
+ const missing = require('images/header-missing.png');
+
+ return account.withMutations(account => {
+ account.set('header', header || headerStatic || missing);
+ account.set('header_static', headerStatic || header || missing);
+ });
+};
+
// Normalize custom fields
const normalizeFields = (account: ImmutableMap) => {
return account.update('fields', ImmutableList(), fields => fields.map(FieldRecord));
@@ -189,6 +201,7 @@ export const normalizeAccount = (account: Record): IAccount => {
normalizePleromaLegacyFields(account);
normalizeEmojis(account);
normalizeAvatar(account);
+ normalizeHeader(account);
normalizeFields(account);
normalizeVerified(account);
normalizeBirthday(account);