Page MenuHomePhabricator

Make Maniphest project edits more transaction-oriented
ClosedPublic

Authored by epriestley on Jul 5 2014, 8:09 PM.
Tags
None
Referenced Files
F19065419: D9833.diff
Sun, Nov 30, 1:26 AM
F19064188: D9833.id23924.diff
Sat, Nov 29, 8:19 PM
F19060035: D9833.id.diff
Sat, Nov 29, 7:41 AM
F19057349: D9833.diff
Fri, Nov 28, 10:16 PM
F18938494: D9833.diff
Tue, Nov 11, 3:51 AM
F18844888: D9833.id.diff
Oct 29 2025, 8:03 AM
F18843464: D9833.diff
Oct 28 2025, 10:31 PM
F18765252: D9833.diff
Oct 7 2025, 10:26 AM
Subscribers

Details

Summary

Ref T5245. Currently, task/project links rely on side effects in save(). Make them more transaction-oriented, with the goal of moving fully to edges a few diffs down the line.

Test Plan
  • Added and removed projects using "Edit Task", "Associate Projects" comment action, and Herald.
  • Verified database ended up in the expected state.

Diff Detail

Repository
rP Phabricator
Branch
projedge1
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 1556
Build 1556: [Placeholder Plan] Wait for 30 Seconds

Event Timeline

epriestley retitled this revision from to Make Maniphest project edits more transaction-oriented.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added reviewers: joshuaspence, chad, btrahan.
joshuaspence edited edge metadata.

I'm not very familiar with this code, but from what I can tell this diff is definitely an improvement.

This revision is now accepted and ready to land.Jul 5 2014, 10:25 PM

(This sequence of diffs ended up going deep into the dark corners of the edge stuff, so feel free to bail out if things get too murky -- none of this is urgent, and we can wait for @btrahan to get back from paternity leave.)

Yeah I noticed. The edge stuff isnt so bad and I think I have a reasonable understanding. I'm not confident with the old code (pre-edges) I'll take a closer look tomorrow.

At the same time, based on the calendar it appears that @btrahan is due back shortly... so if you don't trust my reviewing capabilities (no offence taken), feel free to wait a little longer. I'm taking a look through the diffs now.

This may be addressed in another diff, but is the intention to eventually remove/deprecate the ManiphestTaskProject class? It seems that this class does what will be done with edges.

Just looking over this again as a sanity check... still looks good to me. One minor inline.

src/applications/maniphest/editor/ManiphestTransactionEditor.php
419–421

It might be cleaner to just move this into the above if statement now.

Yeah, the class is removed in D9852 and there will be a diff at the end of this to drop the table.

epriestley edited edge metadata.
  • Clean up the $save_again logic.

Just curious, is this stuff going to land anytime soon?

epriestley updated this revision to Diff 23924.

Closed by commit rP7deec8208ff9 (authored by @epriestley).