From cb073bea613faaee591267cb7eca376ecc0e129f Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 18 Sep 2018 19:36:27 +0000 Subject: [PATCH] Private posts with Mastodon don't work - but this is expected --- src/Protocol/ActivityPub.php | 44 ++++++++++++------------------------ 1 file changed, 15 insertions(+), 29 deletions(-) diff --git a/src/Protocol/ActivityPub.php b/src/Protocol/ActivityPub.php index b4646ad54f..47f81f8bf4 100644 --- a/src/Protocol/ActivityPub.php +++ b/src/Protocol/ActivityPub.php @@ -125,9 +125,8 @@ class ActivityPub } $data = ['@context' => ['https://www.w3.org/ns/activitystreams', 'https://w3id.org/security/v1', - ['uuid' => 'http://schema.org/identifier', 'sensitive' => 'as:sensitive', - 'manuallyApprovesFollowers' => 'as:manuallyApprovesFollowers', - 'vcard' => 'http://www.w3.org/2006/vcard/ns#']]]; + ['vcard' => 'http://www.w3.org/2006/vcard/ns#', 'uuid' => 'http://schema.org/identifier', + 'sensitive' => 'as:sensitive', 'manuallyApprovesFollowers' => 'as:manuallyApprovesFollowers']]]; $data['id'] = $contact['url']; $data['uuid'] = $user['guid']; @@ -174,7 +173,7 @@ class ActivityPub } } } else { - $data['to'][] = System::baseUrl() . '/followers/' . $item['author-nick']; + //$data['cc'][] = System::baseUrl() . '/followers/' . $item['author-nick']; $receiver_list = Item::enumeratePermissions($item); $mentioned = []; @@ -197,7 +196,7 @@ class ActivityPub if (empty($data['to'])) { $data['to'] = $data['cc']; - unset($data['cc']); + $data['cc'] = []; } } @@ -242,8 +241,7 @@ class ActivityPub $contact = DBA::selectFirst('contact', ['url'], ['id' => $cid, 'network' => Protocol::ACTIVITYPUB]); $profile = Probe::uri($contact['url'], Protocol::ACTIVITYPUB); if ($profile['network'] == Protocol::ACTIVITYPUB) { - //$target = defaults($profile, 'batch', $profile['notify']); - $target = $profile['notify']; + $target = defaults($profile, 'batch', $profile['notify']); $inboxes[$target] = $target; } } @@ -253,8 +251,7 @@ class ActivityPub $contact = DBA::selectFirst('contact', ['url'], ['id' => $receiver, 'network' => Protocol::ACTIVITYPUB]); $profile = Probe::uri($contact['url'], Protocol::ACTIVITYPUB); if ($profile['network'] == Protocol::ACTIVITYPUB) { - //$target = defaults($profile, 'batch', $profile['notify']); - $target = $profile['notify']; + $target = defaults($profile, 'batch', $profile['notify']); $inboxes[$target] = $target; } } @@ -290,10 +287,10 @@ class ActivityPub } $data = ['@context' => ['https://www.w3.org/ns/activitystreams', 'https://w3id.org/security/v1', - ['Emoji' => 'toot:Emoji', 'Hashtag' => 'as:Hashtag', 'atomUri' => 'ostatus:atomUri', - 'conversation' => 'ostatus:conversation', 'inReplyToAtomUri' => 'ostatus:inReplyToAtomUri', - 'ostatus' => 'http://ostatus.org#', 'sensitive' => 'as:sensitive', - 'toot' => 'http://joinmastodon.org/ns#']]]; + ['ostatus' => 'http://ostatus.org#', 'sensitive' => 'as:sensitive', + 'Hashtag' => 'as:Hashtag', 'atomUri' => 'ostatus:atomUri', + 'conversation' => 'ostatus:conversation', + 'inReplyToAtomUri' => 'ostatus:inReplyToAtomUri']]]; $data['type'] = 'Create'; $data['id'] = $item['uri'] . '#activity'; @@ -320,10 +317,10 @@ class ActivityPub } $data = ['@context' => ['https://www.w3.org/ns/activitystreams', 'https://w3id.org/security/v1', - ['Emoji' => 'toot:Emoji', 'Hashtag' => 'as:Hashtag', 'atomUri' => 'ostatus:atomUri', - 'conversation' => 'ostatus:conversation', 'inReplyToAtomUri' => 'ostatus:inReplyToAtomUri', - 'ostatus' => 'http://ostatus.org#', 'sensitive' => 'as:sensitive', - 'toot' => 'http://joinmastodon.org/ns#']]]; + ['ostatus' => 'http://ostatus.org#', 'sensitive' => 'as:sensitive', + 'Hashtag' => 'as:Hashtag', 'atomUri' => 'ostatus:atomUri', + 'conversation' => 'ostatus:conversation', + 'inReplyToAtomUri' => 'ostatus:inReplyToAtomUri']]]; $data = array_merge($data, self::createNote($item)); @@ -335,17 +332,6 @@ class ActivityPub { $tags = []; - $receiver_list = Item::enumeratePermissions($item); - foreach ($receiver_list as $receiver) { - $contact = DBA::selectFirst('contact', ['url', 'addr'], ['id' => $receiver, 'network' => Protocol::ACTIVITYPUB]); - if (!empty($contact['addr'])) { - $mention = '@' . $contact['addr']; - } else { - $mention = '@' . $term['url']; - } - $tags[] = ['type' => 'Mention', 'href' => $contact['url'], 'name' => $mention]; - } - $terms = Term::tagArrayFromItemId($item['id']); foreach ($terms as $term) { if ($term['type'] == TERM_MENTION) { @@ -395,7 +381,7 @@ class ActivityPub $data['source'] = ['content' => $item['body'], 'mediaType' => "text/bbcode"]; $data['summary'] = ''; // Ignore by now $data['sensitive'] = false; // - Query NSFW - $data['emoji'] = []; // Ignore by now + //$data['emoji'] = []; // Ignore by now $data['tag'] = self::createTagList($item); $data['attachment'] = []; // @ToDo return $data;