We are no longer offering accounts on this server. Consider https://gitlab.freedesktop.org/ as a place to host projects.

Commit a0ac51c2 authored by Shashi Gowda's avatar Shashi Gowda

use notifyDeferred for tag/untag so that it gets queued offline

parent 4d617601
......@@ -951,6 +951,14 @@ class OStatusPlugin extends Plugin
return true;
}
/**
* Notify remote user it has got a new people tag
* - tag verb is queued
* - the subscription is done immediately if not present
*
* @param Profile_tag $ptag the people tag that was created
* @return hook return value
*/
function onEndTagProfile($ptag)
{
$oprofile = Ostatus_profile::staticGet('profile_id', $ptag->tagged);
......@@ -984,7 +992,7 @@ class OStatusPlugin extends Plugin
$act->objects = array(ActivityObject::fromProfile($tagged));
$act->target = ActivityObject::fromPeopletag($plist);
$oprofile->notifyActivity($act, $tagger);
$oprofile->notifyDeferred($act, $tagger);
// initiate a PuSH subscription for the person being tagged
if (!$oprofile->subscribe()) {
......@@ -995,6 +1003,15 @@ class OStatusPlugin extends Plugin
return true;
}
/**
* Notify remote user that a people tag has been removed
* - untag verb is queued
* - the subscription is undone immediately if not required
* i.e garbageCollect()'d
*
* @param Profile_tag $ptag the people tag that was deleted
* @return hook return value
*/
function onEndUntagProfile($ptag)
{
$oprofile = Ostatus_profile::staticGet('profile_id', $ptag->tagged);
......@@ -1028,7 +1045,7 @@ class OStatusPlugin extends Plugin
$act->objects = array(ActivityObject::fromProfile($tagged));
$act->target = ActivityObject::fromPeopletag($plist);
$oprofile->notifyActivity($act, $tagger);
$oprofile->notifyDeferred($act, $tagger);
// unsubscribe to PuSH feed if no more required
$oprofile->garbageCollect();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment