From 5de77871ec00bf390c05a2111885b43dbc3eff78 Mon Sep 17 00:00:00 2001 From: Leah Date: Tue, 4 Feb 2025 15:17:46 +0100 Subject: [PATCH] maybe fixed listenbrainz? --- packages/backend/src/core/activitypub/ApRendererService.ts | 4 ++++ packages/backend/src/core/activitypub/misc/contexts.ts | 3 +++ .../backend/src/core/activitypub/models/ApPersonService.ts | 2 ++ packages/backend/src/core/activitypub/type.ts | 1 + 4 files changed, 10 insertions(+) diff --git a/packages/backend/src/core/activitypub/ApRendererService.ts b/packages/backend/src/core/activitypub/ApRendererService.ts index 40d06b3ae..f982a1ebe 100644 --- a/packages/backend/src/core/activitypub/ApRendererService.ts +++ b/packages/backend/src/core/activitypub/ApRendererService.ts @@ -537,6 +537,10 @@ export class ApRendererService { person['vcard:Address'] = profile.location; } + if (profile.listenbrainz) { + person.listenbrainz = profile.listenbrainz; + } + return person; } diff --git a/packages/backend/src/core/activitypub/misc/contexts.ts b/packages/backend/src/core/activitypub/misc/contexts.ts index 653fcdcb8..c7b35bba7 100644 --- a/packages/backend/src/core/activitypub/misc/contexts.ts +++ b/packages/backend/src/core/activitypub/misc/contexts.ts @@ -553,6 +553,9 @@ export const CONTEXTS: (string | Context)[] = [ '_misskey_votes': 'misskey:_misskey_votes', '_misskey_summary': 'misskey:_misskey_summary', 'isCat': 'misskey:isCat', + + sharkey: 'https://joinsharkey.org/ns#', + listenbrainz: 'sharkey:listenbrainz', // vcard vcard: 'http://www.w3.org/2006/vcard/ns#', } satisfies Context, diff --git a/packages/backend/src/core/activitypub/models/ApPersonService.ts b/packages/backend/src/core/activitypub/models/ApPersonService.ts index a4d0ef60d..f67cb10d7 100644 --- a/packages/backend/src/core/activitypub/models/ApPersonService.ts +++ b/packages/backend/src/core/activitypub/models/ApPersonService.ts @@ -410,6 +410,7 @@ export class ApPersonService implements OnModuleInit { birthday: bday?.[0] ?? null, location: person['vcard:Address'] ?? null, userHost: host, + listenbrainz: person.listenbrainz ?? null, })); if (person.publicKey) { @@ -615,6 +616,7 @@ export class ApPersonService implements OnModuleInit { followersVisibility, birthday: bday?.[0] ?? null, location: person['vcard:Address'] ?? null, + listenbrainz: person.listenbrainz ?? null, }); this.globalEventService.publishInternalEvent('remoteUserUpdated', { id: exist.id }); diff --git a/packages/backend/src/core/activitypub/type.ts b/packages/backend/src/core/activitypub/type.ts index 16812b7a4..d8baba49a 100644 --- a/packages/backend/src/core/activitypub/type.ts +++ b/packages/backend/src/core/activitypub/type.ts @@ -191,6 +191,7 @@ export interface IActor extends IObject { }; 'vcard:bday'?: string; 'vcard:Address'?: string; + listenbrainz?: string; } export const isCollection = (object: IObject): object is ICollection =>