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
F14407572: D20121.diff
Tue, Dec 24, 3:16 AM
Unknown Object (File)
Sat, Dec 14, 2:58 AM
Unknown Object (File)
Sun, Dec 8, 9:35 AM
Unknown Object (File)
Wed, Dec 4, 4:48 PM
Unknown Object (File)
Sat, Nov 30, 7:22 PM
Unknown Object (File)
Wed, Nov 27, 12:36 AM
Unknown Object (File)
Nov 17 2024, 1:39 PM
Unknown Object (File)
Nov 3 2024, 12: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
Branch
hook4
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 21876
Build 29861: Run Core Tests
Build 29860: arc lint + arc unit

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.