amplitude / amplitude/Amplitude-TypeScript

Delay events until `BrowserClient` is initialised

Ouverte
#1,043 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
TypeScript
Étoiles
180
Forks
68
Merge moyen
3 j 1 h
PR mergées (30 j)
29

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](https://github.com/amplitude/Amplitude-TypeScript/blob/f0e35ac0700f90c38672c2bfa1c239d50c7181e2/packages/analytics-browser/src/browser-client.ts#L160) 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.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.