Description of problem: Rather than having each ibus engine update in a dnf transaction running ibus write-cache --system twice (%post and %postun) or once separately in %posttrans, it would be better to do it centrally from ibus.spec using a file trigger on "/usr/share/ibus/component". I think you tested it locally once and I believe it should work well enough.
Integrated the change in ibus core.