Page MenuHomePhabricator

Editing Calendar forms can fail to build "newEditEngineSubtypeMap()" during transaction validation
Closed, ResolvedPublic

Description

See https://discourse.phabricator-community.org/t/editing-calendar-forms-causes-a-unable-to-resolve-method-neweditenginesubtypemap/3056.

PhabricatorEditEngineSubtypeTransaction->validateTransactions() is called on any EditEngine configuration (which is normal), but does not properly test if the engine supportsSubtypes() before it builds a newSubtypeMap(). This throws.

The validation logic should fail explicitly, and should only fail if the caller is actually trying to assign a subtype to an object which does not support subtypes.