All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Changes that have landed but are not yet released.
- Promise returned from
stopmethod ofEventProcessornow tracks the state of all in-flight dispatcher requests, not just the final request that was triggered at the timestopwas called
- Fixed a runtime error when accessing localstorage in
PendingEventsStorewhen SDK is used in a React Native application. Pending events will still not be stored when SDK is used in React Native but no error will be thrown anymore.
DefaultEventQueueno longer enqueues additional events after being stopped. As a result,AbstractEventProcessorno longer processes events after being stopped.DefaultEventQueueclears its buffer after being stopped. Event duplication, which was previously possible when additional events were enqueued after the stop, is no longer possible.
- In
AbstractEventProcessor, validatemaxQueueSizeandflushInterval; ignore & use default values when invalid AbstractEventProcessorcan be constructed with anotificationCenter. WhennotificationCenteris provided, it triggers a log event notification after the event is sent to the event dispatcher
- Removed transformers, interceptors, and callbacks from
AbstractEventProcessor - Removed grouping events by context and dispatching one event per group at flush time. Instead, only maintain one group and flush immediately when an incompatible event is processed.
- Wrap the
callbackintry/catchwhen implementing a customeventDispatcher. This ensures invoking thecallbackwill always cleanup any pending retry tasks.
- Add
PendingEventsDispatcherto wrap another EventDispatcher with retry support for events that did not send successfully due to page navigation
Initial release