-
Grisha Kruglov authored
This patch simplifies how the history tracking delegate is set, and removes unnecessary complexity around the history tracking feature. It's important to set the delegate before the first engine session instance is created. There are multiple points in time when that might happen: - if we have a SessionSnapshot, we'll restore early on and create bunch of engine sessions - we'll may create a 'default' engine session via one of the multiple use cases which use SessionManager - we may create an engine session at any other point in time, as soon as we have an engine instance, by manually invoking 'createSession' method. In short, applications aren't constrained in how they create sessions, and various components may create sessions at different points in time, depending on their lifecycles, how things are configured to behave, etc. If we want to guarantee that our engine sessions always have a history tracking delegate instance set, simply setting it on the 'defaultSettings' object guarantees that in the most straightforward way. This also makes problems around lazy initialization of HistoryTrackingFeature irrelevant, since that feature is now gone. This patch removes the feature-storage, since the only thing it contained was a delegate implementation.
8643e3e5