List replace with deferreds does not take into account stale/overtaken deferreds #2136

Closed
rjgotten opened this Issue Dec 14, 2015 · 0 comments

Comments

Projects
None yet
2 participants
@rjgotten

When updating a list through the can.List.prototype.replace method and deferreds, the replace method fails to check whether the settled deferred is not stale, i.e., overtaken by a later replace operation on the same list.

When deferreds settle out-of-order (as is common with server requests and network connections over which the author has no control) this leads to potentially unexpected or invalid application states.

Example

@justinbmeyer justinbmeyer added the bug label Dec 15, 2015

@justinbmeyer justinbmeyer added this to the 2.3.7 milestone Dec 15, 2015

@justinbmeyer justinbmeyer self-assigned this Dec 15, 2015

justinbmeyer added a commit that referenced this issue Dec 15, 2015

@daffl daffl closed this in #2144 Dec 16, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment