Page MenuHomePhabricator

When Favorites is uninstalled or not visible to the viewer, hide the menu
ClosedPublic

Authored by epriestley on Jan 18 2017, 2:07 PM.
Tags
None
Referenced Files
F16588938: D17219.diff
Tue, Jun 17, 5:16 AM
Unknown Object (File)
Thu, May 29, 8:58 AM
Unknown Object (File)
Tue, May 20, 11:26 PM
Unknown Object (File)
May 7 2025, 5:25 PM
Unknown Object (File)
Apr 25 2025, 4:36 PM
Unknown Object (File)
Apr 23 2025, 3:23 PM
Unknown Object (File)
Apr 21 2025, 6:43 PM
Unknown Object (File)
Apr 21 2025, 7:33 AM
Subscribers
None

Details

Summary

Ref T5867. The executeOne() currently raises a policy exception if the application isn't visible to the viewer, or we fatal if the application has been uninstalled.

Test Plan
  • Viewed pages with the application uninstalled, saw working pages with no favorites menu.
  • Viewed pages with the application restricted, saw working pages with no favorites menu.

Diff Detail

Repository
rP Phabricator
Branch
favorites1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 15305
Build 20144: Run Core Tests
Build 20143: arc lint + arc unit

Event Timeline

As a general note, executeOne() currently forces setRaisePolicyExceptions(true).

We have a handful of cases, like this one, where we basically want to do this:

...
->setRaisePolicyExceptions(false)
->executeOne();

...meaning "just return null if the user can't see the thing, instead of raising a policy exception". We usually do that with execute() + head(), today, as I did here.

At some point, I think we should either make that pattern work, or provide a way to do that which works, like executeOneWithoutPolicyExceptions(). However, making it work might have some weird side effects and I couldn't come up with a very good name for executeOneWithoutPolicyExceptions(), so I'm just punting for now until I hit this again.

This revision is now accepted and ready to land.Jan 18 2017, 3:09 PM
This revision was automatically updated to reflect the committed changes.