HomePhabricator

When users resign from revisions, stop expanding projects/packages to include…

Description

When users resign from revisions, stop expanding projects/packages to include them

Summary:
Depends on D19019. Ref T13053. Fixes T12689. See PHI178.

Currently, if @alice resigns from a revision but #alice-fan-club is still a subscriber or reviewer, she'll continue to get mail. This is undesirable.

When users are associated with an object but have explicitly disengaged in an individal role (currently, only resign in audit/differential) mark them "unexpandable", so that they can no longer be included through implicit membership in a group (a project or package).

@alice can still get mail if she's a explicit recipient: as an author, owner, or if she adds herself back as a subscriber.

Test Plan:

  • Added @ducker and #users-named-ducker as reviewers. Ducker got mail.
  • Resigned as ducker, stopped getting future mail.
  • Subscribed explicitly, got mail again.
  • (Plus some var_dump() sanity checking in the internals.)

Reviewers: amckinley

Maniphest Tasks: T13053, T12689

Differential Revision: https://secure.phabricator.com/D19021