Don't send conversation slaps, only immediate replies. Redundant and flawed.

This commit is contained in:
Friendika 2011-01-16 14:58:07 -08:00
parent e7ae4ad3fa
commit f4ebd2a213
2 changed files with 19 additions and 11 deletions

View file

@ -207,7 +207,6 @@
));
}
else {
if($followup) {
foreach($items as $item) { // there is only one item
if($item['id'] == $item_id) {
@ -224,7 +223,13 @@
continue;
$atom .= atom_entry($item,'text',$contact,$owner,true);
$slaps[] = atom_entry($item,'html',$contact,$owner,true);
// There's a problem here - we *were* going to use salmon to provide semi-authenticated
// communication to OStatus, but unless we're the item author they won't verify.
// commented out for now, though we'll still send local replies (and any mentions
// that they contain) upstream. Rethinking the problem space.
// $slaps[] = atom_entry($item,'html',$contact,$owner,true);
}
}
}
@ -232,7 +237,7 @@
logger('notifier: ' . $atom, LOGGER_DATA);
logger('notifier: slaps: ' . print_r($slaps,true), LOGGER_DATA);
// logger('notifier: slaps: ' . print_r($slaps,true), LOGGER_DATA);
if($followup)
$recip_str = $parent['contact-id'];
@ -324,17 +329,15 @@
// send additional slaps to mentioned remote tags (@foo@example.com)
if(count($slaps) && count($url_recipients) && $notify_hub) {
if($slap && count($url_recipients) && $followup && $notify_hub) {
foreach($url_recipients as $url) {
logger('notifier: urldelivery: ' . $url);
foreach($slaps as $slappy) {
if($url) {
$deliver_status = slapper($owner,$url,$slappy);
logger('notifier: urldelivery: ' . $url);
$deliver_status = slapper($owner,$url,$slap);
// TODO: redeliver/queue these items on failure, though there is no contact record
}
}
}
}
if((strlen($hub)) && ($notify_hub)) {
$hubs = explode(',', $hub);

View file

@ -199,7 +199,12 @@ function salmon_post(&$a) {
$hub = '';
// consume_feed will only accept a follow activity from this person if there is no contact record.
/**
*
* anti-spam measure: consume_feed will accept a follow activity from
* this person (and nothing else) if there is no existing contact record.
*
*/
$contact_rec = ((count($r)) ? $r[0] : null);