]> git.mxchange.org Git - friendica.git/commitdiff
Fix commenting on public posts
authorMichael <heluecht@pirati.ca>
Sun, 12 Sep 2021 01:52:10 +0000 (01:52 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 12 Sep 2021 01:52:10 +0000 (01:52 +0000)
src/Model/Item.php
src/Worker/Notifier.php

index 5cc72b05800bc15ebc60a92effb08baf3c553b8e..8327252abc7acc2f69bb062cb732e06884edd2e9 100644 (file)
@@ -659,6 +659,12 @@ class Item
                $params = ['order' => ['id' => false]];
                $parent = Post::selectFirst($fields, $condition, $params);
 
+               if (!DBA::isResult($parent) && $item['origin']) {
+                       $stored = Item::storeForUserByUriId($item['thr-parent-id'], $item['uid']);
+                       Logger::info('Stored thread parent item for user', ['uri-id' => $item['thr-parent-id'], 'uid' => $item['uid'], 'stored' => $stored]);
+                       $parent = Post::selectFirst($fields, $condition, $params);
+               }
+
                if (!DBA::isResult($parent)) {
                        Logger::notice('item parent was not found - ignoring item', ['thr-parent-id' => $item['thr-parent-id'], 'uid' => $item['uid']]);
                        return [];
@@ -673,6 +679,13 @@ class Item
                        'uid' => $parent['uid']];
                $params = ['order' => ['id' => false]];
                $toplevel_parent = Post::selectFirst($fields, $condition, $params);
+
+               if (!DBA::isResult($toplevel_parent) && $item['origin']) {
+                       $stored = Item::storeForUserByUriId($item['parent-uri-id'], $item['uid']);
+                       Logger::info('Stored parent item for user', ['uri-id' => $item['parent-uri-id'], 'uid' => $item['uid'], 'stored' => $stored]);
+                       $toplevel_parent = Post::selectFirst($fields, $condition, $params);
+               }
+
                if (!DBA::isResult($toplevel_parent)) {
                        Logger::notice('item top level parent was not found - ignoring item', ['parent-uri-id' => $parent['parent-uri-id'], 'uid' => $parent['uid']]);
                        return [];
index a53eefa7d17d354440350dea75297a1671dea220..390dc932c8c4103918245a0c918ce2c215c2dfa4 100644 (file)
@@ -744,7 +744,7 @@ class Notifier
 
                // Also don't deliver when the direct thread parent was delivered via Diaspora
                if ($thr_parent['network'] == Protocol::DIASPORA) {
-                       Logger::info('Threat parent network is Diaspora, so no AP delivery');
+                       Logger::info('Thread parent network is Diaspora, so no AP delivery');
                        return ['count' => 0, 'contacts' => []];
                }