why should you want a loading screen? normally you might show your state instantly, but it might not be efficient to replay the previous states visible to the user, or you might want to block interaction with the webxdc until all previous states are replayed
see also caching with localstorage (needs also an tutorial page), though that does not help with first open (when others already created many updates or when opening for the first time on a different device as localstorage is not synced.)
using that setUpdateListener returns a promise: https://github.com/deltachat/deltachat-core-rust/issues/3203
maybe structured like that: