From e8420dcb7155af7fb8bd29fb63c79367125dd551 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Mon, 26 Dec 2022 09:10:55 -0500 Subject: [PATCH 1/4] Query expected photo.type field in Protocol\DFRN::relocate - Address first part of https://github.com/friendica/friendica/issues/12488#issuecomment-1364487793 --- src/Protocol/DFRN.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Protocol/DFRN.php b/src/Protocol/DFRN.php index e29cfcc5ab..52ae12f9c3 100644 --- a/src/Protocol/DFRN.php +++ b/src/Protocol/DFRN.php @@ -301,16 +301,15 @@ class DFRN DI::config()->set('system', 'site_pubkey', $res['pubkey']); } - $profilephotos = Photo::selectToArray(['resource-id' , 'scale'], ['profile' => true, 'uid' => $uid], ['order' => ['scale']]); + $profilephotos = Photo::selectToArray(['resource-id', 'scale', 'type'], ['profile' => true, 'uid' => $uid], ['order' => ['scale']]); $photos = []; $ext = Images::supportedTypes(); foreach ($profilephotos as $p) { - $photos[$p['scale']] = DI::baseUrl().'/photo/'.$p['resource-id'].'-'.$p['scale'].'.'.$ext[$p['type']]; + $photos[$p['scale']] = DI::baseUrl() . '/photo/' . $p['resource-id'] . '-' . $p['scale'] . '.' . $ext[$p['type']]; } - $doc = new DOMDocument('1.0', 'utf-8'); $doc->formatOutput = true; From 482eeb71090720bc0af6ca7fbd7c8ba8ec7c3669 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Mon, 26 Dec 2022 09:11:37 -0500 Subject: [PATCH 2/4] Fix wrong square bracket position in Worker\Delivery->deliverDFRN - Address second part of https://github.com/friendica/friendica/issues/12488#issuecomment-1364487793 --- src/Worker/Delivery.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Worker/Delivery.php b/src/Worker/Delivery.php index 1a0758987a..195f9fdcab 100644 --- a/src/Worker/Delivery.php +++ b/src/Worker/Delivery.php @@ -213,7 +213,7 @@ class Delivery // Also transmit via Diaspora if this is a direct answer to a Diaspora comment. // This is done since the uri wouldn't match (Diaspora doesn't transmit it) // Also transmit relayed posts from Diaspora contacts via Diaspora. - if (($contact['network'] != Protocol::DIASPORA) && in_array(Protocol::DIASPORA, [$parent['network'] ?? '', $thr_parent['network'] ?? '', $target_item['network']] ?? '')) { + if (($contact['network'] != Protocol::DIASPORA) && in_array(Protocol::DIASPORA, [$parent['network'] ?? '', $thr_parent['network'] ?? '', $target_item['network'] ?? ''])) { Logger::info('Enforcing the Diaspora protocol', ['id' => $contact['id'], 'network' => $contact['network'], 'parent' => $parent['network'], 'thread-parent' => $thr_parent['network'], 'post' => $target_item['network']]); $contact['network'] = Protocol::DIASPORA; } From 74229fe230ec9fa9bfbec016faca4937708f4df8 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Mon, 26 Dec 2022 09:22:44 -0500 Subject: [PATCH 3/4] Ward against empty $target_item array (relocation) in Worker\Delivery->deliverDFRN - Address third part of https://github.com/friendica/friendica/issues/12488#issuecomment-1364487793 --- src/Worker/Delivery.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Worker/Delivery.php b/src/Worker/Delivery.php index 195f9fdcab..59b4ea6c30 100644 --- a/src/Worker/Delivery.php +++ b/src/Worker/Delivery.php @@ -276,14 +276,16 @@ class Delivery */ private static function deliverDFRN(string $cmd, array $contact, array $owner, array $items, array $target_item, bool $public_message, bool $top_level, bool $followup, int $server_protocol = null) { + $target_item_id = $target_item['guid'] ?? '' ?: $target_item['id'] ?? null; + // Transmit Diaspora reshares via Diaspora if the Friendica contact support Diaspora - if (Diaspora::getReshareDetails($target_item ?? []) && Diaspora::isSupportedByContactUrl($contact['addr'])) { - Logger::info('Reshare will be transmitted via Diaspora', ['url' => $contact['url'], 'guid' => ($target_item['guid'] ?? '') ?: $target_item['id']]); + if (Diaspora::getReshareDetails($target_item) && Diaspora::isSupportedByContactUrl($contact['addr'])) { + Logger::info('Reshare will be transmitted via Diaspora', ['url' => $contact['url'], 'guid' => $target_item_id]); self::deliverDiaspora($cmd, $contact, $owner, $items, $target_item, $public_message, $top_level, $followup); return; } - Logger::info('Deliver ' . (($target_item['guid'] ?? '') ?: $target_item['id']) . ' via DFRN to ' . (($contact['addr'] ?? '') ?: $contact['url'])); + Logger::info('Deliver ' . ($target_item_id ?? 'relocation') . ' via DFRN to ' . ($contact['addr'] ?? '' ?: $contact['url'])); if ($cmd == self::MAIL) { $item = $target_item; @@ -315,7 +317,7 @@ class Delivery $atom = DFRN::entries($msgitems, $owner); } - Logger::debug('Notifier entry: ' . $contact['url'] . ' ' . (($target_item['guid'] ?? '') ?: $target_item['id']) . ' entry: ' . $atom); + Logger::debug('Notifier entry: ' . $contact['url'] . ' ' . ($target_item_id ?? 'relocation') . ' entry: ' . $atom); $protocol = Post\DeliveryData::DFRN; @@ -353,7 +355,7 @@ class Delivery $deliver_status = DFRN::transmit($owner, $contact, $atom); } - Logger::info('DFRN Delivery', ['cmd' => $cmd, 'url' => $contact['url'], 'guid' => ($target_item['guid'] ?? '') ?: $target_item['id'], 'return' => $deliver_status]); + Logger::info('DFRN Delivery', ['cmd' => $cmd, 'url' => $contact['url'], 'guid' => $target_item_id, 'return' => $deliver_status]); if (($deliver_status >= 200) && ($deliver_status <= 299)) { // We successfully delivered a message, the contact is alive @@ -368,7 +370,7 @@ class Delivery // The message could not be delivered. We mark the contact as "dead" Contact::markForArchival($contact); - Logger::info('Delivery failed: defer message', ['id' => ($target_item['guid'] ?? '') ?: $target_item['id']]); + Logger::info('Delivery failed: defer message', ['id' => $target_item_id]); if (!Worker::defer() && $cmd == Delivery::POST) { Post\DeliveryData::incrementQueueFailed($target_item['uri-id']); } From 1be9d6b2cba7f0e61e4701a70ade7dd4b8a40832 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Mon, 26 Dec 2022 09:26:57 -0500 Subject: [PATCH 4/4] Fix wrong variable reference in view wall_thread template - Address https://github.com/friendica/friendica/issues/12488#issuecomment-1364715116 --- view/theme/vier/templates/wall_thread.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/view/theme/vier/templates/wall_thread.tpl b/view/theme/vier/templates/wall_thread.tpl index 7d851d0015..a9ec4c90ad 100644 --- a/view/theme/vier/templates/wall_thread.tpl +++ b/view/theme/vier/templates/wall_thread.tpl @@ -128,7 +128,7 @@ {{/if}}{{if $item.vote.dislike}} {{$item.vote.dislike.0}} {{/if}}{{if $item.vote.announce}} - {{$item.vote.dislike.0}} + {{$item.vote.announce.0}} {{/if}} {{if $item.vote.share}} {{$item.vote.share.0}}