In other words, if your proxy is a Memory proxy, then execute the full flow (proxy->reader->store). If not, it will just update the data collection and fire events.

As a solution, since you have multiple sources for the store (localstorage or ajax), I'm thinking you could call reader.readRecords(data); to pass your data through the filters and get back a recordset. It needs testing, but the reason it's not working currently is the one explained above.

Thanks @mediahack. We found a bug WebStorage class (parent of LocalStorage) is overriding updateModel and not calling the parent. As a result, the model doesn't propagate to the reader, and this getIdProperty of undefined occurs.

Try this patch. You can add on a separate file and require on your app.js, or just append to the top of the file temporarily.