From b0664f7349c60183f0cb9597bd02b741d3c165c8 Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 22 Jan 2024 09:09:41 +0000 Subject: store the original announce actor (the one that pushed the item into our stream first) in source_xchan instead of owner_xchan. this way we will preserve the real owner for the thread and not have conflicts when dealing with deletes of comments or likes --- Zotlabs/Lib/Activity.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'Zotlabs/Lib/Activity.php') diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php index 2bf8543b2..1f36177bd 100644 --- a/Zotlabs/Lib/Activity.php +++ b/Zotlabs/Lib/Activity.php @@ -3368,12 +3368,10 @@ class Activity { } if ($announce_init) { - // If the fetch was initiated by an announce activity - // do not set item fetched. This way the owner will be set to the - // observer -> the announce actor - unset($item['item_fetched']); + // Store the sender of the initial announce + $item['source_xchan'] = $observer_hash; $item['verb'] = 'Announce'; - $item['parent_mid'] = $item['mid']; + $item['parent_mid'] = $item['thr_parent'] = $item['mid']; $item['item_thread_top'] = 1; } -- cgit v1.2.3