Page MenuHomePhabricator

Make the default behavior of getApplicationTransactionCommentObject() "return null" instead of "throw"
ClosedPublic

Authored by epriestley on Feb 7 2019, 3:43 AM.
Tags
None
Referenced Files
F13164644: D20121.id48036.diff
Tue, May 7, 3:49 AM
Unknown Object (File)
Sat, May 4, 8:35 PM
Unknown Object (File)
Sat, May 4, 6:21 PM
Unknown Object (File)
Wed, Apr 24, 10:38 PM
Unknown Object (File)
Wed, Apr 24, 3:06 PM
Unknown Object (File)
Thu, Apr 11, 7:36 AM
Unknown Object (File)
Apr 6 2024, 1:22 AM
Unknown Object (File)
Apr 5 2024, 12:44 PM
Subscribers

Details

Summary

Depends on D20115. See https://discourse.phabricator-community.org/t/transaction-search-endpoint-does-not-work-on-differential-diffs/2369/.

Currently, getApplicationTransactionCommentObject() throws by default. Subclasses must override it to return null to indicate that they don't support comments.

This is silly, and leads to a bunch of code that does a try / catch around it, and at least some code (here, transaction.search) which doesn't try / catch and gets the wrong behavior as a result.

Just make it return null by default, meaning "no support for comments". Then remove the try / catch stuff and all the return null implementations.

Test Plan
  • Grepped for getApplicationTransactionCommentObject(), fixed each callsite / definition.
  • Called transaction.search on a diff with transactions (i.e., not a sourced-from-commit diff).

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

src/applications/transactions/storage/PhabricatorApplicationTransaction.php
79

This is the culprit responsible for this mess.

This revision is now accepted and ready to land.Feb 7 2019, 8:47 PM
This revision was automatically updated to reflect the committed changes.