Debugged implementation of Diaspora relayable_retractions

Diaspora "relayable_retraction" is now supported by Friendica.
The following should now work:

	Friendica top-level post:
	Diaspora comment deleted, disappears in Friendica
	Friendica comment deleted, disappears in Diaspora
	Diaspora like retracted, disappears in Friendica
	Friendica like retracted, disappears in Diaspora

	Diaspora top-level post:
	Same

There are still exceptions, however. First, Friendica and Diaspora
seem to frequently reject comments with an "invalid signature" error.
This can probably be fixed.

Also, some comments/likes/retractions seem to just disappear on the
Diaspora side. In the Diaspora log these seem to be accompanied by a
"not a valid object" error, often preceeded by a "received a comment
but no corresponding post" error. These seem to be purely internal,
since sometimes it works for some Diaspora contacts but not others.
This commit is contained in:
Zach Prezkuta 2012-06-03 14:32:17 -06:00
parent 06263f72a8
commit 9920fb39e5
3 changed files with 38 additions and 28 deletions

4
include/items.php Normal file → Executable file
View file

@ -3300,7 +3300,9 @@ function drop_item($id,$interactive = true) {
if(count($r)) {
// The below handle only works for NETWORK_DFRN. I think that's ok, because this function
// only handles DFRN deletes
$handle = $r['nick'] . '@' . substr($r['url'], strpos($r['url'],'://') + 3, strpos($r['url'],'/profile') - 1);
$handle_baseurl_start = strpos($r['url'],'://') + 3;
$handle_baseurl_length = strpos($r['url'],'/profile') - $handle_baseurl_start;
$handle = $r['nick'] . '@' . substr($r['url'], $handle_baseurl_start, $handle_baseurl_length);
$authorsig = '';
}
}