@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.

Transactions - make customization of TYPE_EDGE optional

Summary: Ref T6403. This does TYPE_EDGE since I just had to deal with T8252. Look like this fixes a few editors (maybe) that would have had fatals with mentions like slowvote and ponder.

Test Plan: made a phame post mentioning a task and it worked! joined / left a project, watched / unwatched a project and that worked! blind faith for other sites.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T6403

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

+17 -42
-2
src/applications/almanac/editor/AlmanacDeviceEditor.php
··· 57 57 case AlmanacDeviceTransaction::TYPE_INTERFACE: 58 58 case PhabricatorTransactions::TYPE_VIEW_POLICY: 59 59 case PhabricatorTransactions::TYPE_EDIT_POLICY: 60 - case PhabricatorTransactions::TYPE_EDGE: 61 60 return; 62 61 } 63 62 ··· 72 71 case AlmanacDeviceTransaction::TYPE_NAME: 73 72 case PhabricatorTransactions::TYPE_VIEW_POLICY: 74 73 case PhabricatorTransactions::TYPE_EDIT_POLICY: 75 - case PhabricatorTransactions::TYPE_EDGE: 76 74 return; 77 75 case AlmanacDeviceTransaction::TYPE_INTERFACE: 78 76 $old = $xaction->getOldValue();
-2
src/applications/almanac/editor/AlmanacServiceEditor.php
··· 63 63 return; 64 64 case PhabricatorTransactions::TYPE_VIEW_POLICY: 65 65 case PhabricatorTransactions::TYPE_EDIT_POLICY: 66 - case PhabricatorTransactions::TYPE_EDGE: 67 66 return; 68 67 } 69 68 ··· 78 77 case AlmanacServiceTransaction::TYPE_NAME: 79 78 case PhabricatorTransactions::TYPE_VIEW_POLICY: 80 79 case PhabricatorTransactions::TYPE_EDIT_POLICY: 81 - case PhabricatorTransactions::TYPE_EDGE: 82 80 return; 83 81 case AlmanacServiceTransaction::TYPE_LOCK: 84 82 $service = id(new AlmanacServiceQuery())
-2
src/applications/audit/editor/PhabricatorAuditEditor.php
··· 117 117 switch ($xaction->getTransactionType()) { 118 118 case PhabricatorTransactions::TYPE_COMMENT: 119 119 case PhabricatorTransactions::TYPE_SUBSCRIBERS: 120 - case PhabricatorTransactions::TYPE_EDGE: 121 120 case PhabricatorAuditActionConstants::ACTION: 122 121 case PhabricatorAuditActionConstants::INLINE: 123 122 case PhabricatorAuditActionConstants::ADD_AUDITORS: ··· 135 134 switch ($xaction->getTransactionType()) { 136 135 case PhabricatorTransactions::TYPE_COMMENT: 137 136 case PhabricatorTransactions::TYPE_SUBSCRIBERS: 138 - case PhabricatorTransactions::TYPE_EDGE: 139 137 case PhabricatorAuditActionConstants::ACTION: 140 138 case PhabricatorAuditTransaction::TYPE_COMMIT: 141 139 return;
-2
src/applications/calendar/editor/PhabricatorCalendarEventEditor.php
··· 111 111 case PhabricatorTransactions::TYPE_COMMENT: 112 112 case PhabricatorTransactions::TYPE_VIEW_POLICY: 113 113 case PhabricatorTransactions::TYPE_EDIT_POLICY: 114 - case PhabricatorTransactions::TYPE_EDGE: 115 114 case PhabricatorTransactions::TYPE_SUBSCRIBERS: 116 115 return; 117 116 } ··· 154 153 case PhabricatorTransactions::TYPE_COMMENT: 155 154 case PhabricatorTransactions::TYPE_VIEW_POLICY: 156 155 case PhabricatorTransactions::TYPE_EDIT_POLICY: 157 - case PhabricatorTransactions::TYPE_EDGE: 158 156 case PhabricatorTransactions::TYPE_SUBSCRIBERS: 159 157 return; 160 158 }
-3
src/applications/dashboard/editor/PhabricatorDashboardPanelTransactionEditor.php
··· 68 68 case PhabricatorTransactions::TYPE_EDIT_POLICY: 69 69 $object->setEditPolicy($xaction->getNewValue()); 70 70 return; 71 - case PhabricatorTransactions::TYPE_EDGE: 72 - return; 73 71 } 74 72 75 73 return parent::applyCustomInternalTransaction($object, $xaction); ··· 84 82 case PhabricatorDashboardPanelTransaction::TYPE_ARCHIVE: 85 83 case PhabricatorTransactions::TYPE_VIEW_POLICY: 86 84 case PhabricatorTransactions::TYPE_EDIT_POLICY: 87 - case PhabricatorTransactions::TYPE_EDGE: 88 85 return; 89 86 } 90 87
-4
src/applications/dashboard/editor/PhabricatorDashboardTransactionEditor.php
··· 115 115 case PhabricatorTransactions::TYPE_EDIT_POLICY: 116 116 $object->setEditPolicy($xaction->getNewValue()); 117 117 return; 118 - case PhabricatorTransactions::TYPE_EDGE: 119 - return; 120 118 } 121 119 122 120 return parent::applyCustomInternalTransaction($object, $xaction); ··· 131 129 case PhabricatorDashboardTransaction::TYPE_LAYOUT_MODE: 132 130 case PhabricatorTransactions::TYPE_VIEW_POLICY: 133 131 case PhabricatorTransactions::TYPE_EDIT_POLICY: 134 - return; 135 - case PhabricatorTransactions::TYPE_EDGE: 136 132 return; 137 133 } 138 134
-3
src/applications/differential/editor/DifferentialTransactionEditor.php
··· 199 199 case PhabricatorTransactions::TYPE_COMMENT: 200 200 case DifferentialTransaction::TYPE_INLINE: 201 201 return; 202 - case PhabricatorTransactions::TYPE_EDGE: 203 - return; 204 202 case DifferentialTransaction::TYPE_UPDATE: 205 203 if (!$this->getIsCloseByCommit()) { 206 204 switch ($object->getStatus()) { ··· 581 579 case PhabricatorTransactions::TYPE_EDIT_POLICY: 582 580 return; 583 581 case PhabricatorTransactions::TYPE_SUBSCRIBERS: 584 - case PhabricatorTransactions::TYPE_EDGE: 585 582 case PhabricatorTransactions::TYPE_COMMENT: 586 583 case DifferentialTransaction::TYPE_ACTION: 587 584 return;
-2
src/applications/fund/editor/FundInitiativeEditor.php
··· 103 103 $object->setTotalAsCurrency($total); 104 104 return; 105 105 case PhabricatorTransactions::TYPE_SUBSCRIBERS: 106 - case PhabricatorTransactions::TYPE_EDGE: 107 106 case PhabricatorTransactions::TYPE_VIEW_POLICY: 108 107 case PhabricatorTransactions::TYPE_EDIT_POLICY: 109 108 return; ··· 157 156 $editor->applyTransactions($backer, $subx); 158 157 return; 159 158 case PhabricatorTransactions::TYPE_SUBSCRIBERS: 160 - case PhabricatorTransactions::TYPE_EDGE: 161 159 case PhabricatorTransactions::TYPE_VIEW_POLICY: 162 160 case PhabricatorTransactions::TYPE_EDIT_POLICY: 163 161 return;
-2
src/applications/paste/editor/PhabricatorPasteEditor.php
··· 90 90 return; 91 91 case PhabricatorTransactions::TYPE_COMMENT: 92 92 case PhabricatorTransactions::TYPE_SUBSCRIBERS: 93 - case PhabricatorTransactions::TYPE_EDGE: 94 93 return; 95 94 } 96 95 ··· 109 108 case PhabricatorTransactions::TYPE_EDIT_POLICY: 110 109 case PhabricatorTransactions::TYPE_COMMENT: 111 110 case PhabricatorTransactions::TYPE_SUBSCRIBERS: 112 - case PhabricatorTransactions::TYPE_EDGE: 113 111 return; 114 112 } 115 113
-3
src/applications/phame/editor/PhamePostEditor.php
··· 64 64 return $object->setBody($xaction->getNewValue()); 65 65 case PhamePostTransaction::TYPE_COMMENTS_WIDGET: 66 66 return $object->setCommentsWidget($xaction->getNewValue()); 67 - case PhabricatorTransactions::TYPE_EDGE: 68 - return; 69 67 } 70 68 71 69 return parent::applyCustomInternalTransaction($object, $xaction); ··· 80 78 case PhamePostTransaction::TYPE_PHAME_TITLE: 81 79 case PhamePostTransaction::TYPE_BODY: 82 80 case PhamePostTransaction::TYPE_COMMENTS_WIDGET: 83 - case PhabricatorTransactions::TYPE_EDGE: 84 81 return; 85 82 } 86 83
-4
src/applications/pholio/editor/PholioMockEditor.php
··· 209 209 case PholioTransactionType::TYPE_STATUS: 210 210 $object->setStatus($xaction->getNewValue()); 211 211 break; 212 - case PhabricatorTransactions::TYPE_EDGE: 213 - return; 214 212 } 215 213 } 216 214 ··· 278 276 $image->setSequence($value); 279 277 $image->save(); 280 278 break; 281 - case PhabricatorTransactions::TYPE_EDGE: 282 - return; 283 279 } 284 280 } 285 281
-4
src/applications/phortune/editor/PhortuneAccountEditor.php
··· 49 49 case PhortuneAccountTransaction::TYPE_NAME: 50 50 $object->setName($xaction->getNewValue()); 51 51 return; 52 - case PhabricatorTransactions::TYPE_EDGE: 53 - return; 54 52 } 55 53 return parent::applyCustomInternalTransaction($object, $xaction); 56 54 } ··· 60 58 PhabricatorApplicationTransaction $xaction) { 61 59 switch ($xaction->getTransactionType()) { 62 60 case PhortuneAccountTransaction::TYPE_NAME: 63 - return; 64 - case PhabricatorTransactions::TYPE_EDGE: 65 61 return; 66 62 } 67 63 return parent::applyCustomExternalTransaction($object, $xaction);
-2
src/applications/phortune/editor/PhortuneMerchantEditor.php
··· 59 59 case PhortuneMerchantTransaction::TYPE_DESCRIPTION: 60 60 $object->setDescription($xaction->getNewValue()); 61 61 return; 62 - case PhabricatorTransactions::TYPE_EDGE: 63 62 case PhabricatorTransactions::TYPE_VIEW_POLICY: 64 63 return; 65 64 } ··· 74 73 switch ($xaction->getTransactionType()) { 75 74 case PhortuneMerchantTransaction::TYPE_NAME: 76 75 case PhortuneMerchantTransaction::TYPE_DESCRIPTION: 77 - case PhabricatorTransactions::TYPE_EDGE: 78 76 case PhabricatorTransactions::TYPE_VIEW_POLICY: 79 77 return; 80 78 }
-2
src/applications/ponder/editor/PonderQuestionEditor.php
··· 145 145 146 146 $object->setAnswerCount($count); 147 147 break; 148 - case PhabricatorTransactions::TYPE_EDGE: 149 - return; 150 148 } 151 149 } 152 150
+15 -2
src/applications/project/editor/PhabricatorProjectTransactionEditor.php
··· 103 103 $object->setIsMembershipLocked($xaction->getNewValue()); 104 104 return; 105 105 case PhabricatorTransactions::TYPE_SUBSCRIBERS: 106 - case PhabricatorTransactions::TYPE_EDGE: 107 106 return; 108 107 case PhabricatorTransactions::TYPE_VIEW_POLICY: 109 108 $object->setViewPolicy($xaction->getNewValue()); ··· 170 169 case PhabricatorProjectTransaction::TYPE_COLOR: 171 170 case PhabricatorProjectTransaction::TYPE_LOCKED: 172 171 return; 172 + } 173 + 174 + return parent::applyCustomExternalTransaction($object, $xaction); 175 + } 176 + 177 + protected function applyBuiltinExternalTransaction( 178 + PhabricatorLiskDAO $object, 179 + PhabricatorApplicationTransaction $xaction) { 180 + 181 + $old = $xaction->getOldValue(); 182 + $new = $xaction->getNewValue(); 183 + 184 + switch ($xaction->getTransactionType()) { 185 + 173 186 case PhabricatorTransactions::TYPE_EDGE: 174 187 $edge_type = $xaction->getMetadataValue('edge:type'); 175 188 switch ($edge_type) { ··· 225 238 return; 226 239 } 227 240 228 - return parent::applyCustomExternalTransaction($object, $xaction); 241 + return parent::applyBuiltinExternalTransaction($object, $xaction); 229 242 } 230 243 231 244 protected function validateTransaction(
-2
src/applications/slowvote/editor/PhabricatorSlowvoteEditor.php
··· 102 102 case PhabricatorSlowvoteTransaction::TYPE_CLOSE: 103 103 $object->setIsClosed((int)$xaction->getNewValue()); 104 104 break; 105 - case PhabricatorTransactions::TYPE_EDGE: 106 - return; 107 105 } 108 106 } 109 107
+2 -1
src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php
··· 402 402 $field = $this->getCustomFieldForTransaction($object, $xaction); 403 403 return $field->applyApplicationTransactionInternalEffects($xaction); 404 404 case PhabricatorTransactions::TYPE_INLINESTATE: 405 + case PhabricatorTransactions::TYPE_EDGE: 405 406 return $this->applyBuiltinInternalTransaction($object, $xaction); 406 407 } 407 408 ··· 493 494 } 494 495 495 496 $editor->save(); 496 - break; 497 + return $this->applyBuiltinExternalTransaction($object, $xaction); 497 498 case PhabricatorTransactions::TYPE_CUSTOMFIELD: 498 499 $field = $this->getCustomFieldForTransaction($object, $xaction); 499 500 return $field->applyApplicationTransactionExternalEffects($xaction);