summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarie <github@yuugi.dev>2025-01-29 15:38:32 +0000
committerMarie <github@yuugi.dev>2025-01-29 15:38:32 +0000
commit2d0bd012aea7e69344a40f175a55e03f61bf2696 (patch)
treeb4203368f28abb9eacb05db2d8823c046491ef99
parentmerge: tooling: fix "cannot find module eslint" error when running "build-mis... (diff)
parenthandle null values for `discoverable` property (diff)
downloadsharkey-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.ts4
-rw-r--r--packages/backend/src/core/activitypub/type.ts2
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?: {