forked from GNUsocial/gnu-social
High-priority OStatus fixes:
* PuSHing out to multiple client services could fail; only first callback got reached * Correction for re-sub request to a known sub
This commit is contained in:
parent
2c677e0f2d
commit
c38ed1bb19
@ -104,7 +104,7 @@ class PushHubAction extends Action
|
||||
throw new ClientException("Invalid hub.secret $secret; must be under 200 bytes.");
|
||||
}
|
||||
|
||||
$sub = HubSub::staticGet($sub->topic, $sub->callback);
|
||||
$sub = HubSub::staticGet($topic, $callback);
|
||||
if (!$sub) {
|
||||
// Creating a new one!
|
||||
$sub = new HubSub();
|
||||
|
@ -260,9 +260,15 @@ class HubSub extends Memcached_DataObject
|
||||
$retries = intval(common_config('ostatus', 'hub_retries'));
|
||||
}
|
||||
|
||||
$data = array('sub' => clone($this),
|
||||
// We dare not clone() as when the clone is discarded it'll
|
||||
// destroy the result data for the parent query.
|
||||
// @fixme use clone() again when it's safe to copy an
|
||||
// individual item from a multi-item query again.
|
||||
$sub = HubSub::staticGet($this->topic, $this->callback);
|
||||
$data = array('sub' => $sub,
|
||||
'atom' => $atom,
|
||||
'retries' => $retries);
|
||||
common_log(LOG_INFO, "Queuing PuSH: $this->topic to $this->callback");
|
||||
$qm = QueueManager::get();
|
||||
$qm->enqueue($data, 'hubout');
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user