mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-26 08:42:41 +01:00
Adjust action strength of self subscribe/unsubscribe
Summary: Ref T4968. If you add a comment to revision you aren't currently subscribed to, the email currently chooses "[Changed Subscribers]" as the action title. This is less interesting than "[Commented]", provided the affected subscriber is you (adding other people //is// usually interesting). In this case, reduce the strength of this action below the strength of "comment". Test Plan: Made several comments in conjunction with implicit and explicit subscriptions. Saw "[Commented]" for stuff affecting me, and "[Changed Subscribers]" for stuff affecting others. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T4968 Differential Revision: https://secure.phabricator.com/D9168
This commit is contained in:
parent
b1ec4a9a21
commit
dd5d30e643
1 changed files with 27 additions and 0 deletions
|
@ -780,6 +780,33 @@ abstract class PhabricatorApplicationTransaction
|
||||||
switch ($this->getTransactionType()) {
|
switch ($this->getTransactionType()) {
|
||||||
case PhabricatorTransactions::TYPE_COMMENT:
|
case PhabricatorTransactions::TYPE_COMMENT:
|
||||||
return 0.5;
|
return 0.5;
|
||||||
|
case PhabricatorTransactions::TYPE_SUBSCRIBERS:
|
||||||
|
$old = $this->getOldValue();
|
||||||
|
$new = $this->getNewValue();
|
||||||
|
|
||||||
|
$add = array_diff($old, $new);
|
||||||
|
$rem = array_diff($new, $old);
|
||||||
|
|
||||||
|
// If this action is the actor subscribing or unsubscribing themselves,
|
||||||
|
// it is less interesting. In particular, if someone makes a comment and
|
||||||
|
// also implicitly subscribes themselves, we should treat the
|
||||||
|
// transaction group as "comment", not "subscribe". In this specific
|
||||||
|
// case (one affected user, and that affected user it the actor),
|
||||||
|
// decrease the action strength.
|
||||||
|
|
||||||
|
if ((count($add) + count($rem)) != 1) {
|
||||||
|
// Not exactly one CC change.
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$affected_phid = head(array_merge($add, $rem));
|
||||||
|
if ($affected_phid != $this->getAuthorPHID()) {
|
||||||
|
// Affected user is someone else.
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make this weaker than TYPE_COMMENT.
|
||||||
|
return 0.25;
|
||||||
}
|
}
|
||||||
return 1.0;
|
return 1.0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue