Sometimes the list tries to pass a non-item as the item to the underlying template
I've been getting occasional errors with a compute function that relies on the list item. Instead of the item itself, it gets some number. It looks like the problem occurs when new items are spliced.
In the _itemsChanged method, the list receives the following:
change
> Object {path: "items.length", value: 502, base: Array[502]}
It then proceeds to take the 'length' part and its value (502 in this case), pass it to _forwardItemPath, which then sets it as the 'item' of the template instance, since 'length' doesn't contain a dot.
Bower doesn't provide a easy way to 'freeze' versions, so when I checked out my project, it pulled in the 'latest and greatest' polymer 1.4 and iron-list 1.2.8 and I am seeing a host of new and weird data binding issues. Older laptop install is using Polymer 1.2, so it looks like I need to freeze it before anything breaks.
Anyways, I am seeing something like the above as well. iron-list thinks it has an item even when the bound array is empty. So I see a spurious entry when none should exist. This works fine under 1.2
Confirmed, 1.2.7 does not show spurious list entry.