Thank you for reporting this bug. We will make it our priority to review this report.
Store findById uses old dataset after second load()
TLDR: findById() does not work after different dataset is loaded into store.
Given the following situation:
(1) Create a datastore and set an arbitrary filter upon instatiation
(2) load() a dataset through a json-proxy
(3) retrieve arbitrary record via store.findById() -> returns the correct record
(4) change the url-parameters of the corresponding proxy to fetch a slightly different dataset
(5) load() the "different" dataset
(6) store.findById() does not return the correct record in the new dataset. Instead, it returns the corresponding record from the previous dataset.
I investigated the issue and found that store.findById() works on either the actual dataset or a snapshot (this.data vs. this.snapshot in the source). The second load() command (see 5) probably does not correctly reset the snapshot of data.