Homestyx hydra
Diffusion hydra e2919211f3c2

Avoid PhabricatorApplicationTransactionStructureException on editors not…

Description

Avoid PhabricatorApplicationTransactionStructureException on editors not supporting Mute Notifications

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:
  • 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

Details

Provenance
Andre KlapperAuthored on Jul 11 2024, 6:07 AM
sirocylPushed on Oct 16 2024, 5:49 AM
Parents
R1:8793bdbaa87c: Disallow awarding a badge without selecting recipient
Branches
Unknown
Tags
Unknown

Event Timeline