Hey,

Ext.plugin.PullRefresh is broken in ST 2.3.1

Tested with JSONP Proxy...


If you pull to refresh the list, the old record is already equal to the new record (new record was modified before). It seems like the old record is updated before the check is done... so the list will never receive an update..



Code:



/**
* @private
* Called after fetchLatest has finished grabbing data. Matches any returned records against what is already in the
* Store. If there is an overlap, updates the existing records with the new data and inserts the new items at the
* front of the Store. If there is no overlap, insert the new records anyway and record that there's a break in the
* timeline between the new and the old records.
*/
onLatestFetched: function(operation) {
var store = this.getList().getStore(),
oldRecords = store.getData(),
newRecords = operation.getRecords(),
length = newRecords.length,
toInsert = [],
newRecord, oldRecord, i;


for (i = 0; i < length; i++) {
newRecord = newRecords[i];
oldRecord = oldRecords.getByKey(newRecord.getId());


if (oldRecord) {
oldRecord.set(newRecord.getData());
} else {
toInsert.push(newRecord);
}


oldRecord = undefined;
}


store.insert(0, toInsert);
this.setState("loaded");
this.fireEvent('latestfetched', this, toInsert);
if (this.getAutoSnapBack()) {
this.snapBack();
}
},