[Expressions] expressions setup/start contract leak wrong functions #106509
Labels
bug
Fixes for quality problems that affect the customer experience
Feature:ExpressionLanguage
Interpreter expression language (aka canvas pipeline)
impact:high
Addressing this issue will have a high level of impact on the quality/strength of our product.
loe:medium
Medium Level of Effort
technical debt
Improvement of the software architecture and operational architecture
expressions setup and start contract expose functions they shouldn't:
run
which should only be available instart
when all the plugins had a chance to register their functionsfork
which should only be available insetup
so function registration can happen in timeon top of that forked expression service exposes all the methods at all times (so
addFunction
,addType
etc can be called in start or after andrun
andexecute
can be called in setup) this should be cleaned up sofork
is only available in setup, it returns setup contract of fork and a function to call to get start contract of fork, which should have a guard against using it before start.we should also add guards in
addFunction
andaddType
methods to prevent them from being called after setup (even if consumer ignores the types)note: some consumers of expressions are already registering functions at wrong times, we should investigate if that can be easily changed.
The text was updated successfully, but these errors were encountered: