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
Unknown Object (File)
Feb 14 2024, 5:46 PM
Unknown Object (File)
Feb 12 2024, 10:47 AM
Unknown Object (File)
Jan 7 2024, 7:43 PM
Unknown Object (File)
Dec 21 2023, 6:34 AM
Unknown Object (File)
Nov 30 2023, 4:51 AM
Unknown Object (File)
Nov 21 2023, 4:24 PM
Unknown Object (File)
Nov 18 2023, 5:13 PM
Unknown Object (File)
Nov 17 2023, 6:40 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.