Skip to content
  • epriestley's avatar
    Use extended policies in Differential diffs · 65c1c758
    epriestley authored
    Summary:
    Fixes T9648. Diffs currently use `return $this->getRevision()->getViewPolicy();` to inherit their revision's view policy.
    
    After the introduction of object policies, this is wrong for policies like "Subscribers", because it means "Subscribers to this object, the diff". Since Diffs have no subscribers, this always fails.
    
    Instead, use extended policies so that the object policy evaluates in the context of the correct object (the revision).
    
    Test Plan:
      - Create a revision.
      - Subscribe `alice` to it.
      - Set view policy to "Subscribers".
      - View revision as `alice`.
      - Before patch: nonsense fatal about missing diff because of policy error.
      - After patch: `alice` can see the revision.
    
    Reviewers: chad
    
    Reviewed By: chad
    
    Maniphest Tasks: T9648
    
    Differential Revision: https://secure.phabricator.com/D17123
    65c1c758