diff --git a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php --- a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php +++ b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php @@ -54,6 +54,7 @@ private $heraldTranscript; private $subscribers; private $unmentionablePHIDMap = array(); + private $transactionGroupID; private $applicationEmail; private $isPreview; @@ -973,6 +974,14 @@ return $this->cancelURI; } + protected function getTransactionGroupID() { + if ($this->transactionGroupID === null) { + $this->transactionGroupID = Filesystem::readRandomCharacters(32); + } + + return $this->transactionGroupID; + } + final public function applyTransactions( PhabricatorLiskDAO $object, array $xactions) { @@ -1162,7 +1171,7 @@ throw $ex; } - $group_id = Filesystem::readRandomCharacters(32); + $group_id = $this->getTransactionGroupID(); foreach ($xactions as $xaction) { if ($was_locked) { @@ -4663,6 +4672,7 @@ } $editor->mustEncrypt = $this->mustEncrypt; + $editor->transactionGroupID = $this->getTransactionGroupID(); return $editor; }