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 { else {
if($followup) { if($followup) {
foreach($items as $item) { // there is only one item foreach($items as $item) { // there is only one item
if($item['id'] == $item_id) { if($item['id'] == $item_id) {
@ -224,7 +223,13 @@
continue; continue;
$atom .= atom_entry($item,'text',$contact,$owner,true); $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: ' . $atom, LOGGER_DATA);
logger('notifier: slaps: ' . print_r($slaps,true), LOGGER_DATA); // logger('notifier: slaps: ' . print_r($slaps,true), LOGGER_DATA);
if($followup) if($followup)
$recip_str = $parent['contact-id']; $recip_str = $parent['contact-id'];
@ -324,17 +329,15 @@
// send additional slaps to mentioned remote tags (@foo@example.com) // 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) { foreach($url_recipients as $url) {
logger('notifier: urldelivery: ' . $url);
foreach($slaps as $slappy) {
if($url) { 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 // TODO: redeliver/queue these items on failure, though there is no contact record
} }
} }
} }
}
if((strlen($hub)) && ($notify_hub)) { if((strlen($hub)) && ($notify_hub)) {
$hubs = explode(',', $hub); $hubs = explode(',', $hub);

View file

@ -199,7 +199,12 @@ function salmon_post(&$a) {
$hub = ''; $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); $contact_rec = ((count($r)) ? $r[0] : null);