Preface
Actually the cute Phabricator's Countdown application has a "Can Use Application " who decides both:
- who can see Countdowns
- who can create a Countdown
Now, the bad news (and this could cause some heart attack so please, those who are sensitive, leave this page before reading the next sentence):
Actually, only a small circle of evil people called Trusted-Contributors can see cute Countdowns.
Why? Because to protect us from spam we have this setup:
- Can see application (and create Countdowns as well): Trusted-Contributors
While this should be our preferred common sense use case:
- Can see application: public
- Can create Countdowns: Trusted-Contributors
Proposal
Following the Phabricator's Diffusion application policies that has a cute "Can Create Repositories" policy, it would be nice to introduce a new policy capability called "Can create Countdowns" to literally decide who can create a Countdown and restrict only that, instead of restricting who can see them as well.
In short, somewhere in the code we should add a:
$can_create = $this->hasApplicationCapability( PhabricatorCountdownCapabilityCreate::CAPABILITY );
Or something like that, creating the related class in phabricator/src/applications/countdown/capability/.