From 1fe1ac022f0755d73c62bac86f1b54fdbd6b50f5 Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Fri, 25 May 2012 18:26:09 -0600 Subject: Support relayable_retractions that are relayed to us by the top-level post owner --- include/delivery.php | 1 + 1 file changed, 1 insertion(+) (limited to 'include/delivery.php') diff --git a/include/delivery.php b/include/delivery.php index 32943d5da..0e40e3db7 100644 --- a/include/delivery.php +++ b/include/delivery.php @@ -113,6 +113,7 @@ function delivery_run($argv, $argc){ $uid = $r[0]['uid']; $updated = $r[0]['edited']; + // The following seems superfluous. We've already checked for "if (! intval($r[0]['parent']))" a few lines up if(! $parent_id) continue; -- cgit v1.2.3 From c0af6dbb1a5507dcf0fffaf13b42cfd71b0d0c50 Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Thu, 31 May 2012 19:40:12 -0600 Subject: Implement relaying of relayable_retractions Also: some whitespace cleanup, fix Diaspora parent DB query --- include/delivery.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/delivery.php') diff --git a/include/delivery.php b/include/delivery.php index 0e40e3db7..62c9f9202 100644 --- a/include/delivery.php +++ b/include/delivery.php @@ -509,7 +509,7 @@ function delivery_run($argv, $argc){ // unsupported break; } - elseif(($target_item['deleted']) && ($target_item['verb'] !== ACTIVITY_LIKE)) { + elseif(($target_item['deleted']) && ($top_level) && ($target_item['verb'] !== ACTIVITY_LIKE)) { logger('delivery: diaspora retract: ' . $loc); // diaspora delete, diaspora_send_retraction($target_item,$owner,$contact,$public_message); @@ -519,7 +519,7 @@ function delivery_run($argv, $argc){ logger('delivery: diaspora relay: ' . $loc); - // we are the relay - send comments, likes and unlikes to our conversants + // we are the relay - send comments, likes, unlikes and relayable_retractions to our conversants diaspora_send_relay($target_item,$owner,$contact,$public_message); break; } -- cgit v1.2.3 From 77962aa79df5671e206635cc6980e4b1ac969bf9 Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Sat, 2 Jun 2012 16:11:31 -0600 Subject: Fix bugs in the retraction code Currently, the following seems to be the functional status: For a Diaspora top-level post: Friendica comments show up AND delete Diaspora comments show up AND delete for top-level owner Diaspora comments show up for non-owner Diaspora comments sometimes don't delete for non-owner -> Appears to be Diaspora's fault, as a "not a valid object" error shows up in the log Friendica likes show up, but can't unlike (Friendica doesn't even message Diaspora) Diaspora likes show up Diaspora non-owner can't unlike -> Same as comments, seems to be Diaspora's fault For a Friendica top-level post: Friendica comments show up AND delete Diaspora comments show up AND delete Friendica likes don't show up in Diaspora sometimes Friendica doesn't even message Diaspora for unlikes (sometimes?) Diaspora likes and unlikes work --- include/delivery.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/delivery.php') diff --git a/include/delivery.php b/include/delivery.php index 62c9f9202..235b766c5 100644 --- a/include/delivery.php +++ b/include/delivery.php @@ -509,13 +509,13 @@ function delivery_run($argv, $argc){ // unsupported break; } - elseif(($target_item['deleted']) && ($top_level) && ($target_item['verb'] !== ACTIVITY_LIKE)) { + elseif(($target_item['deleted']) && ($target_item['uri'] === $target_item['parent-uri']) && ($target_item['verb'] !== ACTIVITY_LIKE)) { logger('delivery: diaspora retract: ' . $loc); // diaspora delete, diaspora_send_retraction($target_item,$owner,$contact,$public_message); break; } - elseif($target_item['parent'] != $target_item['id']) { + elseif($target_item['uri'] !== $target_item['parent-uri']) { logger('delivery: diaspora relay: ' . $loc); -- cgit v1.2.3 From cde0de965f8f2fde2b289ebcb1c1814ffa303ca6 Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Sat, 2 Jun 2012 23:56:42 -0600 Subject: first shot at getting like/unlike functions to work consistently --- include/delivery.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'include/delivery.php') diff --git a/include/delivery.php b/include/delivery.php index 235b766c5..e6cfc8155 100644 --- a/include/delivery.php +++ b/include/delivery.php @@ -509,17 +509,17 @@ function delivery_run($argv, $argc){ // unsupported break; } - elseif(($target_item['deleted']) && ($target_item['uri'] === $target_item['parent-uri']) && ($target_item['verb'] !== ACTIVITY_LIKE)) { - logger('delivery: diaspora retract: ' . $loc); - // diaspora delete, + elseif(($target_item['deleted']) && ($target_item['uri'] === $target_item['parent-uri'])) { + // top-level retraction + logger('delivery: diaspora retract: ' . $loc); + diaspora_send_retraction($target_item,$owner,$contact,$public_message); break; } elseif($target_item['uri'] !== $target_item['parent-uri']) { + // we are the relay - send comments, likes and relayable_retractions to our conversants + logger('delivery: diaspora relay: ' . $loc); - logger('delivery: diaspora relay: ' . $loc); - - // we are the relay - send comments, likes, unlikes and relayable_retractions to our conversants diaspora_send_relay($target_item,$owner,$contact,$public_message); break; } -- cgit v1.2.3