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)
Sat, Feb 1, 9:19 PM
Unknown Object (File)
Tue, Jan 28, 8:17 PM
Unknown Object (File)
Mon, Jan 27, 5:39 PM
Unknown Object (File)
Mon, Jan 27, 7:08 AM
Unknown Object (File)
Mon, Jan 27, 3:04 AM
Unknown Object (File)
Mon, Jan 27, 2:06 AM
Unknown Object (File)
Sat, Jan 25, 12:42 AM
Unknown Object (File)
Sat, Jan 25, 12:42 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
Branch
proj1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 19827
Build 26864: Run Core Tests
Build 26863: arc lint + arc unit

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.