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
Unknown Object (File)
Sat, Dec 14, 5:22 AM
Unknown Object (File)
Fri, Dec 13, 10:24 PM
Unknown Object (File)
Sat, Nov 23, 2:08 AM
Unknown Object (File)
Nov 11 2024, 6:16 AM
Unknown Object (File)
Oct 23 2024, 7:09 PM
Unknown Object (File)
Oct 17 2024, 5:26 AM
Unknown Object (File)
Oct 10 2024, 10:36 PM
Unknown Object (File)
Sep 15 2024, 6:04 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.