This is in follow up to #60168 #60202 - tldr; ui_actions allows triggers and actions to be registered from different plugins to ui_actions but this creates a dependency not expressed through the plugin contracts. Tests became flakey due to indeterminate plugin loading order.
Proposal:
Instead of registering triggers and actions in a central registry, triggers would be created and made available via plugin contracts.
ui_actions service
| Before |
After |
| registerTrigger |
new Trigger() |
| getTrigger |
n/a |
| registerAction |
trigger.registerAction |
| getAction |
trigger.getAction |
| attachAction |
n/a |
| detachAction |
trigger.detachAction |
| getTriggerActions |
trigger.getActions |
| getTriggerCompatibleActions |
getCompatibleActions |
| fork |
UNSURE |
Part of #71854
This is in follow up to #60168 #60202 - tldr; ui_actions allows triggers and actions to be registered from different plugins to ui_actions but this creates a dependency not expressed through the plugin contracts. Tests became flakey due to indeterminate plugin loading order.
Proposal:
Instead of registering triggers and actions in a central registry, triggers would be created and made available via plugin contracts.
ui_actions service
Part of #71854