Avoid PhabricatorApplicationTransactionStructureException on editors not supporting Mute Notifications master
Summary: Do not expose the "Mute Notifications" sidebar menu entry when the underlying Editor for that object type does not support muting notifications (means: creating a transaction of type "core:edge") at all. This avoids a disappointing `PhabricatorApplicationTransactionStructureException` after two clicks. Disabling the menu entry while still exposing it makes no sense here as the user could never get it enabled anyway. ``` EXCEPTION: (PhabricatorApplicationTransactionStructureException) Attempting to apply a transaction (of class "PhabricatorFileTransaction", with type "core:edge") which has not been constructed correctly: Transaction has type "core:edge", but that transaction type is not supported by this editor (PhabricatorFileEditor). at [<phorge>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:1830] ``` ``` EXCEPTION: (PhabricatorApplicationTransactionStructureException) Attempting to apply a transaction (of class "LegalpadTransaction", with type "core:edge") which has not been constructed correctly: Transaction has type "core:edge", but that transaction type is not supported by this editor (LegalpadDocumentEditor). at [<phorge>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:1830] ``` Closes T15378 Test Plan: * Open various different object types: ** Files: http://phorge.localhost/F1 (not implemented) ** Legalpad: http://phorge.localhost/legalpad/view/1/ (not implemented) ** Maniphest: http://phorge.localhost/T1 (implemented) * Click "Subscribe" on these various types of objects. * Click "Mute Notifications" on these various types of objects, remember which objects throw an exception. * Apply this patch. * Check that "Mute Notifications" is not exposed for those types of objects that threw an exception. Reviewers: O1 Blessed Committers, valerio.bozzolan Reviewed By: O1 Blessed Committers, valerio.bozzolan Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno Maniphest Tasks: T15378 Differential Revision: https://we.phorge.it/D25730