@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Projects - stop automagically associating projects when they are mentioned

Summary: Fixes T6819. This isn't as useful as you might think and has one horribly buggy behavior - if you edit an object which has a description and a projects field, you can be unable to remove the associated project as the automagic association from the description kicks in. Further, since we've added the ability for applications to create multiple email addresses AND herald can react to those emails - say by programmatically adding projects - the known needs for this feature are basically 0. If this proves to be false we can maybe add some other syntax for these mentions - see T6819 for ideas / discussion.

Test Plan: removed a project from a maniphest task while still mentioning it in the description and it worked!

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T6819

Differential Revision: https://secure.phabricator.com/D11573

-19
-19
src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php
··· 1242 1242 return $block_xactions; 1243 1243 } 1244 1244 1245 - if ($object instanceof PhabricatorProjectInterface) { 1246 - $phids = $mentioned_phids; 1247 - $project_type = PhabricatorProjectProjectPHIDType::TYPECONST; 1248 - foreach ($phids as $key => $phid) { 1249 - if (phid_get_type($phid) != $project_type) { 1250 - unset($phids[$key]); 1251 - } 1252 - } 1253 - 1254 - if ($phids) { 1255 - $edge_type = PhabricatorProjectObjectHasProjectEdgeType::EDGECONST; 1256 - $block_xactions[] = newv(get_class(head($xactions)), array()) 1257 - ->setIgnoreOnNoEffect(true) 1258 - ->setTransactionType(PhabricatorTransactions::TYPE_EDGE) 1259 - ->setMetadataValue('edge:type', $edge_type) 1260 - ->setNewValue(array('+' => $phids)); 1261 - } 1262 - } 1263 - 1264 1245 $mentioned_objects = id(new PhabricatorObjectQuery()) 1265 1246 ->setViewer($this->getActor()) 1266 1247 ->withPHIDs($mentioned_phids)