[x] We were using infinity replay subjects so when coming back to a scene data layers emitted all their previous emitted results
[x] Ignore replayed data layer results that has already been processed (this happens when a data provider get's re-activated, we subscribe the the SceneDataLayerSet this causes the ReplaySubject to emit last data, even if that has already been incorporating into the current state). Created a new DataLayersMerger that can detect when a result has already been seen.
[x] In SceneQueryRunner ignore updating state when data layers are received if there are no annotations (And the previous result also had no annotations)
📦 Published PR as canary version: 4.22.0--canary.724.9079775010.0
:sparkles: Test out this PR locally via:
```bash
npm install @grafana/scenes@4.22.0--canary.724.9079775010.0
# or
yarn add @grafana/scenes@4.22.0--canary.724.9079775010.0
```
Various performance fixes
📦 Published PR as canary version:
4.22.0--canary.724.9079775010.0
:sparkles: Test out this PR locally via: ```bash npm install @grafana/scenes@4.22.0--canary.724.9079775010.0 # or yarn add @grafana/scenes@4.22.0--canary.724.9079775010.0 ```