Fix unsubscribing from projects in a gross, hacky way
Summary:
Fixes T5261.
This fix isn't very good. Two better fixes would be:
- Add some sort of setRole(SUBSCRIPTIONS) method to ObjectQuery, which gets passed down until it reaches ProjectQuery, and ProjectQuery knows that it needs to load more data. This feels OK, but is a very general approach and I don't think we have many/any other use cases right now. I think this is the right way in the long run, but I'd like to have more use cases in mind before implementing it.
- Add some sort of loadAllTheSubscriptionStuffYouNeed() method to PhabricatorSubscribableInterface. This feels OK-ish too, but kind of yuck, and doesn't lend itself to proper batching, and is silly if we do the above instead, which I think we probably will.
For now, just fix the issue without committing to an infrastructure direction. I think (1) is the right way to go eventually, but I want a better second use case before writing it, since I might be crazy.
Test Plan: Unsubscribed from a project.
Reviewers: joshuaspence
Reviewed By: joshuaspence
Subscribers: epriestley
Maniphest Tasks: T5261
Differential Revision: https://secure.phabricator.com/D9377