Repro steps:
- Create a custom rule such as P1129 - The rule must call $this->getEngine()->storeText [Or something similar that interacts with its engine's storage]
- Create a maniphest task such that the description triggers the custom rule
- Visit the maniphest when the maniphest is not within the cache [I was testing by modifying https://secure.phabricator.com/diffusion/P/browse/stable/src/infrastructure/markup/PhabricatorMarkupEngine.php;864d3984ebdb42b9a2670103ca3607342e46b7dc$246 to read if (false)]
Expected:
Maniphest is processed and displayed appropriatly
Actual:
The engine used by the custom rule is not the same as the engine within the block calling applyRules, as a result the custom rule is referencing an Engine that has no storage, and causes the following error to occur
>>> UNRECOVERABLE FATAL ERROR <<< Call to a member function store() on a non-object /Users/quazie/code/phab/libphutil/src/markup/engine/PhutilRemarkupEngine.php:84 ┻━┻ ︵ ¯\_(ツ)_/¯ ︵ ┻━┻