diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php index 1a02cdc8d3..36259b8abb 100644 --- a/plugins/OStatus/OStatusPlugin.php +++ b/plugins/OStatus/OStatusPlugin.php @@ -125,11 +125,18 @@ class OStatusPlugin extends Plugin */ function onStartEnqueueNotice($notice, &$transports) { - // FIXME: we don't do privacy-controlled OStatus updates yet. - // once that happens, finer grain of control here. - if ($notice->isLocal() && $notice->inScope(null)) { - // put our transport first, in case there's any conflict (like OMB) - array_unshift($transports, 'ostatus'); + if ($notice->isLocal()) { + if ($notice->inScope(null)) { + // put our transport first, in case there's any conflict (like OMB) + array_unshift($transports, 'ostatus'); + $this->log(LOG_INFO, "Notice {$notice->id} queued for OStatus processing"); + } else { + // FIXME: we don't do privacy-controlled OStatus updates yet. + // once that happens, finer grain of control here. + $this->log(LOG_NOTICE, "Not queueing notice {$notice->id} for OStatus because of privacy; scope = {$notice->scope}"); + } + } else { + $this->log(LOG_NOTICE, "Not queueing notice {$notice->id} for OStatus because it's not local."); } return true; } diff --git a/plugins/OStatus/lib/ostatusqueuehandler.php b/plugins/OStatus/lib/ostatusqueuehandler.php index d7dc921ad6..568e8fe391 100644 --- a/plugins/OStatus/lib/ostatusqueuehandler.php +++ b/plugins/OStatus/lib/ostatusqueuehandler.php @@ -51,7 +51,7 @@ class OStatusQueueHandler extends QueueHandler assert($notice instanceof Notice); $this->notice = $notice; - $this->user = User::staticGet($notice->profile_id); + $this->user = User::staticGet('id', $notice->profile_id); $this->pushUser(); @@ -63,6 +63,13 @@ class OStatusQueueHandler extends QueueHandler $this->pushGroup($group->id); } } + + foreach ($notice->getReplies() as $profile_id) { + $oprofile = Ostatus_profile::staticGet('profile_id', $profile_id); + if ($oprofile) { + $this->pingReply($oprofile); + } + } if (!empty($this->notice->reply_to)) { $replyTo = Notice::staticGet('id', $this->notice->reply_to);