Description
The LifecycleWatcher usually takes care of starting / restarting and ending sessions.
But due to #2241 we also directly start a new session when the SDK is initialized, in order to have a session we can mark as crashed in the case of an early app start crash.
So usually the following happens:
- the SDK is initialized and SentryAndroid.init starts the session
- Later LifecycleWatcher receives the system callback, but no-ops because the session is already running.
Due to the "async" / deferred way RN initializes the SDK, 1. and 2. are swapped: First LifecycleWatcher immediately receives a system callback and starts the session and then the SDK init starts a second one.
Description
The LifecycleWatcher usually takes care of starting / restarting and ending sessions.
But due to #2241 we also directly start a new session when the SDK is initialized, in order to have a session we can mark as crashed in the case of an early app start crash.
So usually the following happens:
Due to the "async" / deferred way RN initializes the SDK, 1. and 2. are swapped: First
LifecycleWatcherimmediately receives a system callback and starts the session and then the SDK init starts a second one.