Description
This can happen with any object, we have just happened to notice it with the Html fragment one, which has a builtin component.
When type A uses type B, and type B uses type C
- We request type A with dependencies, which brings B
- When we request type B with dependencies, because B is already fetched, we don't get C
- When we build an object with C, we don't know its keys, so we build it blank.
This can happen, as demonstrated in the fact that Denny could build this using the UI:
Notice this has empty HTML objects such as:
{ "Z1K1": "Z89" }Which indicates that they were created when Z89 had not been fetched
Things we can do
- prefetch Z89: only helps with Z89
- setValue contemplating that Z89K1 can be missing: only helps with Z89
- wait for fetchZids to come in the factory object creation: this shouldn't mean a lot of extra wait, as most of things would have been prefetched already, but at least we wouldn't miss in such cases.
Completion checklist
- Before closing this task, review one by one the checklist available here: https://www.mediawiki.org/wiki/Abstract_Wikipedia_team/Definition_of_Done#Front-end_Task/Bug_Completion_Checklist