1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-01-22 12:41:19 +01:00
phorge-phorge/src/applications/phame
epriestley 248d79f36d Fix "Actions" button on Phame standalone/live pages (bonus: JX.sprintf())
Summary:
See <https://discourse.phabricator-community.org/t/non-functional-actions-menu-on-live-phame-views/2593>. Several layers here:

The "Actions" button is broken because a menu behavior is failing, since we aren't rendering the menu.

When a behavior fails to initialize, catch and log the exception and continue. Previously, we stopped initializing behaviors if any failed, but behaviors are usually independent and continuing with an explicit exception seems reasonable.

Give "JX.log()" some "sprintf()" semantics to make logging the behavior failure easier. We can probably afford these extra 200 bytes now in 2019.

This fixes the button and gives us explicit errors in the log. So far, so good.

Then, when a page won't render chrome, don't try to render the main menu. This fixes the actual errors (we no longer try to initialize menu behaviors for nodes which don't exist).

Completely hide the "Actions" and "Comment" flows if the viewer isn't logged in. Although this isn't completely consistent with other applications, I think it's more appropriate for Phame. In applications like Maniphest, we show a full set of controls (but disable them) so that users who are not currently logged in have a clear path to interact with the content, under the assumption that this is a relatively common workflow. This is probably less common for Phame, where we expect most anonymous viewers not to log in or interact.

Finally, parametrize a one-off border color and add a border under the crumbs at the top of the page.

Test Plan:
  - Viewed a "Live" Phame blog post page, clicked "Actions", got a dropdown.

Reviewers: amckinley

Reviewed By: amckinley

Differential Revision: https://secure.phabricator.com/D20378
2019-04-04 06:10:14 -07:00
..
application Revert the alternate menu names for applications 2018-04-08 10:20:24 -07:00
capability Add Can Create Policy Capability to Phame Blogs 2015-11-08 07:00:18 -08:00
conduit Provide phame.post.edit Conduit API method 2015-12-28 06:55:35 -08:00
constants Ability to archive Phame Posts 2016-06-13 10:47:53 -07:00
controller Fix "Actions" button on Phame standalone/live pages (bonus: JX.sprintf()) 2019-04-04 06:10:14 -07:00
editor Allow "Change Subtype" to be selected from the comment action stack 2018-11-28 13:40:40 -08:00
herald Define available Herald rule repetition options in terms of "isSingleEventAdapter()" 2018-01-26 11:02:35 -08:00
mail Allow multiple mail receivers to react to an individual email 2019-01-16 12:28:02 -08:00
phid Use CommentEditEngine in PhamePost 2016-07-06 12:28:59 -07:00
query Convert simple query subclasses to use internal cursors 2019-03-19 13:00:27 -07:00
remarkup Use CommentEditEngine in PhamePost 2016-07-06 12:28:59 -07:00
search Support Ferret engine in Phame 2017-09-07 13:24:07 -07:00
site Allow custom Sites to have custom 404 controllers 2016-11-30 15:25:09 -08:00
storage Make the default behavior of getApplicationTransactionCommentObject() "return null" instead of "throw" 2019-02-07 14:56:38 -08:00
typeahead Improve PhamePost search options 2016-06-30 12:56:28 -07:00
view Improve some Phame custom domain remarkup and link behaviors 2016-06-02 06:28:06 -07:00
xaction Fix fatal on logged out Phame Post 2017-08-25 08:47:59 -07:00