diff options
| author | Marie <github@yuugi.dev> | 2025-01-29 15:38:32 +0000 |
|---|---|---|
| committer | Marie <github@yuugi.dev> | 2025-01-29 15:38:32 +0000 |
| commit | 2d0bd012aea7e69344a40f175a55e03f61bf2696 (patch) | |
| tree | b4203368f28abb9eacb05db2d8823c046491ef99 | |
| parent | merge: tooling: fix "cannot find module eslint" error when running "build-mis... (diff) | |
| parent | handle null values for `discoverable` property (diff) | |
| download | sharkey-2d0bd012aea7e69344a40f175a55e03f61bf2696.tar.gz sharkey-2d0bd012aea7e69344a40f175a55e03f61bf2696.tar.bz2 sharkey-2d0bd012aea7e69344a40f175a55e03f61bf2696.zip | |
merge: Support incoming null values for `Person.discoverable` (resolves #908) (!874)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/874
Closes #908
Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
| -rw-r--r-- | packages/backend/src/core/activitypub/models/ApPersonService.ts | 4 | ||||
| -rw-r--r-- | packages/backend/src/core/activitypub/type.ts | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/packages/backend/src/core/activitypub/models/ApPersonService.ts b/packages/backend/src/core/activitypub/models/ApPersonService.ts index 5c71dbc626..9d326e2737 100644 --- a/packages/backend/src/core/activitypub/models/ApPersonService.ts +++ b/packages/backend/src/core/activitypub/models/ApPersonService.ts @@ -398,7 +398,7 @@ export class ApPersonService implements OnModuleInit { alsoKnownAs: person.alsoKnownAs, // We use "!== false" to handle incorrect types, missing / null values, and "default to true" logic. hideOnlineStatus: person.hideOnlineStatus !== false, - isExplorable: person.discoverable, + isExplorable: person.discoverable !== false, username: person.preferredUsername, approved: true, usernameLower: person.preferredUsername?.toLowerCase(), @@ -602,7 +602,7 @@ export class ApPersonService implements OnModuleInit { alsoKnownAs: person.alsoKnownAs ?? null, // We use "!== false" to handle incorrect types, missing / null values, and "default to true" logic. hideOnlineStatus: person.hideOnlineStatus !== false, - isExplorable: person.discoverable, + isExplorable: person.discoverable !== false, ...(await this.resolveAvatarAndBanner(exist, person.icon, person.image, person.backgroundUrl).catch(() => ({}))), } as Partial<MiRemoteUser> & Pick<MiRemoteUser, 'isBot' | 'isCat' | 'speakAsCat' | 'isLocked' | 'movedToUri' | 'alsoKnownAs' | 'isExplorable'>; diff --git a/packages/backend/src/core/activitypub/type.ts b/packages/backend/src/core/activitypub/type.ts index d67f8cf62e..119a9d8ccb 100644 --- a/packages/backend/src/core/activitypub/type.ts +++ b/packages/backend/src/core/activitypub/type.ts @@ -202,7 +202,7 @@ export interface IActor extends IObject { manuallyApprovesFollowers?: boolean; movedTo?: string; alsoKnownAs?: string[]; - discoverable?: boolean; + discoverable?: boolean | null; inbox: string; sharedInbox?: string; // 後方互換性のため publicKey?: { |