Open
Description
Summary
The init
method of BrowserClient
is async. While the initialisation is ongoing, the application can already track events. These events will then not be processed by plugins.
With the dispatchQ
in the CoreClient
there is already a mechanism to buffer events. However tracked events are only put on the queue while CoreClient
is initialising (isReady === false
). The queue however is processed when the BrowserClient
is done initialising.
Motivations
In our tracking setup we have the issue that events are tracked before the BrowserClient
is fully initialised. We rely on a custom plugin to run first to ensure user properties are populated.