HomePhabricator

Fix unsubscribing from projects in a gross, hacky way

Description

Fix unsubscribing from projects in a gross, hacky way

Summary:
Fixes T5261.

This fix isn't very good. Two better fixes would be:

  1. 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.
  2. 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

Event Timeline