Page MenuHomePhabricator

When computing the "Subscribers" policy, use materialized membership
ClosedPublic

Authored by epriestley on Mar 13 2018, 3:27 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 25, 1:55 AM
Unknown Object (File)
Thu, Apr 18, 8:09 AM
Unknown Object (File)
Wed, Apr 17, 1:39 PM
Unknown Object (File)
Sun, Apr 14, 2:28 PM
Unknown Object (File)
Thu, Apr 11, 8:20 PM
Unknown Object (File)
Thu, Apr 11, 7:41 PM
Unknown Object (File)
Thu, Apr 11, 9:34 AM
Unknown Object (File)
Tue, Apr 2, 2:24 AM
Subscribers
None

Details

Summary

Fixes T13104. The "Subscribers" policy implementation still uses older logic to query project membership and misses parent projects and milestones which a user is a member of.

Instead of doing an edge query for explicit membership, use a project query to find all projects the viewer belongs to.

Test Plan
  • Created a parent project A.
  • Created a subproject B.
  • As Bailey, created a task with "Visible To: Bailey, Subscribers".
  • Added parent project A as a task subscriber.

Then:

  • As Alice, verified I could not see the task.
  • As Alice, joined subproject B.
    • Before patch: still unable to see the task.
    • After patch: can see the task.
  • Removed parent project A as a subscriber, verified I could no longer see the task.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision was not accepted when it landed; it landed in state Needs Review.Mar 13 2018, 3:28 PM
epriestley requested review of this revision.
This revision was automatically updated to reflect the committed changes.