mirror of
https://github.com/misskey-dev/misskey.git
synced 2024-11-22 08:59:22 +01:00
fix(backend): Accept arrays in ActivityPub icon
and image
properties (#14825)
This is allowed according to the Activity vocabulary: https://www.w3.org/TR/activitystreams-vocabulary/#dfn-icon The issue is noticeable in combination with Bridgy Fed: https://github.com/snarfed/bridgy-fed/issues/1408
This commit is contained in:
parent
0472d43ee9
commit
8eb7749e44
1 changed files with 6 additions and 0 deletions
|
@ -232,6 +232,12 @@ export class ApPersonService implements OnModuleInit {
|
||||||
if (user == null) throw new Error('failed to create user: user is null');
|
if (user == null) throw new Error('failed to create user: user is null');
|
||||||
|
|
||||||
const [avatar, banner] = await Promise.all([icon, image].map(img => {
|
const [avatar, banner] = await Promise.all([icon, image].map(img => {
|
||||||
|
// icon and image may be arrays
|
||||||
|
// see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-icon
|
||||||
|
if (Array.isArray(img)) {
|
||||||
|
img = img.find(item => item && item.url) ?? null;
|
||||||
|
}
|
||||||
|
|
||||||
// if we have an explicitly missing image, return an
|
// if we have an explicitly missing image, return an
|
||||||
// explicitly-null set of values
|
// explicitly-null set of values
|
||||||
if ((img == null) || (typeof img === 'object' && img.url == null)) {
|
if ((img == null) || (typeof img === 'object' && img.url == null)) {
|
||||||
|
|
Loading…
Reference in a new issue